@charset "UTF-8";
:root {
  color-scheme:light;
  accent-color:#000000;
  --paper:#ffffff;
  --ink:#111111;
  --black:#000000;
  --muted:#444444;
  --line:#cccccc;
  --surface:#f3f3f3;
  --white:#ffffff;
  --accent:#22c55e;
  --accent-text:#15803d;
  --radius:12px;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:24px;
}

body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.65;
}

a {
  color:inherit;
  text-underline-offset:5px;
}

a:hover {
  text-decoration:underline;
}

a:focus-visible {
  outline:3px solid #111111;
  outline-offset:6px;
  border-radius:3px;
}

p {
  margin:0 0 1.15rem;
}

h1,h2,h3 {
  line-height:1.15;
  letter-spacing:-.035em;
  margin:0 0 1.2rem;
}

h1 {
  font-size:clamp(2.8rem,5.1vw,4.5rem);
  font-weight:650;
  letter-spacing:-.055em;
}

h1 em {
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
}

h2 {
  font-size:clamp(2rem,3.5vw,3rem);
  font-weight:620;
}

h3 {
  font-size:1.28rem;
  font-weight:650;
  line-height:1.3;
}

strong {
  font-weight:650;
}

.wrap {
  max-width:1200px;
  margin:auto;
  padding-inline:40px;
}

.section {
  padding-block:90px;
}

.eyebrow {
  font-size:.72rem;
  font-weight:750;
  letter-spacing:.14em;
  margin-bottom:20px;
}

.small {
  font-size:.82rem;
  line-height:1.65;
}

.sr-only,.skip-link:not(:focus) {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}

.skip-link:focus {
  position:fixed;
  top:10px;
  left:10px;
  z-index:10;
  padding:12px 20px;
  background:var(--white);
}

.preview-banner {
  text-align:center;
  font-size:.73rem;
  padding:7px 16px;
  background:var(--surface);
  color:var(--black);
}

.header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  padding-block:27px;
}

.brand {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:1.1rem;
  text-decoration:none;
  white-space:normal;
  letter-spacing:-.04em;
}

nav {
  display:flex;
  align-items:center;
  gap:28px;
  font-size:.84rem;
  font-weight:550;
}

nav a {
  text-decoration:none;
}

.nav-contact {
  background:var(--white);
  color:var(--ink);
  border:1px solid var(--line);
  padding:9px 15px;
  border-radius:5px;
}

.nav-contact span {
  margin-left:14px;
}

.hero {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  align-items:center;
  gap:50px;
  padding-top:45px;
  padding-bottom:70px;
}

.hero .eyebrow {
  display:flex;
  align-items:center;
  gap:9px;
}

.location-dot {
  width:7px;
  height:7px;
  flex-shrink:0;
  background:var(--accent);
  border-radius:50%;
}

.hero-description {
  font-size:1.05rem;
  color:var(--muted);
  max-width:500px;
  line-height:1.8;
  margin-block:24px 28px;
}

.button {
  display:inline-flex;
  gap:30px;
  align-items:center;
  padding:15px 23px;
  border-radius:5px;
  text-decoration:none;
  background:var(--black);
  color:var(--paper);
  font-size:.88rem;
  font-weight:650;
  box-shadow:0 3px 0 #333333;
}

.button:hover {
  background:#333333;
  text-decoration:none;
}

.button[data-contact="call"] {
  background:var(--accent);
  color:var(--ink);
}

.button[data-contact="call"]:is(:hover,:active) {
  background:var(--ink);
  color:var(--white);
}

.button span {
  font-size:1.25rem;
}

.hero-contact-actions {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}

.hero-contact-actions .hero-call {
  flex-direction:column;
  justify-content:center;
  gap:4px;
  width:100%;
  max-width:26rem;
  padding:12px 6px;
  line-height:1.4;
  text-align:center;
}

.hero-call .call-label {
  font-size:.8125rem;
}

.hero-call .call-number {
  font-size:1.25rem;
}

