/* ============================================================
   Boulder Super Nanny — Rebecca Carnahan
   Palette: copper / burnt orange (redhead + Auburn) on warm cream,
   anchored by Auburn navy.
   ============================================================ */

:root{
  --ember:      #B8431B;
  --ember-mid:  #D4622F;
  --ember-lite: #E88B54;
  --ember-wash: #F7E7DA;
  --ember-tint: #FCF1E8;

  --navy:       #16293D;
  --navy-soft:  #23405C;

  --cream:      #FDF8F2;
  --sand:       #F3E7D9;
  --sand-deep:  #E6D4C1;

  --ink:        #24201C;
  --muted:      #6E6055;
  --line:       #E3D6C8;

  --serif: "Petrona", Georgia, "Times New Roman", serif;
  --sans:  "Hanken Grotesk", "Segoe UI", system-ui, -apple-system, sans-serif;

  --wrap: 1180px;
  --r: 14px;
  --shadow: 0 1px 2px rgba(36,32,28,.05), 0 10px 30px -12px rgba(36,32,28,.16);
  --shadow-lg: 0 2px 4px rgba(36,32,28,.05), 0 28px 60px -22px rgba(36,32,28,.28);
}

*,*::before,*::after{ box-sizing:border-box; }

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

body{
  margin:0;
  font-family:var(--sans);
  font-size:17px;
  line-height:1.68;
  color:var(--ink);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img{ max-width:100%; display:block; }

a{ color:var(--ember); text-decoration-thickness:1px; text-underline-offset:3px; }
a:hover{ color:var(--ember-mid); }

h1,h2,h3,h4{ font-family:var(--serif); font-weight:600; line-height:1.14; margin:0 0 .5em; letter-spacing:-.012em; }

.wrap{ width:100%; max-width:var(--wrap); margin:0 auto; padding:0 24px; }

.skip{
  position:absolute; left:-9999px; top:0; z-index:100;
  background:var(--navy); color:#fff; padding:12px 20px; border-radius:0 0 8px 0;
}
.skip:focus{ left:0; }

:focus-visible{ outline:3px solid var(--ember-mid); outline-offset:3px; border-radius:4px; }

/* ---------------- Buttons ---------------- */
.btn{
  display:inline-block; font-family:var(--sans); font-weight:600; font-size:16px;
  padding:15px 28px; border-radius:999px; text-decoration:none; border:1.5px solid transparent;
  cursor:pointer; transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  line-height:1.2;
}
.btn-primary{ background:var(--ember); color:#fff; box-shadow:0 8px 20px -8px rgba(184,67,27,.6); }
.btn-primary:hover{ background:var(--ember-mid); color:#fff; transform:translateY(-1px); box-shadow:0 12px 26px -8px rgba(184,67,27,.65); }
.btn-ghost{ background:transparent; color:var(--navy); border-color:var(--sand-deep); }
.btn-ghost:hover{ background:var(--sand); color:var(--navy); border-color:var(--ember-lite); }

/* ---------------- Nav ---------------- */
.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(253,248,242,.88);
  backdrop-filter:saturate(160%) blur(12px);
  -webkit-backdrop-filter:saturate(160%) blur(12px);
  border-bottom:1px solid var(--line);
}
.nav-inner{ display:flex; align-items:center; justify-content:space-between; height:70px; gap:20px; }
.brand{ display:flex; align-items:center; gap:11px; text-decoration:none; color:var(--navy); }
.brand-mark{
  width:26px; height:26px; border-radius:50%; flex:none;
  background:radial-gradient(circle at 32% 30%, var(--ember-lite), var(--ember) 62%, #8E3212);
  box-shadow:0 0 0 3px var(--ember-wash);
}
.brand-text{ font-family:var(--serif); font-size:20px; font-weight:600; letter-spacing:-.01em; white-space:nowrap; }
.brand-text em{ font-style:italic; color:var(--ember); }

.nav-links{ display:flex; align-items:center; gap:6px; }
.nav-links a{
  font-size:15px; font-weight:500; color:var(--muted); text-decoration:none;
  padding:9px 14px; border-radius:999px; transition:color .15s, background .15s;
}
.nav-links a:hover{ color:var(--navy); background:var(--sand); }
.nav-links .nav-cta{
  background:var(--navy); color:#fff; font-weight:600; padding:10px 20px; margin-left:6px;
}
.nav-links .nav-cta:hover{ background:var(--ember); color:#fff; }

/* ---------------- Hero ---------------- */
.hero{ position:relative; overflow:hidden; padding:76px 0 84px; background:linear-gradient(178deg, var(--ember-tint) 0%, var(--cream) 62%); }
.hero-glow{
  position:absolute; inset:auto auto 0 50%; width:1100px; height:560px;
  transform:translateX(-50%) translateY(38%);
  background:radial-gradient(ellipse at center, rgba(212,98,47,.16), rgba(212,98,47,0) 68%);
  pointer-events:none;
}
.hero-grid{ position:relative; display:grid; grid-template-columns:1.15fr .85fr; gap:64px; align-items:center; }

.hero h1{ font-size:clamp(2.7rem, 6vw, 4.3rem); line-height:1.02; margin-bottom:.38em; letter-spacing:-.028em; }
.hero h1 .accent{
  color:var(--ember);
  font-style:italic;
}
.lede{ font-size:19.5px; line-height:1.62; color:#4A403A; max-width:34em; margin:0 0 32px; }
.lede strong{ color:var(--ink); font-weight:600; }

.hero-actions{ display:flex; flex-wrap:wrap; gap:13px; margin-bottom:44px; }

.hero-stats{
  list-style:none; margin:0; padding:26px 0 0; border-top:1px solid var(--line);
  display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
}
.hero-stats li{ display:flex; flex-direction:column; gap:2px; }
.hero-stats strong{ font-family:var(--serif); font-size:30px; font-weight:600; color:var(--ember); line-height:1; }
.hero-stats span{ font-size:13.5px; color:var(--muted); line-height:1.35; }

.hero-photo{ margin:0; position:relative; }
.hero-photo img{
  width:100%; height:auto; border-radius:var(--r);
  box-shadow:var(--shadow-lg);
  background:var(--sand);
}
.hero-photo::before{
  content:""; position:absolute; inset:-14px -14px 40px 14px;
  border:1.5px solid var(--ember-lite); border-radius:var(--r); opacity:.5; z-index:-1;
}
.hero-photo figcaption{
  margin-top:16px; display:flex; flex-direction:column; gap:2px;
}
.hero-photo figcaption strong{ font-family:var(--serif); font-size:19px; font-weight:600; }
.hero-photo figcaption span{ font-size:14px; color:var(--muted); }

/* ---------------- Credential strip ---------------- */
.strip{ background:var(--navy); color:#F0E6DC; }
.strip-inner{
  display:flex; flex-wrap:wrap; justify-content:center; gap:10px 34px;
  padding-top:17px; padding-bottom:17px;
  font-size:14.5px; font-weight:500;
}
.strip-inner span{ position:relative; padding-left:19px; }
.strip-inner span::before{
  content:""; position:absolute; left:0; top:.62em; width:7px; height:7px; border-radius:50%;
  background:var(--ember-lite);
}

/* ---------------- Section shells ---------------- */
.section{ padding:96px 0; }
.section-alt{ background:var(--sand); }
.section-tint{ background:var(--ember-tint); }
.section-dark{ background:var(--navy); color:#EFE5DB; }
.section-dark .section-title,
.section-dark h3,
.section-dark h4{ color:#fff; }
.section-dark .section-intro{ color:#CBBBAC; }
.section-dark a{ color:var(--ember-lite); }

.section-title{ font-size:clamp(2rem, 3.6vw, 2.9rem); margin-bottom:.4em; letter-spacing:-.022em; }
/* Full column width — a two-line intro that stops at 40em reads as
   accidentally truncated rather than as a deliberate measure. */
.section-intro{ font-size:19px; color:#4A403A; margin:0 0 48px; }
.section-intro.narrow{ margin-bottom:36px; }
.sub-head{ font-size:1.45rem; margin:64px 0 26px; }
.sub-head.light{ color:#fff; }

/* ---------------- About ---------------- */
.about-grid{ display:grid; grid-template-columns:1.35fr .65fr; gap:52px; align-items:start; }
.about-lead p{ margin:0 0 18px; }
.big-quote{
  font-family:var(--serif); font-size:26px; line-height:1.36; font-style:italic;
  color:var(--navy); border-left:3px solid var(--ember); padding-left:22px; margin:0 0 28px !important;
}

.cred-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  padding:28px 26px; box-shadow:var(--shadow); position:sticky; top:96px;
}
.cred-card h3{ font-size:1.15rem; margin-bottom:18px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.cred-card dl{ margin:0; }
.cred-card dl > div + div{ margin-top:18px; padding-top:18px; border-top:1px dashed var(--line); }
.cred-card dt{
  font-size:11.5px; letter-spacing:.09em; text-transform:uppercase; font-weight:700;
  color:var(--ember); margin-bottom:5px;
}
.cred-card dd{ margin:0; font-size:15px; line-height:1.5; font-weight:500; }
.cred-card dd span{ font-weight:400; color:var(--muted); font-size:14px; }

/* ---------------- Timeline ---------------- */
.timeline{ list-style:none; margin:0; padding:0; position:relative; }
.timeline::before{
  content:""; position:absolute; left:7px; top:8px; bottom:8px; width:2px;
  background:linear-gradient(var(--ember-lite), var(--sand-deep));
}
.timeline li{ position:relative; padding:0 0 32px 40px; }
.timeline li::before{
  content:""; position:absolute; left:0; top:7px; width:16px; height:16px; border-radius:50%;
  background:var(--cream); border:3px solid var(--ember);
}
.section-alt .timeline li::before{ background:var(--sand); }
.tl-date{
  display:inline-block; font-size:12.5px; font-weight:700; letter-spacing:.05em;
  color:var(--ember); margin-bottom:4px;
}
.timeline h4{ font-size:1.2rem; margin:0 0 3px; }
.tl-org{ margin:0 0 7px; font-size:14.5px; font-weight:600; color:var(--navy-soft); }
.timeline p{ margin:0; color:#544940; font-size:16px; }

/* ---------------- Beyond ---------------- */
.beyond{
  display:flex; gap:22px; align-items:flex-start; margin-top:48px;
  background:var(--ember-tint); border:1px solid var(--ember-wash);
  border-radius:var(--r); padding:28px 30px;
}
.beyond-icon{ font-size:34px; line-height:1; flex:none; }
.beyond h3{ font-size:1.25rem; margin-bottom:8px; }
.beyond p{ margin:0; color:#544940; }

/* ---------------- Testimonial slider ---------------- */
.section-quotes{ background:var(--ember-tint); }

.verify-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:2px;
  background:var(--line); border:1px solid var(--line); border-radius:var(--r); overflow:hidden;
}
.verify{ background:#fff; padding:26px 26px 28px; }
.verify h4{ font-size:1.1rem; margin-bottom:8px; color:var(--navy); position:relative; padding-left:28px; }
.verify h4::before{
  content:"✓"; position:absolute; left:0; top:-1px;
  color:var(--ember); font-weight:700; font-family:var(--sans); font-size:16px;
}
.verify p{ margin:0; font-size:15px; line-height:1.58; color:#544940; }

.slider{ position:relative; }
.slider:focus-visible{ outline:3px solid var(--ember-mid); outline-offset:8px; border-radius:var(--r); }
.slider-viewport{ overflow:hidden; border-radius:var(--r); }
.slides{
  display:flex; margin:0; padding:0; list-style:none;
  transition:transform .5s cubic-bezier(.4,.06,.2,1);
  will-change:transform;
}
.slide{ flex:0 0 100%; min-width:100%; }
.slide blockquote{
  margin:0; background:#fff; border:1px solid var(--line); border-radius:var(--r);
  padding:44px 48px 36px; box-shadow:var(--shadow); position:relative;
  min-height:230px; display:flex; flex-direction:column; justify-content:center;
}
.slide blockquote::before{
  content:"\201C"; position:absolute; top:6px; left:26px;
  font-family:var(--serif); font-size:110px; line-height:1; color:var(--ember-wash);
  pointer-events:none;
}
.slide blockquote p{
  position:relative; margin:0 0 22px;
  font-family:var(--serif); font-size:23px; line-height:1.48; color:var(--navy);
}
.slide blockquote footer{ display:flex; flex-direction:column; gap:2px; }
.slide cite{
  font-style:normal; font-weight:700; font-size:15.5px; color:var(--ink);
}
.slide footer span{ font-size:14px; color:var(--muted); }

.slider-controls{
  display:flex; align-items:center; justify-content:center; gap:18px; margin-top:24px;
}
.s-arrow{
  width:42px; height:42px; border-radius:50%; flex:none;
  display:inline-flex; align-items:center; justify-content:center;
  background:#fff; border:1.5px solid var(--sand-deep); color:var(--navy);
  cursor:pointer; transition:background .15s, border-color .15s, color .15s;
}
.s-arrow svg{ width:20px; height:20px; }
.s-arrow:hover{ background:var(--ember); border-color:var(--ember); color:#fff; }

.s-dots{ display:flex; gap:9px; }
.s-dot{
  width:9px; height:9px; padding:0; border-radius:50%; border:0; cursor:pointer;
  background:var(--sand-deep); transition:background .2s, transform .2s, width .2s;
}
.s-dot.is-active{ background:var(--ember); width:26px; border-radius:999px; }

.quotes-note{ margin:26px 0 0; font-size:15px; color:var(--muted); max-width:44em; }

/* ---------------- Model ---------------- */
.model-plain{ font-size:19px; color:#4A403A; margin:0 0 18px; max-width:62em; }

/* ---------------- Callouts ---------------- */
.callout{ border-radius:var(--r); padding:28px 30px; margin-top:36px; }
.callout h3{ font-size:1.2rem; margin-bottom:9px; }
.callout p{ margin:0; }
.callout-legal{ background:#fff; border:1px solid var(--line); border-left:4px solid var(--navy); }
.callout-bonus{ background:var(--ember-tint); border:1px solid var(--ember-wash); border-left:4px solid var(--ember); }

/* ---------------- Included grid ---------------- */
.incl-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:var(--line); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; }
.incl{ background:#fff; padding:24px 24px 26px; }
.incl h4{ font-size:1.08rem; margin-bottom:7px; color:var(--navy); }
.incl h4::before{ content:""; display:block; width:26px; height:2px; background:var(--ember); margin-bottom:12px; }
.incl p{ margin:0; font-size:15px; line-height:1.58; color:#544940; }

/* ---------------- Paperwork ---------------- */
/* Three shared rows — heading, body, note — so the rule above each note
   lands on the same line in both columns even when one note runs longer. */
.paper-grid{
  display:grid; grid-template-columns:1fr 1fr;
  column-gap:24px; row-gap:20px;
  grid-template-rows:auto 1fr auto;
}
.paper-col{
  border-radius:var(--r); padding:28px 28px 24px;
  display:grid; grid-row:span 3; grid-template-rows:subgrid;
}
.paper-you{ background:#fff; border:1px solid var(--line); }
.paper-them{ background:var(--navy); color:#E6DACE; }
.paper-them h4{ color:#fff; }
.paper-col h4{ font-size:1.2rem; margin-bottom:16px; }
.paper-col ol{ margin:0; padding-left:20px; }
.paper-col ul{ margin:0; padding-left:0; list-style:none; }
.paper-col li{ margin-bottom:11px; font-size:15.5px; line-height:1.55; }
.paper-them li{ position:relative; padding-left:26px; }
.paper-them li::before{
  content:"✓"; position:absolute; left:0; top:0; color:var(--ember-lite); font-weight:700;
}
.paper-col > .paper-note{
  margin:0; padding-top:16px; border-top:1px solid rgba(0,0,0,.1); font-size:15px;
  align-self:start;
}
.paper-them .paper-note{ border-top-color:rgba(255,255,255,.16); }

/* ---------------- Pricing ---------------- */
.price-grid{ display:grid; grid-template-columns:1fr 1fr; gap:26px; max-width:860px; margin:0 auto; }
.price-grid-single{ grid-template-columns:1fr; max-width:430px; }
.price-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  padding:30px 30px 26px; box-shadow:var(--shadow);
}
.price-card-featured{ border-color:var(--ember-lite); box-shadow:var(--shadow-lg); }
.price-tag{
  display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  padding:5px 12px; border-radius:999px; margin-bottom:16px;
}
.price-tag-host{ background:var(--ember-wash); color:#8E3212; }
.price-tag-guest{ background:#E2E9F0; color:var(--navy); }
.price-rate{ font-family:var(--serif); font-size:52px; font-weight:600; line-height:1; margin:0 0 4px; color:var(--navy); }
.price-rate span{ font-size:19px; font-weight:400; color:var(--muted); font-family:var(--sans); }
.price-sub{ margin:0 0 20px; font-size:14.5px; color:var(--muted); }
.price-card hr{ border:0; border-top:1px solid var(--line); margin:0 0 18px; }
.price-lines{ margin:0 0 20px; }
.price-lines > div{ display:flex; justify-content:space-between; gap:14px; font-size:15px; padding:6px 0; }
.price-lines dt{ color:var(--muted); }
.price-lines dd{ margin:0; font-weight:600; font-variant-numeric:tabular-nums; }
.price-total{
  display:flex; justify-content:space-between; align-items:baseline; gap:12px;
  margin:0; padding-top:16px; border-top:2px solid var(--ink);
}
.price-total span{ font-size:14px; color:var(--muted); }
.price-total strong{ font-family:var(--serif); font-size:27px; font-weight:600; color:var(--ember); }
.price-foot{ margin:12px 0 0; font-size:13px; color:var(--muted); }
.price-note{ margin:28px 0 0; font-size:16px; color:#544940; }
.price-note.small{ font-size:14px; color:var(--muted); }

/* ---------------- Comparison table ---------------- */
.compare{ overflow-x:auto; border:1px solid var(--line); border-radius:var(--r); background:#fff; }
.compare table{ width:100%; min-width:680px; border-collapse:collapse; font-size:15.5px; }
.compare caption{
  text-align:left; padding:20px 22px 0; font-size:14px; color:var(--muted); caption-side:top;
}
.compare th, .compare td{ padding:14px 22px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top; }
.compare thead th{
  font-family:var(--sans); font-size:12px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--muted); font-weight:700; border-bottom:2px solid var(--line);
}
.compare tbody tr:last-child td{ border-bottom:0; }
.compare .row-hi{ background:var(--ember-tint); }
.compare .row-hi td{ color:var(--ink); }

/* ---------------- Apply ---------------- */
.mutual{
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14);
  border-left:4px solid var(--ember-lite);
  border-radius:var(--r); padding:30px 32px; margin-bottom:12px;
}
.mutual h3{ font-size:1.45rem; margin-bottom:12px; }
.mutual p{ margin:0 0 14px; color:#D6C8BA; }
.mutual p:last-child{ margin-bottom:0; }
.mutual strong{ color:#fff; }

.process{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:2px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.12); border-radius:var(--r); overflow:hidden; }
.process li{ background:var(--navy); padding:24px 24px 26px; }
.pstep{
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px; border-radius:50%; background:var(--ember);
  color:#fff; font-weight:700; font-size:14.5px; margin-bottom:12px;
}
.process h4{ font-size:1.08rem; margin-bottom:6px; }
.process p{ margin:0; font-size:15px; line-height:1.55; color:#C5B6A8; }

/* ---------------- Form ---------------- */
.form-shell{
  margin-top:56px; background:var(--cream); color:var(--ink);
  border-radius:var(--r); padding:44px 44px 40px; box-shadow:var(--shadow-lg);
}
.apply-form h3{ font-size:1.7rem; margin-bottom:8px; color:var(--navy); }
.form-intro{ margin:0 0 30px; color:var(--muted); font-size:15.5px; }
.req{ color:var(--ember); font-weight:700; }

.apply-form fieldset{ border:0; border-top:1px solid var(--line); margin:0 0 26px; padding:22px 0 0; }
.apply-form fieldset:first-of-type{ border-top:0; padding-top:0; }
.apply-form legend{
  font-family:var(--serif); font-size:1.1rem; font-weight:600; color:var(--ember);
  padding:0 10px 0 0;
}
.field-help{ margin:2px 0 16px; font-size:14.5px; color:var(--muted); }

.cap-note{
  margin:0 0 18px; padding:11px 15px; border-radius:9px;
  background:var(--ember-tint); border:1px solid var(--ember-wash);
  border-left:3px solid var(--ember);
  font-size:14.5px; line-height:1.5; color:#5A4034;
}
.cap-note[hidden]{ display:none; }

.apply-form label{ display:block; margin-bottom:16px; font-size:14.5px; font-weight:600; color:#463C34; }
.apply-form .row{ display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }

.apply-form input[type=text],
.apply-form input[type=email],
.apply-form input[type=tel],
.apply-form select,
.apply-form textarea{
  display:block; width:100%; margin-top:6px;
  font-family:var(--sans); font-size:16px; font-weight:400; color:var(--ink);
  padding:12px 14px; border:1.5px solid var(--sand-deep); border-radius:9px;
  background:#fff; transition:border-color .15s, box-shadow .15s;
}
.apply-form textarea{ resize:vertical; line-height:1.55; }
.apply-form input:focus, .apply-form select:focus, .apply-form textarea:focus{
  outline:none; border-color:var(--ember); box-shadow:0 0 0 3px var(--ember-wash);
}
.apply-form input::placeholder, .apply-form textarea::placeholder{ color:#A8998C; }
.apply-form input[aria-invalid="true"], .apply-form select[aria-invalid="true"], .apply-form textarea[aria-invalid="true"]{
  border-color:#C0392B; box-shadow:0 0 0 3px rgba(192,57,43,.12);
}

.apply-form label.check{
  display:flex; gap:12px; align-items:flex-start; font-weight:400; font-size:15px;
  background:#fff; border:1px solid var(--line); border-radius:10px; padding:14px 16px;
}
.apply-form label.check input{ margin:3px 0 0; width:18px; height:18px; accent-color:var(--ember); flex:none; }

.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.btn-submit{ width:100%; margin-top:6px; font-size:17px; padding:17px 28px; }
.btn-submit[disabled]{ opacity:.6; cursor:not-allowed; transform:none; }

.form-status{ margin:16px 0 0; font-size:15.5px; font-weight:500; min-height:1.4em; }
.form-status.ok{ color:#1E6B41; }
.form-status.err{ color:#B3261E; }

/* ---------------- Footer ---------------- */
.footer{ background:#120E0B; color:#9E9186; padding:52px 0 44px; font-size:14px; }
.footer-inner{ display:grid; grid-template-columns:.8fr 1.6fr; gap:44px; align-items:start; }
.footer-brand{ font-family:var(--serif); font-size:22px; color:#F3E9DF; margin:0 0 6px; font-weight:600; }
.footer-brand em{ font-style:italic; color:var(--ember-lite); }
.footer-inner p{ margin:0 0 12px; line-height:1.6; }
.footer-legal p:last-child{ margin-bottom:0; }
.footer-copy{ color:#6F655C; padding-top:10px; }

/* ---------------- Responsive ---------------- */
@media (max-width:1100px){
  .verify-grid{ grid-template-columns:repeat(2,1fr); }
  .incl-grid{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:1000px){
  .hero-grid{ grid-template-columns:1fr; gap:44px; }
  .hero-photo{ max-width:400px; }
  .about-grid{ grid-template-columns:1fr; gap:36px; }
  .cred-card{ position:static; }
  /* single column — drop the shared rows, nothing left to align against */
  .paper-grid{ grid-template-columns:1fr; grid-template-rows:none; }
  .paper-col{ display:flex; flex-direction:column; grid-row:auto; }
  .price-grid{ grid-template-columns:1fr; max-width:520px; }
  .footer-inner{ grid-template-columns:1fr; gap:26px; }
}

@media (max-width:720px){
  body{ font-size:16.5px; }
  .section{ padding:68px 0; }
  .nav-links a:not(.nav-cta){ display:none; }
  .nav-inner{ height:62px; gap:12px; }
  .brand{ gap:9px; min-width:0; }
  .brand-mark{ width:21px; height:21px; box-shadow:0 0 0 2px var(--ember-wash); }
  .brand-text{ font-size:17px; }
  .nav-links .nav-cta{ padding:9px 15px; font-size:14.5px; margin-left:0; white-space:nowrap; }
  .hero{ padding:52px 0 62px; }
  .hero-stats{ grid-template-columns:1fr 1fr; gap:22px 18px; }
  .hero-actions .btn{ width:100%; text-align:center; }
  .big-quote{ font-size:22px; }
  .form-shell{ padding:28px 22px 26px; border-radius:12px; }
  .apply-form .row{ grid-template-columns:1fr; }
  .strip-inner{ justify-content:flex-start; }
  .sub-head{ margin-top:48px; }
  .verify-grid{ grid-template-columns:1fr; }
  .incl-grid{ grid-template-columns:1fr; }
  .pairs, .mutual{ padding:26px 22px; }
  .slide blockquote{ padding:34px 24px 26px; min-height:0; }
  .slide blockquote p{ font-size:19px; }
  .slide blockquote::before{ font-size:78px; left:14px; top:2px; }
}

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *{ transition:none !important; animation:none !important; }
}

@media print{
  .nav, .hero-actions, .form-shell, .strip{ display:none; }
  body{ background:#fff; }
}
