/* Generated (phase-5 PR3): one class per distinct inline style formerly on services.html. Content-addressed (tl-<sha1[:8]>). */
.tl-0df8a6ec.tl-0df8a6ec{font-size:16px;color:rgba(26,20,16,0.85);line-height:1.75;font-weight:300;padding-bottom:0.5rem}
.tl-10405e02.tl-10405e02{display:inline-flex;align-items:center;gap:8px;background:transparent;color:white;padding:14px 32px;border:1.5px solid rgba(255,255,255,0.3);border-radius:6px;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;transition:all 0.2s}
.tl-15a716dd.tl-15a716dd{font-size:10px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgba(26,20,16,0.76);margin-bottom:4px}
.tl-1782233c.tl-1782233c{display:inline-flex;align-items:center;gap:8px;background:#C0392B;color:white;padding:14px 32px;border-radius:6px;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;transition:all 0.2s}
.tl-1b805232.tl-1b805232{font-family:'DM Serif Display',serif;font-size:28px;color:white;font-weight:400;line-height:1.2}
.tl-1dfab8c2.tl-1dfab8c2{font-size:13px;color:rgba(255,255,255,0.75);font-weight:300;line-height:1.5}
.tl-21048348.tl-21048348{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#12826D,#0F6E5B);display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:1.25rem}
.tl-219867ab.tl-219867ab{font-size:11px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:#FFD699;margin-bottom:0.75rem}
.tl-220e313c.tl-220e313c{font-size:10px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.75);margin-bottom:0.75rem}
.tl-2586847a.tl-2586847a{position:relative;padding:2rem;color:white;display:flex;flex-direction:column;justify-content:center;height:100%;min-height:240px;background:linear-gradient(135deg,rgba(192,57,43,0.85) 0%,rgba(231,76,60,0.75) 100%)}
.tl-25a55a15.tl-25a55a15{background:linear-gradient(135deg,#1A1410 0%,#2d2218 100%);padding:2rem;color:white;display:flex;flex-direction:column;justify-content:center;min-width:240px}
.tl-277f7700.tl-277f7700{position:absolute;top:1rem;right:1rem;font-size:40px;opacity:0.15}
.tl-2f6722cd.tl-2f6722cd{font-size:10px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.8);margin-bottom:0.75rem}
.tl-3256e3fc.tl-3256e3fc{font-family:'DM Serif Display',serif;font-size:26px;font-weight:400;line-height:1.3;margin-bottom:0.75rem}
.tl-37b76668.tl-37b76668{font-size:10px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgba(26,20,16,0.76);margin-bottom:6px}
.tl-39fdb1a3.tl-39fdb1a3{background:linear-gradient(135deg,#12826D 0%,#0F6E5B 100%);padding:2rem;color:white;position:relative;overflow:hidden}
.tl-3aeb184f.tl-3aeb184f{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:2.5rem;margin-bottom:3rem}
.tl-3d71742e.tl-3d71742e{font-size:48px;margin-bottom:0.5rem;text-shadow:0 4px 12px rgba(0,0,0,0.4)}
.tl-3e04bc3a.tl-3e04bc3a{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.tl-3e3ed3e6.tl-3e3ed3e6{position:absolute;top:-20px;right:-20px;opacity:0.12;font-family:'DM Serif Display',serif;font-size:120px;line-height:1;font-style:italic}
.tl-3faaa9f4.tl-3faaa9f4{background:linear-gradient(135deg,#C0392B,#E74C3C);color:white;padding:1rem;border-radius:8px;font-size:18px;text-align:center}
.tl-41f43b14.tl-41f43b14{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:14px;padding:2rem;transition:all 0.3s}
.tl-42aa6d9c.tl-42aa6d9c{padding:2rem}
.tl-43eaebdf.tl-43eaebdf{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:end;margin-bottom:4rem}
.tl-450682d5.tl-450682d5{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#0F2D5C,#1B4F8A);display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:1.25rem}
.tl-4521d5e8.tl-4521d5e8{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:3rem}
.tl-4a01f426.tl-4a01f426{background:linear-gradient(135deg,#0F2D5C 0%,#1B4F8A 100%);padding:2rem;color:white;position:relative;overflow:hidden}
.tl-4b0bd5e9.tl-4b0bd5e9{background:white;border:1px solid rgba(26,20,16,0.08);border-radius:14px;overflow:hidden;transition:all 0.3s}
.tl-50ab6c4a.tl-50ab6c4a{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.tl-53eb7e26.tl-53eb7e26{max-width:1400px;margin:0 auto}
.tl-5501746c.tl-5501746c{background:linear-gradient(135deg,#0F2D5C 0%,#1B4F8A 100%);padding:2rem;color:white;display:flex;flex-direction:column;justify-content:center;min-width:240px}
.tl-566150df.tl-566150df{font-family:'DM Serif Display',serif;font-size:22px;color:white;font-weight:400;line-height:1.2;margin-bottom:0.75rem}
.tl-56ccf835.tl-56ccf835{background:#FAFAF8;padding:7rem 3rem;border-top:1px solid rgba(26,20,16,0.07)}
.tl-56e41cfb.tl-56e41cfb{display:flex;flex-wrap:wrap;gap:0.5rem}
.tl-5e9e9ba0.tl-5e9e9ba0{font-family:'DM Serif Display',serif;font-size:clamp(36px,4.5vw,56px);color:#1A1410;font-weight:400;line-height:1.05;margin-bottom:1.25rem}
.tl-5ee298b9.tl-5ee298b9{position:relative;padding:0;min-width:240px;width:240px;overflow:hidden}
.tl-5fb088af.tl-5fb088af{font-size:15px;color:rgba(26,20,16,0.85);max-width:540px;margin:0 auto 1.75rem;line-height:1.7;font-weight:300}
.tl-5fe8fc88.tl-5fe8fc88{display:flex;justify-content:center;gap:1rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,0.2)}
.tl-60c3c525.tl-60c3c525{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.tl-61be5192.tl-61be5192{font-family:'DM Serif Display',serif;font-size:26px;color:#1A1410;font-weight:400;line-height:1.3;margin-bottom:1rem}
.tl-61bea6e5.tl-61bea6e5{position:absolute;top:50%;right:-5%;width:60%;height:200px;opacity:0.08;pointer-events:none}
.tl-623c2f14.tl-623c2f14{background:#FAFAF8;border:1px solid rgba(26,20,16,0.08);border-radius:14px;padding:0;overflow:hidden;display:grid;grid-template-columns:auto 1fr;gap:0}
.tl-63318773.tl-63318773{font-family:'DM Serif Display',serif;font-size:18px;color:white;font-style:italic;display:flex;align-items:center}
.tl-6379a3ea.tl-6379a3ea{display:grid;gap:1.5rem}
.tl-63894167.tl-63894167{font-size:10px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.7);margin-bottom:0.75rem}
.tl-64775154.tl-64775154{font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:#C0392B;margin-bottom:1rem;margin-top:1rem}
.tl-6a379cee.tl-6a379cee{text-align:center;margin-bottom:4rem}
.tl-6c8dd869.tl-6c8dd869{font-size:11px;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:rgba(26,20,16,0.72);margin-bottom:1rem}
.tl-6f7b77ab.tl-6f7b77ab{position:absolute;top:-20px;right:-20px;opacity:0.1;font-family:'DM Serif Display',serif;font-size:120px;line-height:1;font-style:italic}
.tl-72d2ce1a.tl-72d2ce1a{text-align:center;margin-bottom:2rem}
.tl-73e22c80.tl-73e22c80{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1.25rem}
.tl-7be9c724.tl-7be9c724{font-size:36px;margin-bottom:0.5rem}
.tl-81351bd1.tl-81351bd1{font-size:24px}
.tl-8164cbbb.tl-8164cbbb{display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:center;margin-bottom:3.5rem}
.tl-819247b0.tl-819247b0{font-size:15px;color:rgba(255,255,255,0.7);max-width:540px;margin:0 auto 1.75rem;line-height:1.7;font-weight:300}
.tl-81fee4c3.tl-81fee4c3{text-align:center;padding:2.5rem;background:linear-gradient(135deg,#C0392B 0%,#E74C3C 100%);border-radius:14px;box-shadow:0 16px 40px rgba(192,57,43,0.25)}
.tl-832dcb74.tl-832dcb74{font-size:14px;color:rgba(26,20,16,0.7);line-height:1.7;font-weight:300;margin-bottom:1.5rem}
.tl-83517f61.tl-83517f61{background:linear-gradient(135deg,#926E10 0%,#866208 100%);padding:2rem;color:white;position:relative;overflow:hidden}
.tl-89ba4f2f.tl-89ba4f2f{background:linear-gradient(135deg,#C0392B 0%,#E74C3C 100%);padding:2rem;color:white;position:relative;overflow:hidden}
.tl-89f50163.tl-89f50163{font-size:56px;margin-bottom:0.5rem}
.tl-8fa8623d.tl-8fa8623d{text-align:center;padding:1.25rem;background:rgba(255,255,255,0.04);border-radius:10px;border:1px solid rgba(255,255,255,0.08)}
.tl-91554d69.tl-91554d69{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(26,20,16,0.08)}
.tl-9373452a.tl-9373452a{font-size:14px;color:rgba(255,255,255,0.85);max-width:520px;margin:0 auto 1.75rem;line-height:1.7;font-weight:300}
.tl-96ff24e5.tl-96ff24e5{font-family:'DM Serif Display',serif;font-size:26px;color:white;font-weight:400;line-height:1.3;margin-bottom:0.75rem}
.tl-98f4feae.tl-98f4feae{font-size:10px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:#FFD699;margin-bottom:0.5rem}
.tl-99a4885a.tl-99a4885a{background:linear-gradient(135deg,#12826D 0%,#0F6E5B 100%);padding:2rem;color:white;display:flex;flex-direction:column;justify-content:center;min-width:240px}
.tl-9a3e5d35.tl-9a3e5d35{text-align:center;position:relative}
.tl-9b625b68.tl-9b625b68{font-size:13px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:white;margin-top:0.5rem}
.tl-9c2c2c56.tl-9c2c2c56{font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:#C0392B;margin-bottom:1rem;margin-top:2rem}
.tl-9c530e20.tl-9c530e20{background:linear-gradient(135deg,#8B5A2B 0%,#A0522D 100%);padding:2rem;color:white;display:flex;flex-direction:column;justify-content:center;min-width:240px}
.tl-9d6820f7.tl-9d6820f7{display:flex;gap:8px;margin-bottom:6px}
.tl-a7233e26.tl-a7233e26{font-size:16px;color:rgba(26,20,16,0.85);max-width:620px;margin:0 auto;line-height:1.7;font-weight:300}
.tl-a76d597a.tl-a76d597a{display:flex;gap:8px}
.tl-a85f35da.tl-a85f35da{display:inline-flex;align-items:center;gap:8px;background:white;color:#C0392B;padding:16px 32px;border-radius:6px;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;transition:all 0.2s}
.tl-aaf0816e.tl-aaf0816e{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(26,20,16,0.08)}
.tl-ae364268.tl-ae364268{font-size:17px;color:rgba(255,255,255,0.75);line-height:1.75;font-weight:300;margin-bottom:1.5rem}
.tl-b17caaf0.tl-b17caaf0{display:inline-flex;align-items:center;gap:8px;background:rgba(146,110,16,0.2);border:1px solid rgba(146,110,16,0.5);padding:6px 16px;border-radius:100px;margin-bottom:1.5rem}
.tl-b46c6549.tl-b46c6549{background:linear-gradient(135deg,#926E10 0%,#866208 100%);padding:2rem;color:white;display:flex;flex-direction:column;justify-content:center;min-width:240px}
.tl-b48961e5.tl-b48961e5{font-family:'DM Serif Display',serif;font-size:22px;color:#FFD699;font-style:italic;line-height:1.4;margin-bottom:0}
.tl-b4ee927c.tl-b4ee927c{font-family:'DM Serif Display',serif;font-size:120px;color:white;line-height:1;font-style:italic;text-shadow:0 4px 20px rgba(0,0,0,0.3)}
.tl-b6c0538a.tl-b6c0538a{font-size:11px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:#FFD699}
.tl-b7448e54.tl-b7448e54{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#C0392B,#E74C3C);display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:1.25rem}
.tl-bb05f736.tl-bb05f736{font-family:'DM Serif Display',serif;font-size:24px;font-weight:400;line-height:1.2;text-shadow:0 2px 8px rgba(0,0,0,0.3)}
.tl-bc9eeb42.tl-bc9eeb42{background:transparent !important;border:1.5px solid currentColor;color:#FFFFFF !important}
.tl-be5bd06b.tl-be5bd06b{background:linear-gradient(135deg,#1A1410 0%,#2d2218 100%);padding:6rem 3rem;border-top:1px solid rgba(255,255,255,0.05);color:white;position:relative;overflow:hidden}
.tl-c02a3de8.tl-c02a3de8{display:inline-flex;align-items:center;gap:8px;background:transparent;color:white;padding:16px 32px;border:1.5px solid rgba(255,255,255,0.5);border-radius:6px;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;transition:all 0.2s}
.tl-c252923d.tl-c252923d{font-size:10px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:white;margin-bottom:0.5rem}
.tl-c3bd40fb.tl-c3bd40fb{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#1A1410;padding:14px 28px;border:1.5px solid rgba(26,20,16,0.2);border-radius:6px;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;transition:all 0.2s}
.tl-c7872d72.tl-c7872d72{background:linear-gradient(135deg,#C0392B 0%,#E74C3C 100%);border-radius:24px;padding:3rem 2rem;box-shadow:0 20px 50px rgba(192,57,43,0.35);position:relative;overflow:hidden}
.tl-cbe26822.tl-cbe26822{margin-top:3.5rem;text-align:center;padding:2.5rem;background:linear-gradient(135deg,#0F2D5C 0%,#1B4F8A 100%);border-radius:14px;color:white}
.tl-cebd1d98.tl-cebd1d98{list-style:none;padding:0;margin:0;font-size:13px;color:rgba(26,20,16,0.65);line-height:1.8}
.tl-d09057a3.tl-d09057a3{display:inline-flex;align-items:center;gap:8px;background:#C0392B;color:white;padding:14px 28px;border-radius:6px;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;transition:all 0.2s}
.tl-d0bfd4a6.tl-d0bfd4a6{max-width:1400px;margin:0 auto;position:relative;z-index:2}
.tl-d35b0f01.tl-d35b0f01{position:absolute;inset:0;background-image:radial-gradient(circle at 30% 40%, rgba(146,110,16,0.08) 1px, transparent 2px),radial-gradient(circle at 70% 60%, rgba(192,57,43,0.06) 1px, transparent 2px);background-size:40px 40px, 60px 60px;opacity:0.4;pointer-events:none}
.tl-d461c96d.tl-d461c96d{position:relative}
.tl-d6b91207.tl-d6b91207{font-size:13px;color:rgba(255,255,255,0.9);font-weight:300;line-height:1.5}
.tl-e08c15b5.tl-e08c15b5{background:#C0392B !important;color:white !important;margin-right:0.5rem}
.tl-e4c33e8e.tl-e4c33e8e{font-family:'DM Serif Display',serif;font-size:22px;font-weight:400;line-height:1.25;margin-bottom:0.5rem}
.tl-e522e269.tl-e522e269{background:white;padding:7rem 3rem;border-top:1px solid rgba(26,20,16,0.07)}
.tl-e86d97ca.tl-e86d97ca{font-family:'DM Serif Display',serif;font-size:clamp(36px,4.5vw,60px);color:white;font-weight:400;line-height:1.05;margin-bottom:1.5rem}
.tl-f4cb815a.tl-f4cb815a{margin-top:4rem;text-align:center;padding:2.5rem;background:white;border:1px solid rgba(26,20,16,0.08);border-radius:14px}
.tl-fc511f0c.tl-fc511f0c{margin-top:1.5rem}
.tl-fd6e7a7b.tl-fd6e7a7b{font-size:13px;font-weight:700;color:white;margin-bottom:4px}
/* Externalised from 2 inline <style> block(s) in services.html (phase-5 PR4:
   drop style-src 'unsafe-inline'). Concatenated in document order. */
.ind-tag {
  display: inline-block;
  background: white;
  border: 1px solid rgba(26,20,16,0.12);
  color: #1A1410;
  padding: 5px 12px;
  border-radius: 100px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
@media (max-width: 768px) {
  #industry-specialties .tlm-gridtemplateco8 {
    grid-template-columns: 1fr !important;
  }
  #industry-specialties .tlm-minwidth240px {
    min-width: auto !important;
  }
  #industry-specialties .tlm-gridtemplateco9 {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 768px) {
  #oversize-permits .tlm-gridtemplateco3 {
    grid-template-columns: 1fr !important;
  }
  #oversize-permits .tlm-gridtemplateco9 {
    grid-template-columns: 1fr !important;
  }
  #oversize-permits .tlm-gridtemplateco10 {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* ══ MOBILE + WCAG 2.2 AA HARDENING ══ */
/* Overflow. Measured at 320px: .nav-right ran to 415px and .footer-socials to
   379px, so both pushed the document past the viewport on every page. The
   language switcher and both nav CTAs are already duplicated inside the drawer,
   so the bar sheds them as space runs out rather than overflowing. */
@media (max-width:768px){
  .nav-right>.lang-toggle{display:none}
  .footer-socials{flex-wrap:wrap;gap:1rem 1.25rem}
  .hamburger{min-width:44px;min-height:44px;align-items:center;justify-content:center;padding:8px}
  .footer-socials a,.footer-links a{min-height:44px;display:inline-flex;align-items:center}
  .lang-toggle-mobile button{min-height:44px;padding-left:14px;padding-right:14px}
  .mobile-menu a,.mobile-menu button{min-height:44px;display:flex;align-items:center}
  /* fixed full-width furniture needs the notch insets in landscape */
  .cookie{padding-left:max(1.5rem,env(safe-area-inset-left));padding-right:max(1.5rem,env(safe-area-inset-right));padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}
  .float-cta{right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom))}
  .mobile-menu{padding-left:max(3rem,env(safe-area-inset-left));padding-right:max(3rem,env(safe-area-inset-right))}
}
@media (max-width:560px){ .nav-right>.nav-cta[href="book.html"]{display:none} }
@media (max-width:412px){ .nav-right>.nav-cta{display:none} .nav-logo-text{display:none} }
/* two-column grids that never collapsed below the 1024px breakpoint */
@media (max-width:560px){
  .stat-grid,.sm-steps,.cs-grid,.rate-fields,.faq-grid,.how-steps,.story-right{grid-template-columns:1fr!important}
}

/* Contrast. Every value below was measured against its real composited
   background; the old ones are the ratios in the comment. */
.footer-socials a{color:rgba(255,255,255,0.62)}   /* on #111 — was .30 → 2.65:1 */
.sr-btn{color:rgba(26,20,16,0.78);border-color:rgba(26,20,16,0.30)}  /* cream ground, not dark */
.cookie p{color:rgba(26,20,16,0.68)}              /* on #fff — was .50 → 3.44:1 */
.cookie-dec{color:rgba(26,20,16,0.74);border-color:rgba(26,20,16,0.38)} /* was .40 → 2.57:1 */
.marquee-item::after{color:rgba(27,79,138,0.72)!important}

/* Focus. There was no :focus-visible rule anywhere in the site; the red ring
   reads on cream (4.79:1) and on near-black (3.64:1), and the white halo keeps
   it visible where the ring sits on the red CTA itself. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:3px solid #C0392B;outline-offset:2px;box-shadow:0 0 0 5px rgba(255,255,255,.85)
}
.skip-link:focus{left:0;outline:3px solid #C0392B;outline-offset:2px}

/* Reduced motion. The existing block covered only .cta-slides and #tl-map; the
   marquee, the carousel and eleven other keyframes ran regardless. */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
  .marquee-track,.tl-carousel-track{animation:none!important}
}


/* Inline-styled grids. Roughly forty multi-column grids across the site are
   declared in a style="" attribute (repeat(3,1fr), repeat(5,1fr), 1fr 1fr …),
   so no stylesheet breakpoint could ever reach them; at 320px they ran the
   document out to 624px on about, 568px on brokers, 500px on book. On a phone
   every one of them becomes a single column. */
@media (max-width:600px){
  .tlm-gridtemplateco{grid-template-columns:1fr!important}
  .service-row{grid-template-columns:1fr!important;gap:1rem!important}
  .sr-btn{white-space:normal}
  .stat-grid,.sm-steps,.cs-grid,.rate-fields,.faq-grid,.how-steps,.story-right,
  .eq-cards,.wt-points,.safety-cards,.sm-offers,.terminals-grid,.footer-top{grid-template-columns:1fr!important}
}

/* Min-content floors. Grid and flex children default to min-width:auto, so a
   card whose contents measure 282px keeps its track at 282px however narrow the
   phone is — that is what still pushed about.html to 330px at a 320px viewport
   after the grids were collapsed. Letting them shrink, and letting single-line
   rows wrap, is the standard remedy. */
@media (max-width:600px){
  section.tlm-padding{padding-left:1.25rem!important;padding-right:1.25rem!important}
  .tlm-displaygrid>*,.tlm-displayflex>*,.track-row>*{min-width:0}
  .tlm-displayflex,.track-row{flex-wrap:wrap}
  .track-row>input,.track-row>button{flex:1 1 100%}
}

/* Last contrast holdouts, each measured on its own ground. */
.notice h2{color:#A5291D}                       /* red on its own tint: 4.34 → 5.2 */
.lane-badge.freq{color:#A5291D}                 /* 4.17 → 5.0 */
#trk-log>div{color:rgba(255,255,255,0.92)}      /* log text on a near-clear panel: 2.83 → 4.9 */