.hero-contact-actions .message-button {
  justify-content:center;
  max-width:100%;
  min-height:44px;
  padding:10px 12px;
  background:#1d3557;
  color:var(--white);
  font-size:1rem;
  line-height:1.5;
  text-align:center;
}

.hero-contact-actions .message-button:is(:hover,:active) {
  background:var(--ink);
}

#contact-form {
  scroll-margin-top:24px;
}

#contact-form:focus-visible {
  outline:3px solid var(--ink);
  outline-offset:6px;
}

.intro-strip a[href="#contact-form"] {
  text-decoration:underline;
}

.hero-note {
  font-size:.75rem;
  color:var(--accent-text);
  font-weight:600;
  margin-top:16px;
  margin-bottom:0;
}

.hero-photo {
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  height:auto;
  border-radius:var(--radius);
}

.intro-strip {
  border-block:1px solid var(--line);
  background:#f5f5f5;
}

.intro-strip .wrap {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:65px;
  align-items:center;
  padding-block:28px;
}

.intro-strip p {
  margin:0;
  font-size:.92rem;
  max-width:465px;
}

.intro-strip p:first-child {
  font-size:1.1rem;
}

.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:50px;
  margin-bottom:40px;
}

.section-heading h2 {
  margin:0;
}

.section-heading>p {
  max-width:360px;
  color:var(--muted);
  font-size:.95rem;
  margin:0;
}

.service-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}

.service {
  padding:30px 27px 28px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.service-number {
  display:block;
  font-size:.72rem;
  color:#555555;
  margin-bottom:25px;
}

.service h3 {
  max-width:290px;
  min-height:3.9rem;
}

.service p,.service li {
  font-size:.85rem;
  color:var(--muted);
}

.service ul {
  padding-left:17px;
  margin-bottom:0;
}

.service li {
  margin-bottom:7px;
}

.service li::marker {
  color:#666666;
}

.pricing {
  background:var(--surface);
  color:var(--ink);
}

.pricing .eyebrow {
  color:#444444;
}

.pricing .section-heading>p {
  color:#444444;
}

.pricing-grid {
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:24px;
}

.labor-panel {
  padding:35px;
  background:#ffffff;
  border:1px solid #cccccc;
  border-radius:var(--radius);
}

.labor-panel .eyebrow {
  margin-bottom:10px;
}

.rate {
  font-size:4.2rem;
  line-height:1.15;
  letter-spacing:-.07em;
  margin-bottom:8px;
  font-weight:600;
}

.rate span {
  font-size:1rem;
  letter-spacing:0;
  font-weight:400;
  margin-left:10px;
  color:#444444;
}

.minimum {
  font-size:1rem;
}

.labor-panel>p:not(.rate,.eyebrow,.minimum) {
  font-size:.87rem;
  color:#333333;
}

.price-divider {
  border-top:1px solid #cccccc;
  margin-block:25px;
}

dl {
  font-size:.85rem;
}

dl div {
  display:flex;
  gap:20px;
  justify-content:space-between;
  margin-bottom:12px;
}

dd {
  margin:0;
  text-align:right;
}

.travel-panel {
  padding:28px 20px;
}

.travel-panel>p {
  color:#444444;
  font-size:.88rem;
}

table {
  border-collapse:collapse;
  width:100%;
  margin-block:25px;
  font-size:.9rem;
  text-align:left;
}

th,td {
  padding:16px 0;
  border-bottom:1px solid #cccccc;
}

thead {
  font-size:.72rem;
  color:#444444;
}

tbody th {
  font-weight:450;
}

td,thead th:last-child {
  text-align:right;
  padding-left:16px;
}

.diagnosis-note {
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:35px;
  border-top:1px solid #cccccc;
  padding-top:25px;
  margin-top:35px;
  font-size:.85rem;
}

.diagnosis-note p {
  margin:0;
  color:#333333;
}

.steps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:45px;
  margin-top:45px;
}

.steps article {
  border-top:1px solid var(--line);
  padding-top:24px;
}

.steps span {
  display:block;
  font-size:.68rem;
  font-weight:650;
  letter-spacing:.08em;
  margin-bottom:20px;
  color:var(--muted);
}

