/* Shared mobile polish, loaded after the storefront styles. */
main :where(a,button,input,select,textarea,summary):focus-visible {
  outline:2px solid #c95113;
  outline-offset:3px;
}
.content-prose { line-height:1.85; overflow-wrap:break-word; }
.content-prose p { max-width:75ch; }
.cd-story p,.pa-detail-heading p { overflow-wrap:break-word; }
.pa-home-mobile-controls { display:none; }
.pa-home-showcase .pa-heading { align-items:center; }
.pa-home-showcase .pa-heading>div>small,.pa-home-showcase .pa-heading p,.pa-home-showcase .pa-showcase-actions { display:none; }
.pa-home-showcase .pa-heading h2 { margin:0; color:#111; font-size:clamp(25px,2.5vw,31px); text-transform:uppercase; }
.pa-home-project-tabs { display:flex; width:min(430px,42%); border-bottom:1px solid #777; }
.pa-home-project-tabs button { flex:1; min-width:0; min-height:42px; padding:8px 6px; border:0; border-bottom:3px solid transparent; margin-bottom:-1px; background:transparent; color:#222; font-size:13px; font-weight:500; white-space:nowrap; }
.pa-home-project-tabs button[aria-pressed="true"] { border-bottom-color:#171717; }
.pa-home-showcase .pa-project-viewport { width:min(1240px,calc(100% - 48px)); max-width:none; margin-inline:auto; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:none; }
.pa-home-showcase .pa-project-viewport::-webkit-scrollbar { display:none; }
.pa-home-showcase .pa-project-track { display:flex; width:100%; gap:12px; align-items:stretch; }
.pa-home-showcase .pa-project-track>.pa-card { position:relative; flex:0 0 calc((100% - 24px)/3); min-width:0; overflow:hidden; border:0; border-radius:0; background:var(--color-surface); box-shadow:none; scroll-snap-align:start; transform:none; animation:none; }
.pa-home-showcase .pa-card::before { content:attr(data-project-number); display:block; padding:17px 16px 12px; color:#f15e00; font-size:36px; font-weight:750; line-height:1; }
.pa-home-showcase .pa-card-copy { padding:4px 16px 8px; }
.pa-home-showcase .pa-card-copy small { display:none; }
.pa-home-showcase .pa-card-copy h2 { display:-webkit-box; overflow:hidden; min-height:0; margin:0 0 6px; font-size:14px; line-height:1.35; text-transform:uppercase; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.pa-home-showcase .pa-card-copy p { display:-webkit-box; overflow:hidden; min-height:34px; margin:0 0 8px; font-size:12px; line-height:1.4; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.pa-home-showcase .pa-card-copy>.pa-link { min-height:36px; margin-top:0; padding-top:8px; border-top:1px solid #dedede; color:#222; font-size:12px; font-weight:500; }
.pa-home-showcase .pa-card-image { width:100%; aspect-ratio:1.48; padding:6px; background:#f1f4f6; }
.b2b-home .b2b-featured-product-grid .b2b-solution-image { padding:6px; background:#f1f4f6; }
.pa-home-showcase .pa-card-image>span { display:none; }
.pa-home-showcase .pa-home-mobile-empty { width:100%; margin:0; padding:48px 18px; background:var(--color-surface); color:#5d7280; text-align:center; }
.pa-home-showcase .pa-home-mobile-controls { display:flex; align-items:center; justify-content:space-between; width:min(1240px,calc(100% - 48px)); min-height:48px; margin:10px auto 0; color:#171717; font-size:12px; font-weight:600; }
.pa-home-showcase .pa-home-mobile-controls>div { display:flex; gap:8px; }
.pa-home-showcase .pa-home-mobile-controls button { display:grid; place-items:center; width:38px; height:36px; border:0; background:var(--color-surface); color:#222; }
.pa-home-showcase .pa-home-mobile-controls button:disabled { opacity:.4; }
@media (max-width:760px) {
  main .shell,main .cd-container,main .pa-container { width:calc(100% - 36px); }
  main :where(h1,h2,h3) { overflow-wrap:break-word; text-wrap:pretty; }
  main :where(input:not([type=checkbox]):not([type=radio]),select,textarea) { font-size:16px; max-width:100%; }
  main :where(.btn,.text-link,.inline-link,.pa-link,.ar-about-button) { min-height:44px; }
  .breadcrumb { font-size:12px; line-height:1.7; gap:8px; padding-block:12px; }
  .page-hero { padding-block:32px; }
  .page-hero h1,.contact-page-intro h1,.account-heading h1 { font-size:30px; line-height:1.3; }
  .content-section { padding-block:36px 48px; }
  .content-lead { gap:16px; margin-bottom:28px; }
  .content-lead h1 { font-size:30px; line-height:1.3; }
  .content-lead p,.article-summary { font-size:16px; line-height:1.8; }
  .content-grid.three { gap:24px; }
  .content-card { min-width:0; border-radius:10px; overflow:hidden; }
  .content-card h2,.content-card h3 { font-size:20px; line-height:1.5; }
  .content-card p,.content-prose { font-size:15px; line-height:1.85; }
  .content-prose h2 { font-size:24px; line-height:1.4; margin-block:28px 14px; }
  .content-prose h3 { font-size:20px; line-height:1.5; }
  .article-hero-image { height:auto; border-radius:10px; }

  .catalog .catalog-toolbar { gap:12px; }
  .catalog .catalog-search,.catalog .catalog-sort { min-height:46px; border-radius:8px; }
  .catalog.catalog-redesign .catalog-gallery-card .product-card-image { border-radius:10px; }
  .catalog.catalog-redesign .catalog-gallery-card h3 { line-height:1.6; }
  .catalog .catalog-mobile-categories a,.catalog .catalog-mobile-categories button { min-height:44px; flex-shrink:0; }
  .cd-intro { gap:20px; padding-bottom:32px; }
  .cd-gallery,.cd-intro-info,.cd-story { min-width:0; border-radius:10px; }
  .cd-intro-info { padding:22px 18px; }
  .cd-intro-info h1 { font-size:26px; line-height:1.4; }
  .cd-thumbs { gap:8px; }
  .cd-variant-picker button,.cd-quick-actions>button { min-height:46px; border-radius:6px; }
  .cd-quick-actions { gap:10px; }
  .cd-table-wrap { max-width:100%; overscroll-behavior-x:contain; }
  .cd-table th,.cd-table td { padding:12px; line-height:1.6; }
  .cd-story { font-size:15px; line-height:1.85; margin-bottom:40px; }
  .cd-story h2 { font-size:24px; line-height:1.4; margin-bottom:18px; }
  .cd-story h3 { font-size:20px; line-height:1.5; }
  .cd-story section { margin-bottom:30px; }
  .cd-related { padding-block:36px 48px; }
  .cd-related h2 { font-size:25px; }
  .cd-related-grid { gap:16px 12px; }
  .cd-related-grid h3 { font-size:15px; line-height:1.6; }
  .cd-modal { max-height:calc(100dvh - 24px); overflow-y:auto; border-radius:12px; }

  .pa-directory-title h1,.pa-journal-heading h1,.pa-detail-article .pa-detail-heading h1 { font-size:29px; line-height:1.35; }
  .pa-directory-tools { gap:14px; }
  .pa-tabs { max-width:100%; overflow-x:auto; }
  .pa-tabs button { min-height:44px; flex-shrink:0; }
  .pa-filters select,.pa-search { min-height:46px; border-radius:8px; }
  .pa-journal-article { min-width:0; padding-block:22px; }
  .pa-journal-image { border-radius:10px; overflow:hidden; }
  .pa-journal-copy h2 { font-size:22px; line-height:1.45; }
  .pa-journal-copy p { font-size:14px; line-height:1.8; }
  .pa-detail-article .pa-detail-heading p { font-size:15px; line-height:1.85; }
  .pa-detail-article .pa-article-images { gap:24px; }
  .pa-detail-article .pa-article-images img { border-radius:8px; }
  .pa-detail-article .pa-article-images figcaption { font-size:12px; line-height:1.6; gap:12px; }
  .pa-detail-article .pa-article-cta { border-radius:10px; padding:24px 20px; }
  .pa-detail-article .pa-article-cta h2 { font-size:23px; line-height:1.4; }

  .ar-focus .ar-film-heading h1 { font-size:30px; line-height:1.3; }
  .ar-focus .ar-film-heading p { font-size:15px; line-height:1.85; }
  .ar-focus .ar-factory-detail,.ar-focus .ar-key-main,.ar-focus .ar-key-selector button { border-radius:10px; }
  .ar-focus .ar-factory-name h3 { font-size:25px; line-height:1.4; }
  .ar-focus .ar-about-process li { border-radius:8px; }
  .ar-focus .ar-about-contact h2 { font-size:27px; line-height:1.35; }
  .contact-page-inner { gap:28px; padding-block:36px 48px; }
  .contact-page-intro p { font-size:15px; line-height:1.8; }
  .contact-page-form { min-width:0; padding:24px 18px; border-radius:12px; }
  .contact-page-form .field { min-width:0; }
  .contact-page-methods a { min-height:48px; overflow-wrap:anywhere; }
  .company-location-card { padding:20px; }
  .company-location-address { font-size:15px; line-height:1.8; }
  .company-location-map { border-radius:10px; }
  .customer-account-page .shell { width:calc(100% - 36px); }
  .account-auth-copy,.account-auth-card,.account-profile,.account-requests { padding:24px 20px; border-radius:10px; }
  .account-auth-copy h2 { font-size:27px; line-height:1.4; }
  .account-auth-card input { font-size:16px; }
  .account-tabs button { min-height:44px; font-size:16px; }
}
@media (max-width: 760px) {
  .b2b-home .shell { width:calc(100% - 36px); }
  .b2b-home .b2b-section { padding-block:48px; }
  .b2b-home .b2b-kicker { font-size:11px; line-height:1.6; letter-spacing:.08em; }
  .b2b-home h2 { font-size:clamp(25px,6.8vw,32px); line-height:1.3; letter-spacing:-.025em; }
  .b2b-home p { overflow-wrap:break-word; }
  .b2b-site-header .header-search,
  .b2b-site-header .header-search-toggle { width:44px; height:44px; }
  .b2b-site-header .header-search { margin-right:0; }
  .b2b-site-header .menu-btn { width:44px; height:44px; padding:10px; flex-shrink:0; }
  .b2b-site-header .nav { gap:4px; }
  .b2b-site-header .header-search form { height:44px; }
  .b2b-site-header .header-search form button { min-width:36px; min-height:40px; }
  .b2b-site-header .nav .category-header-nav { max-height:100dvh; overscroll-behavior:contain; overflow-y:auto; padding-bottom:calc(32px + env(safe-area-inset-bottom)); }

  .b2b-home .b2b-hero { display:flex; flex-direction:column; height:auto; min-height:0; max-height:none; background:var(--color-surface); color:var(--color-navy-dark); }
  .b2b-home .b2b-hero-media { position:relative; inset:auto; order:2; width:100%; height:auto; aspect-ratio:16/9; background:var(--color-navy-dark); }
  .b2b-home .b2b-hero-content { order:1; width:100%; height:auto; min-height:0; display:flex; flex-direction:column; justify-content:flex-start; align-items:flex-start; gap:12px; padding:28px 20px 24px; }
  .b2b-home .b2b-hero h1 { max-width:18ch; margin:0; padding:0; color:var(--color-navy-dark); font-size:clamp(27px,7.5vw,36px); line-height:1.16; text-align:left; }
  .b2b-home .b2b-hero-side { width:100%; margin:0; padding:0; text-align:left; }
  .b2b-home .b2b-hero-description { max-width:38ch; margin:0; padding:0; color:#405869; font-size:16px; font-weight:500; line-height:1.55; text-align:left; }
  .b2b-home .b2b-hero-shade { display:none; }

  .b2b-home .b2b-about { background:linear-gradient(180deg,var(--color-background) 0%,#f1f5f7 100%); }
  .b2b-home .b2b-about-inner { padding-block:34px 42px; }
  .b2b-home .b2b-about-label { gap:10px; margin-bottom:24px; color:#294659; font-size:11px; line-height:1.4; letter-spacing:.09em; }
  .b2b-home .b2b-about-label>span { width:9px; height:9px; }
  .b2b-home .b2b-about-grid { gap:22px; }
  .b2b-home .b2b-about-story { gap:0; }
  .b2b-home .b2b-about-story .b2b-kicker { font-size:10px; line-height:1.5; letter-spacing:.1em; }
  .b2b-home .b2b-about-story h2 { max-width:18ch; margin:0 0 14px; font-size:clamp(29px,8vw,36px); line-height:1.18; letter-spacing:-.035em; }
  .b2b-home .b2b-about-story p { max-width:42ch; margin:0 0 10px; color:#405869; font-size:15px; line-height:1.68; }
  .b2b-home .b2b-about-media { border:1px solid #dce5ea; border-radius:12px; overflow:hidden; box-shadow:0 10px 26px #09243812; }
  .b2b-home .b2b-about-video-frame>img { aspect-ratio:16/9; }
  .b2b-home .b2b-about-play-icon { width:54px; height:54px; }
  .b2b-home .b2b-about-media-caption { min-height:48px; padding:12px 15px; font-size:11px; letter-spacing:.07em; }
  .b2b-home .b2b-about-link { gap:8px; margin-top:2px; font-size:14px; line-height:1.4; font-weight:750; }
  .b2b-home .b2b-capabilities-grid { grid-template-columns:1fr; gap:0; padding:18px 18px 24px; }
  .b2b-home .b2b-capability,
  .b2b-home .b2b-capability:first-child,
  .b2b-home .b2b-capability:last-child { align-items:flex-start; flex-direction:column; gap:0; padding:0; text-align:left; }
  .b2b-home .b2b-capability-icon { display:flex; align-items:center; justify-content:flex-start; width:76px; height:76px; border:0; border-radius:0; background:transparent; box-shadow:none; }
  .b2b-home .b2b-capability-icon svg { width:62px; height:62px; stroke-width:2.1; }
  .b2b-home .b2b-capability h2 { margin:0 0 12px; font-size:20px; line-height:1.35; font-weight:800; letter-spacing:.01em; text-transform:uppercase; }
  .b2b-home .b2b-capability p { max-width:none; margin:0; font-size:14px; line-height:1.55; }
  .b2b-home .b2b-products-heading { align-items:flex-start; gap:8px; margin-bottom:18px; }
  .b2b-home .b2b-products-heading h2 { margin-top:6px; font-size:27px; line-height:1.2; }
  .b2b-home .b2b-products-heading p { margin-top:9px; font-size:14px; line-height:1.6; }
  .b2b-home .b2b-featured-product-grid { display:flex; gap:14px; width:calc(100% + 18px); margin-right:-18px; padding:0 18px 12px 0; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding-inline:18px; scrollbar-width:none; overscroll-behavior-inline:contain; }
  .b2b-home .b2b-featured-product-grid::-webkit-scrollbar { display:none; }
  .b2b-home .b2b-featured-product-grid .b2b-solution-card { flex:0 0 min(82vw,350px); width:auto; min-height:0; border-radius:9px; overflow:hidden; box-shadow:0 5px 16px #0924380a; scroll-snap-align:start; }
  .b2b-home .b2b-featured-product-grid .b2b-solution-card:hover { transform:none; }
  .b2b-home .b2b-featured-product-grid .b2b-solution-image { height:auto; aspect-ratio:1.28; }
  .b2b-home .b2b-featured-product-grid .b2b-solution-image img { width:100%; height:100%; object-fit:cover; }
  .b2b-home .b2b-featured-product-grid .b2b-solution-caption { align-items:center; gap:10px; padding:15px 15px 16px; }
  .b2b-home .b2b-featured-product-grid .b2b-solution-caption h3 { display:-webkit-box; overflow:hidden; min-height:0; margin:0; font-size:16px; line-height:1.4; -webkit-box-orient:vertical; -webkit-line-clamp:1; }
  .b2b-home .b2b-featured-product-grid .b2b-solution-caption p { display:-webkit-box; overflow:hidden; min-height:0; margin:7px 0 0; font-size:13px; line-height:1.55; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .b2b-home .b2b-featured-product-grid .b2b-solution-caption>svg { flex:none; width:20px; height:20px; }

  .b2b-home .pa-home-showcase { width:100%; padding:30px 0 22px; }
  .b2b-home .pa-home-showcase .pa-heading { display:block; width:calc(100% - 36px); margin:0 auto 16px; text-align:center; }
  .b2b-home .pa-home-showcase .pa-heading>div>small,.b2b-home .pa-home-showcase .pa-heading p,.b2b-home .pa-home-showcase .pa-showcase-actions { display:none; }
  .b2b-home .pa-home-showcase .pa-heading h2 { margin:0; color:#111; font-size:25px; line-height:1.25; letter-spacing:-.02em; text-transform:uppercase; }
  .b2b-home .pa-home-project-tabs { width:100%; margin-top:16px; border-bottom:2px solid #858585; }
  .b2b-home .pa-home-project-tabs button { min-height:46px; padding:8px 5px 10px; font-size:13px; line-height:1.25; white-space:normal; }
  .b2b-home .pa-home-showcase .pa-project-viewport { width:calc(100% - 36px); max-width:none; margin-inline:auto; overflow:hidden; padding:0; }
  .b2b-home .pa-home-showcase .pa-project-track { gap:0; }
  .b2b-home .pa-home-showcase .pa-project-track>.pa-card { flex:0 0 100%; width:100%; }
  .b2b-home .pa-home-showcase .pa-card::before { padding:17px 14px 10px; font-size:38px; }
  .b2b-home .pa-home-showcase .pa-card-copy { padding:8px 14px 16px; }
  .b2b-home .pa-home-showcase .pa-card-copy small { color:#555; font-size:11px; }
  .b2b-home .pa-home-showcase .pa-card-copy h2 { display:-webkit-box; overflow:hidden; margin:8px 0 12px; font-size:18px; line-height:1.35; text-align:left; text-transform:uppercase; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .b2b-home .pa-home-showcase .pa-card-copy p { display:-webkit-box; overflow:hidden; margin:0 0 14px; font-size:14px; line-height:1.55; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .b2b-home .pa-home-showcase .pa-card-copy>.pa-link { min-height:42px; width:100%; margin-top:0; padding-top:12px; border-top:1px solid #dfe2e4; color:#202020; font-size:14px; font-weight:500; }
  .b2b-home .pa-home-showcase .pa-card-image { width:100%; aspect-ratio:1.55; }
  .b2b-home .pa-home-showcase .pa-card-image>span { left:12px; bottom:12px; }
  .b2b-home .pa-home-showcase .pa-card-image i { display:none; }
  .b2b-home .pa-home-mobile-empty { margin:0; padding:30px 18px; background:var(--color-surface); color:#5d7280; text-align:center; }
  .b2b-home .pa-home-showcase .pa-home-mobile-controls { width:calc(100% - 36px); min-height:60px; margin:0 auto; color:#171717; font-size:15px; font-weight:700; }
  .b2b-home .pa-home-mobile-controls>div { display:flex; gap:8px; }
  .b2b-home .pa-home-mobile-controls button { display:grid; place-items:center; width:44px; height:44px; border:0; background:var(--color-surface); color:#222; }
  .b2b-home .pa-home-mobile-controls button:disabled { opacity:.4; }
  .b2b-home .pa-home-showcase .pa-link { min-height:44px; }

  .b2b-home .b2b-selection-table tbody tr { border-radius:10px; }
  .b2b-home .b2b-selection-table td { grid-template-columns:minmax(0,1fr); gap:5px; padding:14px 18px; }
  .b2b-home .b2b-engineering-inner,
  .b2b-home .b2b-context-inner,
  .b2b-home .b2b-brief-inner { padding-block:48px; }
  .b2b-home .b2b-process-grid article { border-radius:10px; padding:22px; }
  .b2b-home .b2b-process-grid h3 { font-size:19px; }
  .b2b-home .b2b-process-grid p { font-size:14px; line-height:1.75; }
  .b2b-home .b2b-context-photo { height:auto; aspect-ratio:4/3; border-radius:10px; overflow:hidden; }
  .b2b-home .b2b-faq { padding:28px 18px; border-radius:12px; }
  .b2b-home .b2b-faq-list summary { gap:14px; }
  .b2b-home .b2b-brief-form { padding:24px 18px; border-radius:12px; }
  .b2b-home .b2b-brief-form h3 { font-size:21px; line-height:1.4; }
  .site-footer .site-footer-grid { width:calc(100% - 36px); gap:24px; }
  .site-footer .site-footer-brand img { width:144px; }
  .site-footer .site-footer-company h2 { font-size:14px; line-height:1.7; }
  .site-footer .site-footer-company dl { font-size:13px; line-height:1.8; }
  .site-footer .site-footer-cta { border-radius:8px; }
  .catalog .catalog-search input,
  .catalog .catalog-sort,
  .contact-form input,
  .contact-form textarea { font-size:16px; }
  .catalog-gallery-contact { min-height:44px; }
}
@media (max-width:760px) and (max-height:500px) {
  .b2b-home .b2b-hero-content { padding-block:20px; }
}
@media (max-width:760px) and (prefers-reduced-motion:reduce) {
  .b2b-home .pa-home-showcase .pa-project-viewport { scroll-behavior:auto; }
  .b2b-home .pa-home-showcase .pa-project-viewport { scroll-behavior:auto; }
}
