/* 2026-10-12 — iPhone typography and spacing; original effects remain intact.
   Outside phone media queries ONLY the user-approved icon rendering changes. */
.ws-icon {
  display: inline-block;
  width: .82em;
  height: .82em;
  overflow: visible;
  vertical-align: -.065em;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: square;
  stroke-linejoin: miter;
}
.ws-icon-spark { stroke-width: 1.35; }
.process-dial > i > .ws-icon {
  position: static;
  inset: auto;
  width: .82em;
  height: .82em;
  stroke: currentColor;
  stroke-width: 1.35;
  transform: none;
}
.process-steps li::before,
.newsletter-promises li::before {
  content: '';
  display: inline-block;
  width: .82em;
  height: .82em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.55' d='M5 19 19 5M5 5h14v14'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.55' d='M5 19 19 5M5 5h14v14'/%3E%3C/svg%3E") center / contain no-repeat;
}

@media (max-width: 760px) {
  /* Native controls must respect the deliberately light copper/paper surfaces. */
  :root { color-scheme: light; }
  .header-contact, .menu-toggle { min-width: 44px; min-height: 44px; }
  .header-contact { display: inline-flex; align-items: center; justify-content: center; }
  .hero-eyebrow { font-size: 8px; letter-spacing: 1px; line-height: 1.9; }
  .section-label, .contact-top .section-label { font-size: 9px; letter-spacing: 1.05px; }
  .hero-bottom > p, .section-aside { font-size: 14px; line-height: 1.85; }
  .hero-bottom .round-link { font-size: 12px; line-height: 1.6; }
  .hero-foot { font-size: 7px; letter-spacing: .7px; }
  .motion-toggle { min-height: 44px; font-size: 10px; }
  .contact-forge { margin-top: 18px; }
  .contact-bottom > p { font-size: 14px; line-height: 1.85; }
  .contact-bottom a:last-child { font-size: 14px; }
  .contact-bottom a { min-height: 32px; }
}
@media (max-width: 520px) {
  .hero { min-height: max(660px, 100svh); height: auto; max-height: none; }
  .hero-content { padding-top: clamp(132px, 20svh, 160px); padding-bottom: 150px; }
  .hero-art > img { opacity: .92; }
  .header-actions { gap: 10px; }
  .hero-eyebrow { gap: 8px; letter-spacing: .7px; }
  .hero-bottom { gap: 27px; }
  .hero-foot { gap: 12px; bottom: 20px; }
  .scroll-cue { gap: 9px; max-width: 220px; }
  .manifesto-bottom > p { font-size: 14px; line-height: 1.85; }
  .solution-tabs > button { font-size: clamp(17px, 4.8vw, 21px); line-height: 1.4; gap: 11px; }
  .solution-tabs > button > i { flex: 0 0 24px; text-align: right; }
  .solution-content > .text-link { font-size: 12px; }
  .contact-main { margin-top: 34px; }
  .contact-bottom { margin-top: 22px; }
  .contact-bottom a:first-child { font-size: clamp(21px, 6.1vw, 26px); white-space: nowrap; }
  .nav-dialog-foot { flex-wrap: wrap; }
  .dialog-close { width: 44px; height: 44px; top: 7px; right: 7px; }
}
@media (max-width: 360px) {
  .brand { font-size: 23px; }
  .header-actions { gap: 4px; }
  .hero-eyebrow { font-size: 7px; letter-spacing: .55px; }
  .hero-bottom > p { font-size: 13px; }
  .hero-foot { font-size: 6px; }
  .section-label, .contact-top .section-label { font-size: 8px; }
}