.steps h3 {
  font-size:1.2rem;
}

.steps p {
  font-size:.91rem;
  color:var(--muted);
  margin:0;
}

.shield-check {
  flex-shrink:0;
  color:var(--accent-text);
}

.insurance-trust {
  padding-bottom:32px;
}

.insurance-summary {
  display:flex;
  align-items:flex-start;
  gap:12px;
  border-top:1px solid var(--line);
  padding-top:24px;
}

.insurance-summary>div {
  min-width:0;
  max-width:800px;
}

.insurance-summary h2 {
  font-size:1.2rem;
  margin-bottom:8px;
  line-height:1.3;
}

.insurance-summary p {
  font-size:.94rem;
  color:var(--muted);
  margin:0;
}

.about-insurance {
  border-top:1px solid var(--line);
  margin-top:28px;
  padding-top:24px;
}

.about-insurance p {
  font-size:.97rem;
  line-height:1.9;
}

.about-insurance p:last-child {
  margin-bottom:0;
}

.insurance-indicator {
  display:flex;
  align-items:flex-start;
  gap:8px;
  color:var(--muted);
  font-size:.82rem;
}

.insurance-indicator .shield-check {
  width:18px;
  height:18px;
  margin-top:2px;
}

.about {
  background:var(--surface);
}

.about-grid {
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:90px;
}

.about-photo {
  display:block;
  width:100%;
  max-width:400px;
  height:auto;
  margin-top:30px;
  border-radius:var(--radius);
}

.about-tagline {
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.65rem;
  font-style:italic;
  color:#444444;
  line-height:1.4;
  margin-top:30px;
}

.about-copy>p {
  font-size:.97rem;
  line-height:1.9;
}

.about-copy>p:first-child {
  font-size:1.2rem;
  color:var(--black);
}

.text-link {
  font-size:.87rem;
  font-weight:650;
  display:inline-block;
  margin-top:8px;
}


.contact {
  border-top:1px solid var(--line);
  background:#f5f5f5;
}

.contact-grid {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:90px;
  align-items:center;
}

.contact-grid>div>p {
  max-width:470px;
  font-size:.94rem;
}

.service-area {
  margin-top:27px;
  color:var(--muted);
  font-size:.85rem!important;
}

.contact-panel {
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:35px;
}

.contact-panel .contact-status {
  display:inline-block;
  background:var(--surface);
  padding:5px 10px;
  border-radius:4px;
  letter-spacing:.08em;
  font-size:.64rem;
  font-weight:700;
  margin-bottom:25px;
}

.contact-panel h3 {
  font-size:1.4rem;
}

.contact-panel>p {
  font-size:.88rem;
}

.contact-panel .small {
  font-size:.77rem;
  color:var(--muted);
  margin-bottom:0;
}

.contact-phone {
  font-size:1.8rem;
  font-weight:650;
  display:block;
  overflow-wrap:anywhere;
}

.contact-email {
  display:block;
  overflow-wrap:anywhere;
  margin-bottom:18px;
}

.footer {
  padding-block:35px;
  background:var(--surface);
  color:var(--ink);
}

.footer-grid {
  display:grid;
  grid-template-columns:1fr 1.2fr .8fr;
  gap:30px;
}

.footer-name {
  font-size:1rem;
  font-weight:600;
  text-decoration:none;
}

.footer p,.footer a:not(.footer-name) {
  font-size:.73rem;
  color:#444444;
}

.footer p {
  margin-top:8px;
  margin-bottom:0;
}

.footer-grid>div:nth-child(2)>a {
  display:block;
}

.footer-legal {
  text-align:right;
}

.privacy {
  max-width:830px;
  min-height:70vh;
  padding-top:55px;
}

.privacy h1 {
  font-size:3.5rem;
}

.privacy h2 {
  font-size:1.5rem;
  margin-top:35px;
}

.privacy p {
  color:var(--muted);
}

.privacy .lead {
  font-size:1.2rem;
}

.content-page {
  border-top:1px solid var(--line);
}

