/* Mobile-only refinements. The existing desktop styles and content stay intact. */
@media screen and (max-width:820px) {
  html { -webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:120px; }
  body { min-width:0;padding-left:env(safe-area-inset-left,0px); }
  .wrap { width:calc(100% - 32px);max-width:100%;min-width:0; }
  main { min-width:0;max-width:100%; }
  main :where(section,article,aside,figure,form) { min-width:0; }
  main :where(h1,h2,h3,p,li,dt,dd,figcaption,blockquote,a),footer :where(p,a,span) { overflow-wrap:anywhere; }
  main :where(picture,video,iframe) { max-width:100%; }
  .button,.text-link { max-width:100%;white-space:normal;min-height:44px;text-align:start; }
  .button { overflow-wrap:anywhere;gap:16px; }
  .button>span[aria-hidden] { flex-shrink:0; }
  .text-link { align-items:center; }
  .section-heading,.i-heading,.i-actions,.form-actions,.case-actions { min-width:0; }
  .section-heading .button { white-space:normal; }
  .section,.i-section { padding-block:52px; }

  /* Keep the existing 56px right rail: chat never sits on top of page content. */
  .floating-contact { right:calc(6px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));width:44px;height:44px; }
  .topbar .wrap { flex-wrap:wrap;gap:4px 10px;padding-block:6px; }
  .topbar { height:auto;min-height:30px; }
  .topbar .wrap>span,.topbar .wrap>div a { font-size:10px;line-height:1.5; }
  .topbar .wrap>div { min-width:0;gap:12px; }
  .nav { display:grid;grid-template-columns:minmax(0,1fr) auto auto;height:auto;min-height:72px;gap:6px;padding-block:10px; }
  .nav .brand { grid-column:1;grid-row:1;min-width:0;gap:6px; }
  .nav .brand>span:last-child { min-width:0; }
  .nav-actions { grid-column:2;grid-row:1;min-width:0;margin:0;gap:6px; }
  .menu-toggle { grid-column:3;grid-row:1;min-width:44px;min-height:44px;padding:6px; }
  .nav nav { top:100%;padding:8px 16px;max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);overflow-y:auto;overscroll-behavior:contain; }
  .nav nav a { min-height:48px;display:flex;align-items:center;padding:12px 8px;white-space:normal;overflow-wrap:anywhere; }
  .language summary { min-height:44px;min-width:44px;padding:6px 2px; }
  .language>div { top:calc(100% + 6px);max-height:60vh;max-height:60dvh;overflow-y:auto;overscroll-behavior:contain; }
  .language a { min-height:44px;padding:10px 8px; }
  .search-link { min-width:44px;min-height:44px;align-items:center;justify-content:center; }

  .i-hero { display:flex;flex-direction:column;min-height:0; }
  .i-hero-copy { min-width:0;padding:36px 16px 24px; }
  .i-hero h1 { font-size:clamp(34px,7.5vw,50px);line-height:1.1;overflow-wrap:anywhere; }
  .i-hero h1 .production-break { display:none; }
  .i-hero .eyebrow { font-size:10px;letter-spacing:.8px;flex-wrap:wrap; }
  .i-hero-lead { font-size:16px;max-width:650px; }
  .i-hero .i-actions { max-width:100%; }
  .i-hero .button { min-height:48px;font-size:14px; }
  .i-hero-bottom { font-size:11px;letter-spacing:.3px;flex-wrap:wrap;gap:12px; }
  .i-hero-bottom a { width:44px;height:44px;flex-shrink:0; }
  .i-hero-visual { min-height:0;height:auto;aspect-ratio:4/3; }
  .i-hero-visual>picture { position:absolute;inset:0;display:block; }
  .i-hero-visual>picture>img { width:100%;height:100%;object-fit:cover; }
  .i-hero-visual figcaption { min-width:0;padding:16px;font-size:12px; }
  .i-proof>.wrap { grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 0; }
  .i-proof>.wrap>div { display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;padding-inline:14px; }
  .i-proof>.wrap>div:nth-child(odd) { padding-inline-start:0;border-inline-end:1px solid var(--line); }
  .i-proof>.wrap>div:nth-child(even) { padding-inline-end:0;border:0; }
  .i-proof strong { font-size:26px;white-space:normal;line-height:1.2; }
  .i-proof strong.i-capacity-range,.i-proof strong.i-export-reach { font-size:22px; }
  .i-proof p { font-size:13px;line-height:1.6;margin:0; }

  .i-product-grid,.i-project-grid,.qualification-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
  .i-product-content { display:flex;flex-direction:column;min-width:0;min-height:0;padding:20px; }
  .i-product-content>div,.qualification-card-link { min-width:0;max-width:100%; }
  .i-product-image { width:100%;height:auto;min-height:0;aspect-ratio:4/3;order:-1; }
  .i-product-image picture { display:block;width:100%;height:100%; }
  .i-product-image img { width:100%;height:100%;max-height:none;object-fit:contain; }
  .i-product p { min-height:0;font-size:15px; }
  .i-project-image { height:auto;aspect-ratio:4/3; }
  .i-project-image picture { display:block;width:100%;height:100%; }
  .i-project-image:hover img { transform:none; }
  .i-project-copy>p:not(.eyebrow) { min-height:0;font-size:15px;line-height:1.75; }
  .qualification-grid article { padding:20px; }
  .qualification-grid strong { font-size:24px;overflow-wrap:anywhere; }
  .qualification-grid h3 { font-size:18px;line-height:1.4; }
  .qualification-grid p { font-size:15px;line-height:1.75; }
  .certificate-preview img { width:100%;height:auto;max-height:380px;object-fit:contain; }
  .certificate-details { padding:20px; }
  .certificate-details h2 { font-size:26px;overflow-wrap:anywhere; }
  .certificate-original { min-height:44px;padding-block:10px; }
  .i-engineering,.i-company-showcase { grid-template-columns:minmax(0,1fr);gap:30px; }
  .i-engineering figure>img,.i-engineering figure>picture>img { height:auto;max-height:480px;object-fit:contain; }
  .i-industry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .i-industry { min-width:0;padding:22px 16px; }
  .i-industry h3 { overflow-wrap:anywhere; }
  .i-service-rows>div,.i-fuel-list>div { grid-template-columns:24px minmax(0,1fr); }

  .blog-page { min-width:0;padding-block:32px 48px; }
  .blog-article-header h1 { font-size:clamp(30px,6vw,40px);line-height:1.2;overflow-wrap:anywhere; }
  .blog-prose { max-width:100%;font-size:16px;line-height:1.85; }
  .blog-prose h2 { font-size:27px;line-height:1.3; }
  .blog-prose ul { padding-inline-start:22px; }
  .blog-lead { font-size:17px;line-height:1.8; }
  .blog-card-copy { padding:20px; }
  .blog-card h2 { font-size:25px;line-height:1.3; }
  .blog-card-foot { flex-wrap:wrap;gap:8px 16px; }
  .blog-toc a,.blog-useful>a,.blog-bottom .text-link { min-height:44px;padding-block:12px; }
  .blog-topics a { min-height:44px;display:flex;align-items:center; }
  .blog-consult { min-width:0;padding:24px 20px; }
  .blog-consult h2 { font-size:29px;line-height:1.25; }
  .blog-cover img { width:100%;height:auto;max-height:420px;object-fit:contain; }

  .inquiry-form { min-width:0;padding:24px 20px; }
  .inquiry-form label { min-width:0;max-width:100%;font-size:14px; }
  .inquiry-form input:not([type=checkbox]):not([type=hidden]),.inquiry-form select,.inquiry-form textarea { min-width:0;max-width:100%;font-size:16px;min-height:48px;scroll-margin-block:130px 80px; }
  .inquiry-form textarea { min-height:140px; }
  .inquiry-form .inquiry-consent { min-height:44px;font-size:13px;padding-block:8px; }
  .inquiry-consent input { width:22px;height:22px;min-height:22px; }
  .inquiry-form .form-note { font-size:13px;line-height:1.7; }
  .inquiry-details summary,.related-links summary,.category-filter summary { min-height:44px;padding-block:12px; }
  .contact-direct { width:fit-content;max-width:100%;min-height:44px;font-size:16px;overflow-wrap:anywhere; }
  .form-actions .button { min-height:48px; }
  .inquiry-layout>div { min-width:0;max-width:100%; }
  .selection-context button { min-height:44px; }
  .buyer-fields,.buyer-fields label,.buyer-fields select { min-width:0;max-width:100%; }
  .buyer-direct a,.buyer-case-links a,.family-index a { min-height:44px;display:flex;align-items:center; }
  .list-toolbar { flex-wrap:wrap;align-items:stretch; }
  .search-field { width:100%;max-width:100%;min-width:0; }
  .search-field input { min-width:0;min-height:48px;font-size:16px;padding:10px; }
  .pagination { flex-wrap:wrap;gap:10px 16px; }
  .chip,.category-filter a,.project-shortcuts a { display:inline-flex;align-items:center;min-height:44px;max-width:100%; }
  .i-table-scroll,.rich-content table { max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain; }
  .rich-content table { display:block; }
  .case-facts>div,.case-facts dd,.gallery-item { min-width:0;overflow-wrap:anywhere; }
  .case-photo img,.case-gallery img { max-width:100%;object-fit:contain; }
  .dialog-close { min-width:44px;min-height:44px; }
  dialog { max-width:calc(100vw - 24px);padding:54px 12px 18px; }

  /* Two rows keep all carousel controls at finger-friendly sizes. */
  .carousel-controls { flex-wrap:wrap;justify-content:center;inset:auto 12px 12px;gap:8px; }
  .carousel-dots { order:1;flex:1 0 100%;flex-wrap:wrap;justify-content:center;gap:0; }
  .carousel-controls button,.carousel-controls .carousel-dot,.i-company-showcase .carousel-controls button,.i-company-showcase .carousel-controls .carousel-dot { min-width:44px;min-height:44px; }
  .carousel-controls .carousel-pause { margin-left:0;min-width:70px;padding:0 12px; }
  .hero-slide .hero-overlay { bottom:164px; }
  .footer-grid a:not(.brand) { min-height:44px;margin-bottom:2px;padding-block:10px; }
  .footer-base a { min-height:44px;display:inline-flex;align-items:center; }
}

