/* Approved M4 phone compositions. Desktop content and layout remain unchanged. */
@media (min-width:768px) {
  .m4-contact-group > summary { display:block; list-style:none; pointer-events:none; }
  .m4-contact-group > summary::-webkit-details-marker { display:none; }
}
@media (max-width:767px) {
  .corporate-site :is(.m4-home,.m4-crop) { color:var(--m4-ink); font-size:16px; line-height:1.55; }
  .corporate-site :is(.m4-home,.m4-crop) :is(h1,h2,h3,p) { margin:0; }
  .corporate-site :is(.m4-home,.m4-crop) h1 { font-size:36px; line-height:1.12; letter-spacing:-.035em; font-weight:500; max-width:18ch; }
  .corporate-site :is(.m4-home,.m4-crop) h2 { font-size:26px; line-height:1.24; letter-spacing:-.025em; margin:0 0 20px; max-width:none; font-weight:500; }
  .corporate-site :is(.m4-home,.m4-crop) h3 { font-size:21px; line-height:1.35; letter-spacing:-.01em; max-width:none; font-weight:500; }
  .corporate-site :is(.m4-home,.m4-crop) p + p { margin-top:12px; }
  .m4-icon { width:22px; height:22px; flex-shrink:0; }
  .m4-section { padding:32px 0; }
  .m4-section + .m4-section { border-top:1px solid var(--m4-line); }
  .m4-surface { background:var(--m4-surface); }
  .m4-note { color:var(--m4-muted); font-size:14px; line-height:1.5; }
  .m4-button { display:flex; justify-content:center; align-items:center; gap:12px; min-height:52px; border-radius:8px; padding:12px 18px; background:var(--m4-action); color:var(--m4-on-action); font-size:16px; line-height:1.5; font-weight:500; text-align:center; text-decoration:none; }
  .m4-button:hover { text-decoration:none; }
  .m4-text-link { display:flex; align-items:center; gap:8px; min-height:44px; width:fit-content; color:var(--p-accent); }
  .m4-hero-photo { position:relative; height:204px; overflow:hidden; }
  .m4-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:56% 55%; }
  html[data-theme=dark] .m4-hero-photo::after { content:''; position:absolute; inset:0; background:rgba(24,40,47,.4); }
  .m4-home-intro { padding-block:24px; }
  .corporate-site .m4-home-intro h1 { font-size:34px; line-height:1.1; max-width:17ch; }
  .corporate-site .m4-home-intro .m4-place { margin-top:10px; font-size:14px; color:var(--m4-muted); }
  .corporate-site .m4-home-intro .m4-description { margin:16px 0 20px; }
  .corporate-site .m4-home-intro .m4-note { margin-top:12px; }
  .m4-route-list { padding-bottom:12px; }
  .m4-route-row { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:64px; border-top:1px solid var(--m4-line); color:var(--m4-ink); text-decoration:none; font-size:20px; letter-spacing:-.02em; }
  .corporate-site .m4-news h2 { font-size:20px; margin-bottom:12px; }
  .m4-news time { display:block; color:var(--m4-muted); font-size:14px; margin-bottom:12px; }
  .corporate-site .m4-news h3 { margin-bottom:12px; }
  .m4-news .m4-text-link { margin-top:12px; }
  .m4-details { border:0; border-bottom:1px solid var(--m4-line); border-radius:0; padding:0; background:none; }
  .m4-details > summary { display:flex; align-items:center; justify-content:space-between; min-height:64px; gap:12px; padding:16px 0; font-weight:500; list-style:none; cursor:pointer; }
  .m4-details > summary::-webkit-details-marker { display:none; }
  .m4-details > summary::after { content:'+'; font-size:24px; font-weight:400; line-height:1; flex-shrink:0; width:20px; text-align:center; }
  .m4-details[open] > summary::after { content:'−'; }
  .m4-detail-body { padding:12px 0 24px; }
  .m4-product-category > summary { display:grid; grid-template-columns:76px minmax(0,1fr) 20px; gap:12px; min-height:96px; }
  .m4-product-category > summary::after { display:none; }
  .m4-product-category > summary img { width:76px; height:62px; object-fit:cover; border-radius:8px; }
  .m4-category-text { display:grid; gap:4px; min-width:0; }
  .m4-category-text strong { font-size:20px; font-weight:500; line-height:1.3; letter-spacing:-.02em; }
  .m4-category-text .m4-note { font-weight:400; }
  .m4-product-category[open] > summary > .m4-icon { transform:rotate(90deg); }
  .m4-product-choices { padding-inline:16px; border-radius:8px; background:var(--m4-surface); }
  .m4-product-choice { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:60px; padding-block:14px; border-bottom:1px solid var(--m4-line); font-size:16px; color:var(--m4-ink); text-decoration:none; }
  .m4-product-choice .m4-icon { width:18px; height:18px; color:var(--m4-muted); }
  .m4-product-choices .m4-product-choice:last-child { border-bottom:0; }
  .m4-product-choice:hover { text-decoration:none; }
  .m4-quality-entrance { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-block:20px; margin-top:12px; color:var(--m4-ink); border-bottom:1px solid var(--m4-line); text-decoration:none; }
  .m4-quality-entrance > span { display:grid; gap:4px; }
  .m4-quality-entrance strong { font-size:20px; font-weight:500; line-height:1.3; }
  .m4-spec-head { padding-block:28px; }
  .m4-back { display:flex; align-items:center; gap:6px; min-height:44px; margin-bottom:8px; font-size:14px; color:var(--m4-muted); text-decoration:none; }
  .m4-back .m4-icon { width:16px; height:16px; }
  .m4-crop-selector { display:flex; gap:24px; border-bottom:1px solid var(--m4-line); margin-top:20px; }
  .m4-crop-selector a { display:flex; align-items:center; min-height:52px; padding:10px 0 12px; font-size:16px; color:var(--m4-muted); text-decoration:none; position:relative; }
  .m4-crop-selector a[aria-current=page] { color:var(--m4-ink); font-weight:500; }
  .m4-crop-selector a[aria-current=page]::after { content:''; position:absolute; bottom:-1px; left:0; right:0; height:2px; background:var(--m4-action); }
  .m4-spec-section { padding-bottom:28px; }
  .m4-spec-table table { width:100%; border-collapse:collapse; table-layout:fixed; border:0; background:none; font-size:16px; line-height:1.45; margin:0; }
  .m4-spec-table caption { text-align:left; font-size:23px; font-weight:500; line-height:1.35; letter-spacing:-.02em; color:var(--m4-ink); padding:0; margin:0 0 8px; }
  .m4-spec-table thead { display:none; }
  .m4-spec-table tr { border-bottom:1px solid var(--m4-line); }
  .m4-spec-table :is(th,td) { padding:16px 0; border:0; vertical-align:top; background:none; color:var(--m4-ink); font-size:16px; line-height:1.45; font-weight:400; text-align:left; }
  .m4-spec-table th { width:59%; padding-right:16px; }
  .m4-spec-table td { text-align:right; font-weight:500; font-variant-numeric:tabular-nums; }
  .m4-spec-table :is(th,td) p { margin:0; }
  .m4-spec-table tbody tr:first-child:has(th[scope=col]) { display:none; }
  .m4-limit-table caption { display:none; }
  .corporate-site .m4-crop .m4-spec-caveat { color:var(--m4-muted); font-size:14px; margin:16px 0; }
  .m4-limit-details > summary { font-size:19px; line-height:1.35; min-height:76px; }
  .m4-limit-details .m4-detail-body { padding-bottom:8px; }
  .m4-crop .m4-surface .m4-button { margin-top:20px; }
  .m4-reading { overflow-wrap:anywhere; }
  .corporate-site .m4-reading :is(h2,h3,h4) { font-size:20px; line-height:1.35; margin:24px 0 12px; }
  .m4-reading ul { padding-left:20px; }
  .m4-reading li { margin:12px 0; }
  .m4-reading table { display:block; max-width:100%; overflow-x:auto; }
  /* One shared contact directory and production form, arranged for the phone. */
  .corporate-site.directory-page .r4-head { padding:28px 0 0; }
  .corporate-site.directory-page .r4-contact-head { display:block; }
  .corporate-site.directory-page .r4-head h1 { font-size:36px; line-height:1.12; letter-spacing:-.035em; margin:0 0 4px; font-weight:500; }
  .corporate-site.directory-page .r4-directory { padding:0; }
  .corporate-site.directory-page .r4-directory > .m4-contact-group { display:block; border-top:0; border-bottom:1px solid var(--m4-line); padding:0; }
  .m4-contact-group > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:78px; padding:20px 0; list-style:none; cursor:pointer; }
  .m4-contact-group > summary::-webkit-details-marker { display:none; }
  .m4-contact-group > summary::after { content:'+'; font-size:24px; font-weight:400; width:20px; text-align:center; flex-shrink:0; }
  .m4-contact-group[open] > summary::after { content:'−'; }
  .corporate-site.directory-page .m4-contact-group h2 { font-size:23px; line-height:1.3; letter-spacing:-.025em; max-width:18ch; margin:0; font-weight:500; }
  .m4-contact-content { padding:12px 0 24px; }
  .corporate-site.directory-page .r4-person-grid { display:block; }
  .corporate-site.directory-page .r4-person { padding:0; }
  .corporate-site.directory-page .r4-person + .r4-person { border-top:1px solid var(--m4-line); padding-top:20px; margin-top:20px; }
  .corporate-site.directory-page .r4-person h3 { font-size:19px; line-height:1.35; margin:0 0 12px; font-weight:500; }
  .corporate-site.directory-page .r4-person p { font-size:18px; line-height:1.5; font-weight:500; margin:0 0 4px; }
  .corporate-site.directory-page .r4-person p:nth-of-type(2) { font-size:14px; line-height:1.5; font-weight:400; margin:0 0 8px; color:var(--m4-muted); }
  .corporate-site.directory-page .r4-person a { display:flex; align-items:center; min-height:44px; font-size:16px; margin:0; }
  .m4-hotline { border-radius:12px; background:var(--m4-surface); padding:16px; margin-bottom:20px; }
  .m4-hotline p { font-size:14px; line-height:1.5; color:var(--m4-muted); margin:0; }
  .m4-phone-large { display:flex; align-items:center; min-height:44px; font-size:23px; line-height:1.5; font-weight:500; letter-spacing:-.02em; text-decoration:none; }
  .m4-hotline .m4-text-link { font-size:14px; min-height:36px; }
  .m4-contact-address { padding-block:24px; }
  .corporate-site.directory-page .m4-contact-address h2 { font-size:23px; line-height:1.3; margin:0 0 12px; }
  .m4-contact-address p { margin:0; font-size:16px; }
  .m4-contact-form { border:0; }
  .m4-contact-form > summary { display:flex; align-items:center; justify-content:space-between; min-height:78px; font-size:23px; line-height:1.3; letter-spacing:-.025em; border-top:1px solid var(--m4-line); list-style:none; cursor:pointer; }
  .m4-contact-form > summary::-webkit-details-marker { display:none; }
  .m4-contact-form > summary::after { content:'+'; font-size:24px; margin-left:12px; }
  .m4-contact-form[open] > summary::after { content:'−'; }
  .corporate-site.directory-page .r4-form { padding:12px 0 24px; background:none; }
  .corporate-site.directory-page .r4-form-layout { display:block; border:0; padding:0; }
  .corporate-site.directory-page .r4-form-layout > div:first-child { margin-bottom:20px; }
  .corporate-site.directory-page #contact-form-heading { display:none; }
  .corporate-site.directory-page .r4-form-layout > div:first-child p { margin:0; font-size:16px; }
  .corporate-site.directory-page .r4-form-layout > div:first-child p + p { display:none; }
  .corporate-site.directory-page .local-contact-form { display:block; }
  .corporate-site.directory-page .local-contact-form .field { margin-bottom:20px; }
  .corporate-site.directory-page .local-contact-form label { font-size:14px; line-height:1.5; }
  .corporate-site.directory-page .local-contact-form :is(input,textarea) { min-height:52px; padding:12px; border:1px solid var(--control,#78877c); border-radius:8px; font-size:16px; background:var(--m4-bg); color:var(--m4-ink); }
  .corporate-site.directory-page .local-contact-form textarea { min-height:120px; }
  .corporate-site.directory-page .local-contact-form .btn.primary { width:100%; min-height:52px; }
}
@media (max-width:374px) {
  .corporate-site .m4-home-intro h1 { font-size:32px; }
  .m4-hero-photo { height:188px; }
  .m4-product-category > summary { grid-template-columns:68px minmax(0,1fr) 18px; }
  .m4-product-category > summary img { width:68px; }
  .m4-crop-selector { gap:20px; }
  .m4-spec-table th { padding-right:12px; }
}