.content-hero {
  max-width:1000px;
  padding-top:75px;
  padding-bottom:60px;
}

.content-hero h1 {
  max-width:900px;
}

.content-lead {
  max-width:780px;
  color:var(--muted);
  font-size:1.28rem;
  line-height:1.7;
}

.content-note {
  max-width:780px;
  margin-top:24px;
  padding-left:18px;
  border-left:3px solid var(--accent);
  color:var(--muted);
  font-size:.9rem;
}

.content-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:22px;
  margin-top:30px;
}

.content-actions .text-link {
  margin:0;
}

.content-jump {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px 22px;
  padding-block:22px;
  border-block:1px solid var(--line);
  font-size:.82rem;
}

.content-jump strong {
  margin-right:8px;
}

.content-section {
  padding-block:80px;
  scroll-margin-top:20px;
}

.content-grid {
  display:grid;
  grid-template-columns:minmax(230px,.75fr) minmax(0,1.4fr);
  gap:80px;
}

.content-grid>div>p:last-child,
.content-section>.wrap>p:last-child {
  margin-bottom:0;
}

.content-muted {
  background:var(--surface);
}

.content-dark {
  background:var(--black);
  color:var(--white);
}

.content-dark :is(p,li) {
  color:#e5e5e5;
}

.content-dark a {
  color:var(--white);
}

.check-list,.warning-list,.guide-steps {
  padding-left:1.25rem;
  margin:0 0 1.5rem;
}

.check-list li,.warning-list li,.guide-steps li {
  margin-bottom:.75rem;
}

.check-list li::marker {
  color:var(--accent-text);
}

.warning-list li::marker {
  color:#b91c1c;
}

.guide-steps li {
  padding-left:.35rem;
  margin-bottom:1.35rem;
}

.process-cards,.cause-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:35px;
}

.process-cards section,.cause-grid section {
  padding:28px;
  border:1px solid var(--line);
  background:var(--white);
}

.process-cards span {
  display:block;
  margin-bottom:20px;
  color:var(--muted);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.1em;
}

.process-cards p,.cause-grid p {
  color:var(--muted);
  font-size:.9rem;
  margin-bottom:0;
}

.content-price-grid {
  display:grid;
  grid-template-columns:.75fr .75fr 1.5fr;
  gap:20px;
  margin-top:45px;
}

.content-rate,.content-travel {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
}

.content-rate {
  display:flex;
  flex-direction:column;
}

.content-rate span {
  color:var(--muted);
  font-size:.78rem;
}

.content-rate strong {
  display:block;
  margin-block:14px;
  font-size:3.5rem;
  line-height:1;
  letter-spacing:-.06em;
}

.content-rate p,.content-travel p {
  color:var(--muted);
  font-size:.85rem;
  margin-bottom:0;
}

.content-travel table {
  margin-block:10px 20px;
}

.cause-grid {
  margin-bottom:30px;
}

.cause-grid section {
  border-color:#444444;
  background:#111111;
}

.cause-grid p {
  color:#d4d4d4;
}



@media(min-width:1500px) {
  .hero {
    gap:60px;
  }
}

@media(max-width:1000px) {
  .hero-call .call-label {
    font-size:clamp(.875rem,3.7vw,1rem);
  }
  .wrap {
    padding-inline:28px;
  }
  .hero {
    gap:30px;
  }
  .service {
    padding:25px 20px;
  }
  .about-grid,.contact-grid {
    gap:50px;
  }
  .service h3 {
    font-size:1.15rem;
    min-height:4.5rem;
  }
  .section {
    padding-block:65px;
  }
}