@media screen and (max-width:600px) {
  .wrap { width:calc(100% - 28px); }
  .nav .brand { font-size:17px!important;letter-spacing:.7px; }
  .nav .brand small { font-size:5.5px!important;letter-spacing:.7px; }
  .language summary { font-size:12px; }
  .i-heading,.section-heading { display:block; }
  .i-heading h2,.i-intro h2,.inquiry-layout h2,.inquiry-layout>div>h2 { font-size:32px;line-height:1.2; }
  .page-heading h1,.case-intro h1,.case-overview h1,.i-section>h1 { font-size:32px;line-height:1.2; }
  .i-hero-visual figcaption { display:block; }
  .i-hero-visual figcaption span:last-child { max-width:none;margin-top:8px;text-align:start;font-size:12px; }
  .i-proof strong.i-capacity-range,.i-proof strong.i-export-reach { font-size:20px; }
  .i-product-grid,.i-project-grid,.qualification-grid,.certificate-grid,.gallery-grid,.family-grid,.form-row,.footer-grid { grid-template-columns:minmax(0,1fr); }
  .family-card { display:flex;flex-direction:column;min-width:0; }
  .family-photo { width:100%;height:auto;min-height:0;aspect-ratio:16/10; }
  .family-copy { min-width:0;padding:20px 18px; }
  .family-copy h3 { font-size:24px; }
  .family-copy .eyebrow { font-size:11px; }
  .family-copy>p:not(.eyebrow) { font-size:15px;line-height:1.75; }
  .family-index>div { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .i-product-content { padding:18px; }
  .i-product h3,.i-project h3 { font-size:24px; }
  .i-product-top { padding:14px 18px;font-size:12px; }
  .i-product-specs { margin-inline:18px;font-size:14px; }
  .i-product-specs>div { grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px; }
  .qualification-grid article { padding:20px 18px; }
  .certificate-preview { padding:16px; }
  .certificate-preview img { max-height:330px; }
  .certificate-details { padding:20px 16px; }
  .blog-intro h1 { font-size:36px;line-height:1.15; }
  .blog-cover figcaption,.blog-byline { font-size:13px; }
  .blog-consult .button { width:100%;min-width:0; }
  .blog-related strong { font-size:21px; }
  .blog-topics { gap:8px; }
  .blog-topics a { padding:10px 12px; }
  .inquiry-form { padding:20px 16px; }
  .form-row { gap:0; }
  .inquiry-form .form-actions { display:grid;grid-template-columns:minmax(0,1fr); }
  .form-actions .button { width:100%; }
  .i-note-panel,.article-cta,.selection-guide,.project-journey { padding:22px 18px; }
  .footer-grid { gap:24px; }
  .footer-grid h3 { margin-bottom:12px; }
  .footer-grid>div:first-child,.footer-grid>div:last-child { grid-column:auto; }
}

@media screen and (max-width:380px) {
  .nav { grid-template-columns:minmax(0,1fr) auto;row-gap:0; }
  .nav .brand { grid-column:1;grid-row:1; }
  .menu-toggle { grid-column:2;grid-row:1 / span 2;align-self:center; }
  .nav-actions { grid-column:1;grid-row:2;justify-self:start; }
  .language summary { padding-block:4px; }
  .language>div { inset-inline-start:0;inset-inline-end:auto; }
  .i-hero .i-actions .button { width:100%; }
  .i-industry-grid,.case-facts { grid-template-columns:minmax(0,1fr); }
  .i-industry { min-height:0; }
  .i-proof strong { font-size:24px; }
  .i-proof strong.i-capacity-range,.i-proof strong.i-export-reach { font-size:19px; }
  .i-proof>.wrap>div { padding-inline:10px; }
  .i-product-specs>div { grid-template-columns:minmax(0,1fr);gap:5px; }
}
