/* Isolated service-page styles. Existing calculator styles remain untouched. */
.qt-service {
  --service-muted: #526157;
  --service-accent: #486518;
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.qt-service .qt-service__shell {
  width: min(100% - 3rem, 1120px);
  margin-inline: auto;
}
.qt-service a:focus-visible {
  outline: 3px solid var(--ink);
  outline-offset: 5px;
}
.qt-service .qt-service__skip {
  position: fixed;
  top: 1rem;
  left: 1rem;
  z-index: 5;
  padding: .75rem 1rem;
  background: var(--ink);
  color: white;
  transform: translateY(-180%);
}
.qt-service .qt-service__skip:focus { transform: translateY(0); }
.qt-service .qt-service__header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding-block: 1.75rem;
  border-bottom: 1px solid var(--line);
}
.qt-service .brand { font-size: 1.2rem; }
.qt-service .brand > span:last-child span { color: var(--service-accent); }
.qt-service .qt-service__text-link {
  color: var(--ink);
  text-decoration: none;
  font-size: .9375rem;
  font-weight: 600;
}
.qt-service .qt-service__text-link span { margin-left: .4rem; }
.qt-service .qt-service__text-link:hover { text-decoration: underline; text-underline-offset: .25rem; }
.qt-service .qt-service__hero {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
  padding-block: 5rem 5.5rem;
}
.qt-service .qt-service__eyebrow {
  display: block;
  margin: 0 0 1.15rem;
  color: var(--service-accent);
  font: 500 .8125rem/1.5 "DM Mono", monospace;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.qt-service h1 {
  margin: 0 0 1.75rem;
  max-width: none;
  font: 600 clamp(3.2rem, 6.3vw, 5rem)/1.02 Fraunces, Georgia, serif;
  letter-spacing: -.055em;
}
.qt-service h1 em {
  font-style: normal;
  text-decoration: underline;
  text-decoration-color: var(--lime);
  text-decoration-thickness: .075em;
  text-underline-offset: .07em;
}
.qt-service .qt-service__lede {
  max-width: 31rem;
  margin-bottom: 1.8rem;
  color: var(--service-muted);
  font-size: 1.125rem;
}
.qt-service .qt-service__button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  min-height: 3.25rem;
  padding: .85rem 1.25rem;
  border: 1px solid transparent;
  border-radius: .4rem;
  background: var(--lime);
  color: var(--ink);
  font-size: .9375rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
}
.qt-service .qt-service__button:hover { background: #d0f47c; border-color: var(--ink); }
.qt-service .qt-service__hero-note {
  margin: .85rem 0 0;
  color: var(--service-muted);
  font-size: .875rem;
}
.qt-service .qt-service__brief {
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-radius: .75rem;
  background: var(--blue);
  color: #fff;
}
.qt-service .qt-service__brief-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.75rem;
}
.qt-service .qt-service__brief-top .qt-service__eyebrow {
  max-width: 15rem;
  margin: 0;
  color: #d9ef9b;
}
.qt-service .qt-service__brief-mark {
  display: grid;
  place-items: center;
  flex: 0 0 2.3rem;
  height: 2.3rem;
  border: 1px solid #71958a;
  border-radius: 50%;
  color: #d9ef9b;
  font: 600 1.3rem Fraunces, Georgia, serif;
}
.qt-service h2 {
  margin: 0 0 1.25rem;
  font: 600 clamp(2rem, 3.4vw, 2.8rem)/1.12 Fraunces, Georgia, serif;
  letter-spacing: -.04em;
}
.qt-service .qt-service__brief h2 { font-size: clamp(2rem, 3.4vw, 2.7rem); }
.qt-service .qt-service__brief-list { margin: 1.75rem 0; }
.qt-service .qt-service__brief-list > div {
  padding-block: .9rem;
  border-top: 1px solid #567a70;
}
.qt-service .qt-service__brief-list dt { font-weight: 600; }
.qt-service .qt-service__brief-list dd {
  margin: .15rem 0 0;
  color: #d0dfd9;
  font-size: .9375rem;
}
.qt-service .qt-service__brief-bottom {
  margin: 0;
  padding: 1rem;
  border-left: 3px solid var(--lime);
  background: #244f47;
  color: #e2eddf;
  font-size: .9375rem;
}
.qt-service .qt-service__customization {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 5rem;
  padding-block: 4.5rem;
  border-top: 1px solid var(--line);
  scroll-margin-top: 2rem;
}
.qt-service .qt-service__section-intro > p:last-child { color: var(--service-muted); }
.qt-service .qt-service__customization-list article {
  display: flex;
  gap: 1.4rem;
  padding-block: 1.5rem;
  border-bottom: 1px solid var(--line);
}
.qt-service .qt-service__customization-list article:first-child { padding-top: 0; }
.qt-service .qt-service__number {
  flex: 0 0 1.8rem;
  padding-top: .2rem;
  color: var(--service-accent);
  font: 500 .875rem/1.6 "DM Mono", monospace;
}
.qt-service h3 { margin: 0 0 .5rem; font-size: 1.125rem; line-height: 1.4; }
.qt-service .qt-service__customization-list p { margin: 0; color: var(--service-muted); }
.qt-service .qt-service__deliverable {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 4rem;
  margin-bottom: 4.5rem;
  padding: 2.5rem;
  border: 1px solid var(--line);
  border-radius: .6rem;
  background: var(--card);
}
.qt-service .qt-service__delivery-lede { font-size: 1.125rem; }
.qt-service .qt-service__deliverable ul { padding-left: 1.2rem; margin-block: 1.25rem; }
.qt-service .qt-service__deliverable li { padding-left: .25rem; margin-block: .55rem; }
.qt-service .qt-service__deliverable li::marker { color: var(--service-accent); }
.qt-service .qt-service__scope-note {
  margin: 1.5rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
  color: var(--service-muted);
  font-size: .9375rem;
}
.qt-service .qt-service__limits { max-width: 47rem; padding-bottom: 4.5rem; }
.qt-service .qt-service__limits p:not(.qt-service__eyebrow) { color: var(--service-muted); }
.qt-service .qt-service__limits strong { color: var(--ink); }
.qt-service .qt-service__free {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 2.5rem;
  background: var(--ink);
  color: white;
  border-radius: .6rem;
}
.qt-service .qt-service__free .qt-service__eyebrow { color: #d9ef9b; }
.qt-service .qt-service__free h2 { margin-bottom: .75rem; }
.qt-service .qt-service__free p:last-child { margin: 0; color: #d0dfd9; }
.qt-service .qt-service__free .qt-service__button { flex-shrink: 0; }
.qt-service .qt-service__free a:focus-visible { outline-color: #fff; }
.qt-service .qt-service__footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem 2rem;
  padding-block: 2rem;
  color: var(--service-muted);
  font-size: .875rem;
}
.qt-service .qt-service__footer p { margin: 0; }
.qt-service .qt-service__footer nav { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.qt-service .qt-service__footer a { color: var(--ink); text-underline-offset: .25rem; }
.qt-service .qt-service__disclaimer { flex-basis: 100%; max-width: 48rem; }
.qt-service #service-main:focus { outline: none; }

@media (max-width: 800px) {
  .qt-service .qt-service__hero { grid-template-columns: 1fr; gap: 2.5rem; padding-block: 3rem; }
  .qt-service h1 { font-size: clamp(3.1rem, 9vw, 4.8rem); }
  .qt-service .qt-service__brief { max-width: 40rem; }
  .qt-service .qt-service__customization { grid-template-columns: 1fr; gap: 2rem; padding-block: 3rem; }
  .qt-service .qt-service__section-intro { max-width: 35rem; }
  .qt-service .qt-service__deliverable { grid-template-columns: 1fr; gap: .5rem; margin-bottom: 3rem; }
  .qt-service .qt-service__limits { padding-bottom: 3rem; }
  .qt-service .qt-service__free { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 420px) {
  .qt-service .qt-service__shell { width: calc(100% - 2rem); }
  .qt-service .qt-service__header { gap: .75rem; }
  .qt-service .qt-service__text-link { font-size: .875rem; }
  .qt-service .qt-service__text-link span { margin-left: .15rem; }
  .qt-service h1 { font-size: clamp(2.55rem, 12vw, 3.1rem); }
  .qt-service .qt-service__eyebrow { letter-spacing: .025em; }
  .qt-service .qt-service__deliverable, .qt-service .qt-service__free { padding: 1.5rem; }
  .qt-service .qt-service__customization-list article { gap: .75rem; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.qt-service) { scroll-behavior: auto; }
}

/* G3-02: demo-only rules; shared service styles above remain unchanged. */
.qt-demo [hidden] { display: none !important; }
.qt-demo .qt-demo__intro { max-width: 54rem; padding-block: 2.5rem 1.75rem; }
.qt-demo .qt-demo__intro h1 { font-size: clamp(2.1rem, 4.1vw, 3.25rem); margin-bottom: 1rem; }
.qt-demo .qt-demo__intro > p:last-child { max-width: 47rem; margin: 0; color: var(--service-muted); }
.qt-demo .qt-demo__workspace { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); gap: 1.5rem; align-items: start; }
.qt-demo .qt-demo__form { padding: 1.75rem; border: 1px solid var(--line); border-radius: .65rem; background: var(--card); min-width: 0; }
.qt-demo fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.qt-demo .qt-demo__form-title { font: 600 1.7rem/1.2 Fraunces, Georgia, serif; letter-spacing: -.025em; padding: 0; margin-bottom: .6rem; }
.qt-demo .qt-demo__form-heading { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; justify-content: space-between; }
.qt-demo .qt-demo__form-heading p { margin: 0; color: var(--service-muted); font-size: .875rem; }
.qt-demo #demo-reset { width: auto; min-height: 2.75rem; padding: .5rem .8rem; margin: 0; border: 1px solid var(--service-muted); background: transparent; font-size: .875rem; }
.qt-demo #demo-reset:hover { background: var(--soft-green); }
.qt-demo #demo-reset:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
.qt-demo .qt-demo__group { padding-top: 1.6rem; margin-top: 1.5rem; border-top: 1px solid var(--line); }
.qt-demo .qt-demo__group h2 { font: 700 1rem/1.4 "DM Sans", sans-serif; letter-spacing: 0; margin-bottom: .9rem; }
.qt-demo .qt-demo__hint { margin: -.3rem 0 1rem; color: var(--service-muted); font-size: .875rem; }
.qt-demo .qt-demo__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.qt-demo .qt-demo__field { min-width: 0; }
.qt-demo .qt-demo__field label { display: block; font-size: .9375rem; line-height: 1.4; font-weight: 600; margin-bottom: .5rem; }
.qt-demo .qt-demo__input-wrap { display: flex; align-items: center; gap: .4rem; border: 1px solid #89988d; border-radius: .35rem; background: #fff; padding-right: .65rem; }
.qt-demo .qt-demo__input-wrap input { width: 100%; min-width: 0; min-height: 3rem; padding: .7rem; border: 0; border-radius: .35rem; background: transparent; color: var(--ink); font: 500 1rem/1.4 "DM Mono", monospace; }
.qt-demo .qt-demo__input-wrap input:focus { outline: 3px solid var(--ink); outline-offset: 2px; }
.qt-demo .qt-demo__input-wrap input[aria-invalid="true"] { outline: 2px solid #a22c27; outline-offset: 1px; }
.qt-demo .qt-demo__input-wrap input[aria-invalid="true"]:focus { outline: 3px solid var(--ink); }
.qt-demo .qt-demo__input-wrap > span { flex-shrink: 0; font-size: .8125rem; color: var(--service-muted); }
.qt-demo .qt-demo__unit { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.qt-demo .qt-demo__error { margin: .45rem 0 0; color: #a22c27; font-size: .875rem; line-height: 1.4; }
.qt-demo .qt-demo__error:empty { display: none; }
.qt-demo .qt-demo__local-note { margin: 1.75rem 0 0; }
.qt-demo .qt-demo__results { min-width: 0; padding: 1.75rem; border-radius: .65rem; background: var(--blue); color: #fff; }
.qt-demo .qt-demo__results .qt-service__eyebrow { color: #d9ef9b; }
.qt-demo .qt-demo__results h2 { font-size: 1.7rem; }
.qt-demo .qt-demo__rate { margin: 1.5rem 0 .9rem; line-height: 1.1; }
.qt-demo #demo-rate { font: 600 clamp(2.4rem,4.6vw,4rem)/1.05 Fraunces, Georgia, serif; letter-spacing: -.035em; overflow-wrap: anywhere; }
.qt-demo .qt-demo__per { font-size: 1rem; white-space: nowrap; }
.qt-demo .qt-demo__verdict { display: inline-block; margin: 0 0 .85rem; padding: .35rem .65rem; border-radius: 1rem; background: var(--lime); color: var(--ink); font: 500 .8125rem/1.4 "DM Mono", monospace; text-transform: uppercase; }
.qt-demo .qt-demo__verdict[data-state="below"] { background: #f1c969; }
.qt-demo .qt-demo__result-context, .qt-demo #demo-invalid { color: #d0dfd9; font-size: .9375rem; }
.qt-demo .qt-demo__breakdown { margin: 1.5rem 0; }
.qt-demo .qt-demo__breakdown > div { display: flex; gap: 1rem; align-items: baseline; justify-content: space-between; padding-block: .65rem; border-top: 1px solid #567a70; }
.qt-demo .qt-demo__breakdown dt { color: #d0dfd9; font-size: .9375rem; }
.qt-demo .qt-demo__breakdown dd { min-width: 0; margin: 0; text-align: right; font: 500 .9375rem/1.5 "DM Mono", monospace; }
.qt-demo .qt-demo__subtotal dt { color: white; font-weight: 700; }
.qt-demo .qt-demo__suggestion { padding: 1.25rem; background: var(--soft-green); border-radius: .45rem; color: var(--ink); }
.qt-demo .qt-demo__suggestion h3 { font-size: .9375rem; }
.qt-demo #demo-suggested { margin: .5rem 0; font: 600 clamp(2rem,3.5vw,2.8rem)/1.2 Fraunces, Georgia, serif; letter-spacing: -.035em; overflow-wrap: anywhere; }
.qt-demo .qt-demo__suggestion p:not(#demo-suggested) { margin: .4rem 0 0; font-size: .875rem; color: #3c5442; }
.qt-demo .qt-demo__result-limit { margin: 1.5rem 0 0; padding-top: 1rem; border-top: 1px solid #567a70; color: #d0dfd9; font-size: .875rem; }
.qt-demo .qt-demo__explanation { display: grid; grid-template-columns: 1fr 1.2fr; gap: 3rem; margin-top: 3rem; padding-block: 2.5rem; border-top: 1px solid var(--line); }
.qt-demo .qt-demo__explanation > div:last-child > p { color: var(--service-muted); }
.qt-demo .qt-demo__details { margin-block: 1.5rem; border-block: 1px solid var(--line); }
.qt-demo .qt-demo__details summary { padding-block: .9rem; cursor: pointer; font-weight: 600; }
.qt-demo .qt-demo__details summary:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
.qt-demo .qt-demo__details p { font-size: .9375rem; color: var(--service-muted); }
.qt-demo .qt-demo__sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.qt-demo .qt-demo__notice { padding: 1rem; border: 1px solid #a22c27; background: #fff; color: #a22c27; }
.qt-demo #demo-main:focus { outline: none; }
@media (max-width: 850px) {
  .qt-demo .qt-demo__workspace { grid-template-columns: minmax(0,1fr); }
  .qt-demo .qt-demo__explanation { grid-template-columns: minmax(0,1fr); gap: 1rem; }
}
@media (max-width: 420px) {
  .qt-demo .qt-demo__form, .qt-demo .qt-demo__results { padding: 1.2rem; }
  .qt-demo .qt-demo__grid { grid-template-columns: minmax(0,1fr); }
  .qt-demo .qt-demo__breakdown > div { flex-wrap: wrap; gap: .25rem .75rem; }
}

/* Secondary homepage service entry; isolated from calculator and service styles. */
.qt-home-service {
  margin-block: 2rem;
  padding: clamp(1.25rem, 4vw, 2rem);
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow-wrap: anywhere;
}
.qt-home-service h2 {
  max-width: 32ch;
  font-size: clamp(1.5rem, 3vw, 2rem);
  line-height: 1.2;
}
.qt-home-service p { max-width: 65ch; margin: 1rem 0; line-height: 1.6; }
.qt-home-service a {
  display: inline-block;
  padding-block: .75rem;
  color: var(--ink);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: .25em;
}
.qt-home-service a:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }
.qt-home-service .qt-home-service__note { margin-bottom: 0; font-size: .875rem; }
