/* ==========================================================
   Mary P. Coaching — Online Personal Training website
   ========================================================== */

:root{
  --color-bg: #faeef1;
  --color-bg-alt: #f3dbe1;
  --color-dark: #7a0f26;
  --color-dark-soft: #8f1c34;
  --color-text: #3a2028;
  --color-text-muted: #9c7f86;
  --color-accent: #3d2417;
  --color-accent-dark: #2a1810;
  --color-accent-soft: #e0cbb5;
  --color-blush: #f0c4cd;
  --color-border: #e6c3cb;
  --radius-sm: 10px;
  --radius-md: 20px;
  --radius-lg: 32px;
  --shadow-md: 0 12px 30px -12px rgba(122,15,38,0.18);
  --shadow-lg: 0 24px 60px -20px rgba(122,15,38,0.28);
  --font-display: 'Bodoni Moda', serif;
  --font-body: 'Manrope', system-ui, sans-serif;
  --max-width: 1180px;
}

*,*::before,*::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  font-family: var(--font-body);
  color: var(--color-text);
  background: linear-gradient(to left, #ffffff 0%, #fdf1f4 30%, #f9d9e3 65%, #f4c7d5 100%);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ margin:0 0 .5em; font-family: var(--font-display); letter-spacing:0; line-height:1.08; font-weight:700; }
p{ margin:0 0 1em; }
.container{ max-width: var(--max-width); margin:0 auto; padding: 0 24px; }
.section{ padding: 96px 0; }

/* ---------- Reveal animation ---------- */
.reveal{ opacity:0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.reveal.is-visible{ opacity:1; transform: translateY(0); }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 15px 30px; border-radius: 999px; font-weight:700; font-size:.95rem;
  border: 2px solid transparent; cursor:pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
  white-space: nowrap;
}
.btn:hover{ transform: translateY(-2px); }
.btn-primary{ background: var(--color-accent); color:#fff; box-shadow: var(--shadow-md); }
.btn-primary:hover{ background: var(--color-accent-dark); }
.btn-dark{ background: var(--color-dark); color:#fff; }
.btn-dark:hover{ background: var(--color-dark-soft); }
.btn-ghost{ background: transparent; color: var(--color-dark); border-color: var(--color-dark); }
.btn-ghost:hover{ background: var(--color-dark); color:#fff; }
.btn-outline{ background: transparent; color: var(--color-accent); border-color: var(--color-accent); width:100%; }
.btn-outline:hover{ background: var(--color-accent); color:#fff; }
.btn-block{ width:100%; }
.btn-sm{ padding: 10px 20px; font-size:.85rem; }
.btn-lg{ padding: 20px 38px; font-size: 1.05rem; }

.eyebrow{
  display:flex; align-items:center; gap:10px; justify-content:center;
  text-transform: uppercase; letter-spacing: 2px; font-weight:800; font-size:.78rem;
  color: var(--color-accent-dark); margin-bottom: 10px;
}
.about-content .eyebrow{ justify-content:flex-start; }
.lead{ font-size:1.1rem; color: var(--color-text-muted); max-width: 620px; }
.section-head{ text-align:center; max-width: 680px; margin: 0 auto 56px; }
.section-head .lead{ margin: 0 auto; }
.highlight{ color: var(--color-accent); }

/* ---------- Header ---------- */
.site-header{
  position: fixed; top:0; left:0; right:0; z-index: 500;
  background: rgba(250,248,245,0.85); backdrop-filter: blur(10px);
  border-bottom: 1px solid transparent;
  transition: border-color .3s ease, box-shadow .3s ease;
}
.site-header.scrolled{ border-color: var(--color-border); box-shadow: 0 4px 20px -10px rgba(0,0,0,.15); }
.header-inner{ display:flex; align-items:center; justify-content:space-between; height: 78px; }
.logo{ display:flex; flex-direction:column; align-items:flex-start; line-height:1; gap:2px; }
.logo-name{
  font-family: var(--font-display); font-weight: 900; text-transform: uppercase;
  font-size: 1.4rem; letter-spacing: -0.01em; color: var(--color-dark);
}
.logo-tag{
  font-family: var(--font-body); font-weight: 700; text-transform: uppercase;
  font-size: .62rem; letter-spacing: 3px; color: var(--color-accent-dark);
}
.main-nav ul{ display:flex; gap: 32px; }
.nav-link{ font-weight:600; font-size:.95rem; position:relative; padding: 4px 0; }
.nav-link::after{
  content:''; position:absolute; left:0; bottom:-2px; height:2px; width:0; background: var(--color-accent);
  transition: width .25s ease;
}
.nav-link:hover::after, .nav-link.active::after{ width:100%; }
.header-actions{ display:flex; align-items:center; gap:16px; }

.hamburger{ display:none; flex-direction:column; justify-content:center; gap:5px; width:32px; height:32px; background:none; border:none; cursor:pointer; padding:0; }
.hamburger span{ width:100%; height:2px; background: var(--color-dark); border-radius:2px; transition: transform .25s ease, opacity .25s ease; }
.hamburger.open span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2){ opacity:0; }
.hamburger.open span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

/* ---------- Hero ---------- */
.hero{ position:relative; padding: 190px 0 100px; overflow:hidden; }
.hero-bg{
  position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(circle at 85% 15%, rgba(180,20,50,0.16), transparent 45%),
    radial-gradient(circle at 25% 30%, rgba(147,100,63,0.16), transparent 40%),
    radial-gradient(circle at 10% 90%, rgba(122,15,38,0.10), transparent 45%);
}
.hero-inner{ text-align:center; max-width: 820px; }
.hero h1{ margin-bottom: .4em; }
.headline-bold{
  display:block; font-family: var(--font-display); font-weight: 900;
  font-size: clamp(2.6rem, 6.8vw, 4.8rem); letter-spacing: -0.01em; line-height: 1.05;
  color: var(--color-dark); text-transform: uppercase;
}
.headline-italic{
  display:inline-block; font-family: var(--font-display); font-style: italic; font-weight: 600;
  font-size: clamp(2.2rem, 5.8vw, 4rem); line-height: 1.15; color: var(--color-accent-dark);
  position: relative; padding-bottom: 14px;
}
.headline-italic::after{
  content:''; position:absolute; left:2%; right:2%; bottom:-4px; height:20px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 20' preserveAspectRatio='none'%3E%3Cpath d='M4 15 C 100 7, 200 2, 296 4' stroke='%233d2417' stroke-opacity='0.8' stroke-width='4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-size: 100% 100%;
}
.hero-sub{ font-size: 1.15rem; color: var(--color-text-muted); max-width: 620px; margin: 0 auto 28px; }
.hero-promises{
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap: 10px 18px;
  margin: 0 auto 32px; font-weight: 800; font-size: .95rem; letter-spacing: .01em; color: var(--color-accent-dark);
}
.hero-promises span{ position:relative; padding-right: 18px; }
.hero-promises span::after{
  content: '·'; position:absolute; right: -4px; top: 50%; transform: translateY(-55%);
  color: var(--color-border); font-size: 1.3rem;
}
.hero-promises span:last-child{ padding-right:0; }
.hero-promises span:last-child::after{ content: none; }
.hero-cta{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-bottom: 56px; }

.hero-highlights{
  display:flex; flex-wrap:wrap; justify-content:center; gap: 12px;
  border-top: 1px solid var(--color-border); padding-top: 32px;
}
.hero-highlights span{
  background:#fff; border: 1px solid var(--color-border); border-radius: 999px;
  padding: 10px 18px; font-size:.85rem; font-weight:700; color: var(--color-text);
}

/* ---------- Trust strip ---------- */
.trust-strip{ background: var(--color-dark); padding: 22px 0; }
.trust-inner{ display:flex; align-items:center; gap: 28px; flex-wrap:wrap; justify-content:center; }
.trust-inner p{ margin:0; color: rgba(255,255,255,.55); font-size:.8rem; text-transform:uppercase; letter-spacing:1px; }
.trust-inner ul{ display:flex; gap: 28px; flex-wrap:wrap; }
.trust-inner li{ color: rgba(255,255,255,.85); font-weight:700; font-size:.9rem; letter-spacing:.5px; }

/* ---------- About ---------- */
.about-inner{ display:grid; grid-template-columns: 0.85fr 1.15fr; gap: 72px; align-items:center; }
.photo-frame{ aspect-ratio: 4/5; position:relative; }
.coach-photo{ width:100%; height:100%; object-fit:cover; display:block; }
.about-media{ position:relative; }
.about-badge{
  position:absolute; bottom: -24px; right: -24px; background: #fff; border-radius: var(--radius-md);
  padding: 18px 22px; box-shadow: var(--shadow-md); text-align:center; min-width:150px;
  border: 1px solid var(--color-blush);
}
.about-badge strong{ display:block; font-family: var(--font-display); font-size: 2rem; color: var(--color-accent); }
.about-badge span{ font-size:.78rem; color: var(--color-text-muted); font-weight:600; }
.about-content h2{ font-size: clamp(2rem, 4vw, 2.8rem); color: var(--color-dark); }
.checklist{ margin: 24px 0 32px; display:flex; flex-direction:column; gap: 12px; }
.checklist li{ position:relative; padding-left: 32px; font-weight:600; color: var(--color-text); }
.checklist li::before{
  content:'✓'; position:absolute; left:0; top:0; width:22px; height:22px; border-radius:50%;
  background: var(--color-accent-soft); color: var(--color-accent-dark); font-size:.75rem; font-weight:800;
  display:flex; align-items:center; justify-content:center;
}

/* ---------- Progress gallery ---------- */
.progress-gallery{ grid-column: 1 / -1; margin-top: 64px; text-align:center; }
.progress-grid{ display:grid; grid-template-columns: repeat(2, 1fr); gap: 16px; max-width: 420px; margin: 16px auto 12px; }
.progress-photo{
  width:100%; aspect-ratio: 3/4; object-fit: cover; object-position: top;
  border-radius: var(--radius-md); border: 1px solid var(--color-border); box-shadow: var(--shadow-md);
}
.progress-grid img:first-child{ object-position: bottom; }
.progress-note{ font-size:.85rem; color: var(--color-text-muted); }

/* ---------- Free call CTA ---------- */
.free-call-inner{ max-width: 760px; margin: 0 auto; text-align:center; }
.split-heading{ margin-bottom: 20px; }
.split-heading-bold{
  display:block; font-family: var(--font-display); font-weight: 900; text-transform: uppercase;
  font-size: clamp(1.9rem, 4.4vw, 3rem); letter-spacing: -0.01em; line-height: 1.08; color: var(--color-dark);
}
.split-heading-italic{
  display:block; font-family: var(--font-display); font-style: italic; font-weight: 600;
  font-size: clamp(1.7rem, 3.8vw, 2.6rem); line-height: 1.15; color: var(--color-accent-dark);
}
.free-call-copy{ margin: 0 auto 32px; }
.struggle-tags{ display:flex; flex-wrap:wrap; justify-content:center; gap: 12px; margin-top: 36px; }
.struggle-tags span{
  background: var(--color-blush); color: var(--color-dark); font-weight:700; font-size:.85rem;
  padding: 10px 18px; border-radius: 999px;
}

/* ---------- Review placeholder cards ---------- */
.review-card.placeholder-card{ border: 1.5px dashed var(--color-border); background: transparent; box-shadow:none; }
.review-card.placeholder-card:hover{ transform:none; box-shadow:none; }
.review-stars{ color: var(--color-accent); font-size:1.1rem; letter-spacing:3px; margin: 0 0 12px; }
.review-quote{ color: var(--color-text-muted); font-style:italic; margin: 0 0 10px; }
.review-name{ font-size:.85rem; color: var(--color-text-muted); font-weight:700; margin:0; }

/* ---------- Cards / grid ---------- */
.grid{ display:grid; gap: 28px; }
.grid-4{ grid-template-columns: repeat(4, 1fr); }
.grid-services{ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.pricing-grid{ grid-template-columns: repeat(2, minmax(260px, 340px)); justify-content:center; max-width: 760px; margin: 0 auto; }
.card{
  background:#fff; border-radius: var(--radius-md); padding: 36px 28px; border: 1px solid var(--color-border);
  transition: transform .25s ease, box-shadow .25s ease;
}
.card:hover{ transform: translateY(-6px); box-shadow: var(--shadow-md); }
.icon-badge{
  width: 56px; height:56px; border-radius: 16px; background: var(--color-accent-soft);
  display:flex; align-items:center; justify-content:center; font-size: 1.6rem; margin-bottom: 20px;
}
.service-card h3{ font-size:1.25rem; color: var(--color-dark); }
.service-card p{ color: var(--color-text-muted); margin:0; font-size:.95rem; }

/* ---------- Process ---------- */
.steps{ display:grid; grid-template-columns: repeat(4,1fr); gap: 32px; }
.step{
  position:relative; padding: 32px 26px; background: var(--color-dark);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-md);
}
.step-num{
  display:block; font-family: var(--font-display); font-size: 2.6rem; color: transparent;
  -webkit-text-stroke: 1.5px var(--color-accent-soft); margin-bottom: 12px;
}
.step h3{ font-size: 1.15rem; color: #fff; }
.step p{ color: rgba(255,255,255,.75); font-size:.95rem; margin:0; }

/* ---------- Pricing ---------- */
.price-card{ display:flex; flex-direction:column; text-align:left; position:relative; }
.price-card h3{ font-size:1.3rem; color: var(--color-dark); }
.price-card .price{ font-family: var(--font-display); font-size: 1rem; color: var(--color-text-muted); margin: 8px 0 4px; }
.price-card .price span{ font-size: 2.4rem; color: var(--color-dark); margin-right:4px; }
.price-desc{ color: var(--color-text-muted); font-size:.9rem; margin-bottom: 20px; }
.price-card ul{ display:flex; flex-direction:column; gap: 10px; margin-bottom: 28px; flex-grow:1; }
.price-card ul li{ position:relative; padding-left: 26px; font-size:.92rem; }
.price-card ul li::before{ content:'—'; position:absolute; left:0; color: var(--color-accent); font-weight:700; }
.price-card.featured{ background: var(--color-dark); color:#fff; transform: scale(1.03); box-shadow: var(--shadow-lg); border:none; }
.price-card.featured .price span, .price-card.featured h3{ color:#fff; }
.price-card.featured .price{ color: rgba(255,255,255,.6); }
.price-card.featured .price-desc{ color: rgba(255,255,255,.65); }
.price-card.featured:hover{ transform: scale(1.03) translateY(-4px); }
.badge{
  position:absolute; top: -14px; left: 28px; background: var(--color-accent); color:#fff;
  font-size:.72rem; font-weight:800; letter-spacing:1px; text-transform:uppercase; padding: 6px 14px; border-radius: 999px;
}
.oneoff-head{ text-align:center; margin: 56px 0 28px; }
.pricing-note{
  text-align:center; margin: 28px auto 0; max-width: 560px; color: var(--color-text-muted); font-size:.95rem;
}
.pricing-note strong{ color: var(--color-dark); }

/* ---------- Testimonials ---------- */
.testimonial-slider{ max-width: 760px; margin: 0 auto; text-align:center; overflow:hidden; }
.testimonial-track{ display:flex; transition: transform .5s ease; }
.testimonial{ flex: 0 0 100%; margin:0; padding: 0 20px; }
.testimonial p{
  font-family: var(--font-display); font-size: clamp(1.3rem, 2.6vw, 1.8rem); line-height:1.3; color: var(--color-dark);
  margin-bottom: 20px;
}
.testimonial footer{ color: var(--color-accent); font-weight:700; font-size:.9rem; }
.slider-dots{ display:flex; justify-content:center; gap:10px; margin-top: 32px; }
.slider-dots button{
  width:10px; height:10px; border-radius:50%; border:none; background: var(--color-border); cursor:pointer; padding:0;
  transition: background .2s ease, transform .2s ease;
}
.slider-dots button.active{ background: var(--color-accent); transform: scale(1.2); }

/* ---------- FAQ / Accordion ---------- */
.faq-inner{ max-width: 760px; }
.accordion-item{ border-bottom: 1px solid var(--color-border); }
.accordion-trigger{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap: 16px;
  background:none; border:none; text-align:left; font-family: var(--font-body); font-weight:700; font-size: 1.05rem;
  color: var(--color-dark); padding: 22px 0; cursor:pointer;
}
.accordion-trigger span{ font-size: 1.4rem; color: var(--color-accent); transition: transform .25s ease; flex-shrink:0; }
.accordion-item.open .accordion-trigger span{ transform: rotate(45deg); }
.accordion-panel{ max-height:0; overflow:hidden; transition: max-height .3s ease; }
.accordion-panel p{ color: var(--color-text-muted); padding-bottom: 22px; margin:0; }

/* ---------- Contact ---------- */
.contact-inner{ display:grid; grid-template-columns: 0.9fr 1.1fr; gap: 64px; }
.contact-info h2{ font-size: clamp(2rem, 4vw, 2.6rem); color: var(--color-dark); }
.contact-details{ margin: 32px 0; display:flex; flex-direction:column; gap: 18px; }
.contact-details li{ display:flex; flex-direction:column; gap:2px; }
.contact-details strong{ font-size:.78rem; text-transform:uppercase; letter-spacing:1px; color: var(--color-accent); }
.contact-details span{ font-weight:700; color: var(--color-dark); }
.social-links{ display:flex; gap: 12px; }
.social-links a{
  width:44px; height:44px; border-radius:50%; background: var(--color-dark); color:#fff; font-weight:700;
  font-size:.75rem; display:flex; align-items:center; justify-content:center; transition: background .2s ease, transform .2s ease;
}
.social-links a:hover{ background: var(--color-accent); transform: translateY(-3px); }

.contact-tabs{ display:flex; flex-wrap:wrap; gap: 10px; margin-bottom: 24px; }
.tab-btn{
  padding: 10px 18px; border-radius: 999px; border: 1.5px solid var(--color-border); background:#fff;
  font-family: var(--font-body); font-weight:700; font-size:.85rem; color: var(--color-text-muted);
  cursor:pointer; transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.tab-btn:hover{ border-color: var(--color-accent); color: var(--color-accent); }
.tab-btn.active{ background: var(--color-dark); border-color: var(--color-dark); color:#fff; }
.tab-panel{ display:none; }
.tab-panel.active{ display:block; }

.contact-form{ background:#fff; border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 40px; box-shadow: var(--shadow-md); }
.form-row{ display:grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.form-field{ margin-bottom: 20px; display:flex; flex-direction:column; gap:8px; }
.form-field label{ font-weight:700; font-size:.85rem; color: var(--color-dark); }
.form-field input, .form-field select, .form-field textarea{
  border: 1.5px solid var(--color-border); border-radius: var(--radius-sm); padding: 13px 16px;
  font-family: var(--font-body); font-size: .95rem; color: var(--color-text); background: var(--color-bg);
  transition: border-color .2s ease, box-shadow .2s ease; resize: vertical;
}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus{
  outline:none; border-color: var(--color-accent); box-shadow: 0 0 0 3px var(--color-accent-soft);
}
.error-msg{ display:none; color: #d43f1f; font-size:.78rem; font-weight:600; }
.form-field.invalid input, .form-field.invalid textarea, .form-field.invalid select{ border-color:#d43f1f; }
.form-field.invalid .error-msg{ display:block; }

/* ---------- Multi-step coaching quiz ---------- */
.quiz-badge{
  display:inline-flex; align-items:center; gap:8px; background: var(--color-accent-soft);
  color: var(--color-accent-dark); font-weight:800; font-size:.7rem; text-transform:uppercase;
  letter-spacing:1px; padding:7px 14px; border-radius:999px; margin-bottom:16px;
}
.quiz-dot{ width:8px; height:8px; border-radius:50%; background:#4caf50; }
.quiz-title{ font-size: 1.7rem; margin-bottom: 6px; }
.quiz-title .italic-accent{ font-style: italic; font-weight:600; color: var(--color-accent-dark); }
.quiz-subtitle{ color: var(--color-text-muted); margin-bottom: 22px; }
.quiz-progress{ height:6px; background: var(--color-border); border-radius:999px; overflow:hidden; margin-bottom: 28px; }
.quiz-progress-bar{ height:100%; width: 20%; background: var(--color-accent); border-radius:999px; transition: width .3s ease; }
.quiz-step{ display:none; }
.quiz-step.active{ display:block; }
.quiz-question{ font-weight:800; font-size:1.1rem; color: var(--color-dark); margin-bottom:16px; }
.quiz-options{ display:flex; flex-direction:column; gap:12px; margin-bottom:8px; }
.quiz-option{
  width:100%; text-align:center; padding:16px 20px; border-radius:999px; border:2px solid var(--color-border);
  background:#fff; font-family: var(--font-body); font-weight:700; font-size:.95rem; color: var(--color-dark);
  cursor:pointer; transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.quiz-option:hover{ border-color: var(--color-accent); }
.quiz-option.selected{ background: var(--color-dark); border-color: var(--color-dark); color:#fff; }
.quiz-nav{ display:flex; gap:12px; align-items:center; margin-top: 24px; }
.quiz-nav .quiz-next, .quiz-nav .quiz-submit{ flex:1; }
.quiz-nav .quiz-next[disabled]{ opacity:.45; pointer-events:none; }
.quiz-nav [hidden]{ display:none; }

/* ---------- Footer ---------- */
.site-footer{ background: var(--color-dark); color: rgba(255,255,255,.7); padding: 48px 0 32px; }
.footer-inner{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap: 24px; }
.site-footer .logo-name{ color:#fff; }
.site-footer .logo-tag{ color: var(--color-accent-soft); }
.footer-nav{ display:flex; gap: 24px; flex-wrap:wrap; }
.footer-nav a{ font-size:.9rem; font-weight:600; }
.footer-nav a:hover{ color: var(--color-accent); }
.footer-copy{ width:100%; text-align:center; font-size:.8rem; margin: 24px 0 0; color: rgba(255,255,255,.4); }

/* ---------- Floating CTA (mobile) ---------- */
.floating-cta{
  display:none; position: fixed; bottom: 20px; right: 20px; z-index: 400;
  background: var(--color-accent); color:#fff; font-weight:700; font-size:.85rem;
  padding: 14px 22px; border-radius: 999px; box-shadow: var(--shadow-lg);
}

/* ============ Responsive ============ */
@media (max-width: 980px){
  .about-inner, .contact-inner{ grid-template-columns: 1fr; gap: 48px; }
  .grid-4{ grid-template-columns: repeat(2,1fr); }
  .pricing-grid{ grid-template-columns: 1fr; max-width: 380px; }
  .steps{ grid-template-columns: repeat(2,1fr); }
  .price-card.featured{ transform:none; }
  .price-card.featured:hover{ transform: translateY(-4px); }
}

@media (max-width: 760px){
  .main-nav{
    position: fixed; top: 78px; left:0; right:0; background: #fff; border-bottom: 1px solid var(--color-border);
    max-height: 0; overflow: hidden; transition: max-height .3s ease; box-shadow: var(--shadow-md);
  }
  .main-nav.open{ max-height: 420px; }
  .main-nav ul{ flex-direction:column; padding: 20px 24px; gap: 4px; }
  .main-nav a{ display:block; padding: 12px 0; border-bottom: 1px solid var(--color-border); }
  .hamburger{ display:flex; }
  .header-actions .btn-sm{ display:none; }
  .hero{ padding-top: 150px; }
  .grid-4{ grid-template-columns: 1fr; }
  .steps{ grid-template-columns: 1fr; }
  .form-row{ grid-template-columns: 1fr; }
  .about-badge{ position: static; margin-top: 16px; width:100%; }
  .floating-cta{ display:block; }
  .trust-inner{ flex-direction:column; }
}