@media(max-width:740px) {
  .wrap {
    padding-inline:22px;
  }
  .header {
    flex-wrap:wrap;
    gap:18px;
    padding-block:20px;
  }
  .brand {
    font-size:1rem;
  }
  nav {
    gap:20px;
    font-size:.78rem;
    justify-content:space-between;
    width:100%;
  }
  .nav-contact {
    padding:5px 10px;
  }
  .nav-contact span {
    margin-left:5px;
  }
  .hero {
    grid-template-columns:1fr;
    gap:35px;
    padding-top:25px;
    padding-bottom:40px;
  }
  .hero-copy {
    max-width:540px;
  }
  .hero h1 {
    font-size:clamp(2.65rem,8vw,3.7rem);
  }
  .hero-description {
    font-size:.97rem;
    margin-block:20px 24px;
  }
  .intro-strip .wrap {
    grid-template-columns:1fr;
    gap:15px;
    padding-block:25px;
  }
  .intro-strip p {
    max-width:none;
  }
  .section-heading {
    align-items:flex-start;
    flex-direction:column;
    gap:20px;
    margin-bottom:30px;
  }
  .section-heading>p {
    max-width:500px;
  }
  .service-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .service h3 {
    min-height:4.4rem;
  }
  .pricing-grid {
    grid-template-columns:1fr;
    gap:20px;
  }
  .labor-panel {
    padding:28px;
  }
  .travel-panel {
    padding:12px 2px;
  }
  .diagnosis-note {
    grid-template-columns:1fr;
    gap:10px;
    margin-top:20px;
  }
  .steps {
    grid-template-columns:1fr;
    gap:28px;
    margin-top:30px;
  }
  .steps span {
    margin-bottom:13px;
  }
  .steps h3 {
    margin-bottom:12px;
  }
  .about-grid,.contact-grid {
    grid-template-columns:1fr;
    gap:30px;
  }
  .about-tagline {
    font-size:1.4rem;
    margin-bottom:0;
  }
  .about-copy>p:first-child {
    font-size:1.1rem;
  }
  .contact-panel {
    padding:25px;
  }
  .footer-grid {
    grid-template-columns:1fr;
    gap:20px;
  }
  .footer-legal {
    text-align:left;
  }
  .preview-banner span {
    display:none;
  }
  .section {
    padding-block:55px;
  }
  .content-hero {
    padding-top:50px;
    padding-bottom:45px;
  }
  .content-hero h1 {
    font-size:clamp(2.4rem,10vw,3.2rem);
  }
  .content-lead {
    font-size:1.08rem;
  }
  .content-jump {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:stretch;
    gap:8px;
    padding-block:16px;
    counter-reset:content-jump;
  }
  .content-jump strong {
    grid-column:1/-1;
    margin:0;
  }
  .content-page .content-jump a {
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    justify-content:initial;
    gap:7px;
    min-width:0;
    min-height:48px;
    padding:6px 8px;
    border:1px solid var(--line);
    border-radius:6px;
    line-height:1.25;
    text-align:left;
    overflow-wrap:normal;
    word-break:normal;
    counter-increment:content-jump;
  }
  .content-page .content-jump a::before {
    content:counter(content-jump,decimal-leading-zero);
    color:var(--muted);
    font-size:.72rem;
    font-variant-numeric:tabular-nums;
    letter-spacing:.04em;
  }
  .content-grid {
    grid-template-columns:1fr;
    gap:24px;
  }
  .content-section {
    padding-block:55px;
  }
  .process-cards,.cause-grid,.content-price-grid {
    grid-template-columns:1fr;
  }
  .process-cards,.cause-grid {
    gap:16px;
  }
  .content-actions {
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:420px) {
  .service-grid {
    grid-template-columns:1fr;
  }
  .service h3 {
    min-height:0;
    max-width:270px;
  }
  .service-number {
    margin-bottom:15px;
  }
  nav {
    gap:10px;
  }
  .hero h1 {
    font-size:2.65rem;
  }
  .button {
    gap:20px;
  }
  .rate {
    font-size:3.7rem;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
}

/* Form controls inherit the existing type, colors, spacing and focus treatment. */
.contact-panel fieldset {
  border:0;
  padding:0;
  margin:0;
  min-width:0;
}
.contact-panel label {
  display:block;
}
.contact-panel input:not([type="hidden"]),
.contact-panel select,
.contact-panel textarea {
  width:100%;
  max-width:100%;
  font:inherit;
  color:var(--ink);
  background:var(--white);
  border:1px solid var(--line);
  border-radius:5px;
  padding:9px;
}
.contact-panel textarea {
  resize:vertical;
}
.contact-panel button {
  font:inherit;
  color:inherit;
  border:1px solid var(--line);
  border-radius:5px;
  background:var(--paper);
  padding:9px 15px;
  cursor:pointer;
}
.contact-panel :is(input,select,textarea,button):focus-visible {
  outline:3px solid #111111;
  outline-offset:3px;
}
.contact-panel fieldset:disabled {
  opacity:.65;
}
.contact-panel fieldset:disabled button {
  cursor:not-allowed;
}

::selection {
  background:#dddddd;
  color:#111111;
}
.button:active {
  background:#222222;
}
:is(.nav-contact,.contact-panel button):hover:not(:disabled) {
  background:#f3f3f3;
}
:is(.nav-contact,.contact-panel button):active:not(:disabled) {
  background:#eeeeee;
}

/* Mobile/tablet readability: preserve desktop typography and the existing monochrome layout. */
@media(max-width:1000px) {
  body {
    --muted:#333333;
    font-size:clamp(1.125rem, 1rem + .5vw, 1.25rem);
    line-height:1.6;
    overflow-wrap:break-word;
  }
  :is(.hero-description,.intro-strip p,.section-heading>p,.service p,.service li,
      .labor-panel>p:not(.rate,.eyebrow),.travel-panel>p,.diagnosis-note,.steps p,
      .about-copy>p,.about-copy>p:first-child,.about-insurance p,.insurance-summary p,
      .contact-grid>div>p,
      .contact-panel>p,.privacy p,.content-page p,.content-page li) {
    font-size:inherit;
    line-height:1.6;
  }
  :is(.small,.contact-panel .small,
      .service-number,.steps span,.preview-banner,.rate span,thead,.eyebrow,
      .contact-panel .contact-status) {
    font-size:1rem;
    line-height:1.6;
  }
  .service-area {
    font-size:1.0625rem!important;
    line-height:1.6;
  }
  .hero h1 {
    font-size:clamp(2.375rem, 8.8vw, 2.5rem);
  }
  :is(h1,h2,h3) {
    overflow-wrap:anywhere;
  }
  .hero-note {
    font-size:1.0625rem;
    line-height:1.6;
    font-weight:600;
    color:var(--accent-text);
  }
  .header {
    min-width:0;
  }
  nav {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    font-size:1rem;
  }
  nav a {
    flex:1 1 4.5rem;
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    min-height:44px;
    padding:8px 0;
    text-align:center;
    overflow-wrap:anywhere;
  }
  nav .nav-contact {
    flex-basis:100%;
    padding:8px 12px;
  }
  .button {
    min-height:48px;
    max-width:100%;
    padding:12px 16px;
    font-size:clamp(1.0625rem, 1rem + .25vw, 1.125rem);
    line-height:1.5;
    white-space:normal;
  }
  :is(.brand,main a,a[href^="tel:"],a[href^="mailto:"],.footer a,.text-link) {
    display:inline-flex;
    align-items:center;
    min-height:44px;
    max-width:100%;
    overflow-wrap:anywhere;
  }
  a.contact-phone {
    display:flex;
    font-size:clamp(1.625rem, 1.5rem + 1vw, 1.875rem);
    line-height:1.5;
  }
  .footer p,.footer a:not(.footer-name) {
    font-size:1rem;
    line-height:1.6;
  }
  table {
    font-size:1.125rem;
  }
  th,td {
    overflow-wrap:anywhere;
  }
  :is(.hero-copy,.contact-grid>div,.section-heading>div,.service,.steps article,
      .about-copy,.footer>*) {
    min-width:0;
  }
  .contact-panel :is(input:not([type="hidden"]),select,button) {
    min-height:48px;
  }
  .contact-panel :is(input,select,textarea,button) {
    font-size:inherit;
    line-height:1.6;
  }
  .contact-panel fieldset:disabled {
    opacity:1;
  }
  .contact-panel :is(input,select,textarea,button):disabled {
    background:var(--surface);
    color:var(--muted);
  }
}
