
/* v11: site-wide mobile, accessibility and form hardening */
html,body{max-width:100%;overflow-x:clip}
:root{--muted:#655f56;--gold-hdr:#765f34}
img{height:auto}
input,textarea,select,button{font:inherit}
textarea{min-height:130px;resize:vertical}
.form-note,.fine{line-height:1.55}
.notice-card{padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--color-surface)}
.price-table{width:100%;border-collapse:collapse;margin-top:24px;background:var(--color-surface);border-radius:16px;overflow:hidden}
.price-table th,.price-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.price-table th{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sage2)}
.price-table tr:last-child td{border-bottom:0}
.health-process{border-left:4px solid var(--sage);padding:18px 20px;background:rgba(61,79,58,.06);border-radius:0 14px 14px 0;margin-top:24px}
@media(max-width:980px){
  nav{display:none;visibility:hidden;pointer-events:none}
  body.menu-open nav{display:flex;visibility:visible;pointer-events:auto}
  body.menu-open{overflow:hidden}
}
@media(max-width:620px){
  .wrap{padding-left:18px;padding-right:18px}
  section{padding-top:64px;padding-bottom:64px}
  .price-table{display:block;overflow-x:auto;border-radius:12px}
  .price-table th,.price-table td{min-width:140px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:780px){
  .method-grid{grid-template-columns:1fr!important}
  .dates-grid{grid-template-columns:1fr!important;max-width:100%!important}
  .testi-grid{grid-template-columns:1fr!important;overflow:visible!important}
  .date-card,.testi-card{min-width:0!important;width:100%!important;max-width:100%!important}
  .price-table{display:table;table-layout:fixed;width:100%;max-width:100%;overflow:visible}
  .price-table th,.price-table td{min-width:0;padding:10px 7px;font-size:.72rem;overflow-wrap:anywhere}
}

/* Spam honeypots stay outside the accessibility tree and never widen the page. */
.hp-field {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  left: auto !important;
  top: auto !important;
}
.hp-field input,
.hp-field select,
.hp-field textarea {
  width: 1px !important;
  min-width: 0 !important;
  height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}


/* v12: product ladder and five-step process */
.product-process{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.product-process .method-step h3{line-height:1.25;min-height:3.75em}
.product-ladder .ways-head{max-width:760px}
.ladder-grid{align-items:stretch}
.ladder-badge{background:rgba(110,130,104,.1);color:var(--sage2)}
.product-ladder .way-card{position:relative}
.product-ladder .way-badge{align-self:flex-start}
@media(max-width:1180px){.product-process{grid-template-columns:1fr!important}}

/* v16: transition passage merged into the problem section as a closing block on the shared grid */
.problem-transition{margin-top:64px;max-width:820px}
.problem-transition .eyebrow{display:block;margin-bottom:18px}
.problem-transition h2{font-size:clamp(2rem,1.4rem + 1.8vw,2.75rem);color:var(--ink);line-height:1.1;margin:0 0 24px;max-width:800px}
.problem-transition .problem-transition-text{max-width:760px;color:var(--soft);font-size:1.08rem;line-height:1.6;margin:0}
.problem-transition .problem-transition-close{margin-top:26px;max-width:720px;color:var(--sage);font-weight:600;font-size:1.03rem;line-height:1.5}
@media(max-width:620px){
  .problem-transition{margin-top:40px}
  .problem-transition h2{margin-bottom:18px}
  .problem-transition .problem-transition-text{font-size:1rem}
  .problem-transition .problem-transition-close{margin-top:20px;font-size:1rem}
}

/* v17: scroll progress indicator */
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:80;background:transparent;pointer-events:none}
.scroll-progress::after{content:"";display:block;height:100%;width:var(--scroll-pct,0%);background:linear-gradient(90deg,var(--sage),var(--gold));transition:width .08s linear}
@media(prefers-reduced-motion:reduce){.scroll-progress::after{transition:none}}
