/* Follow Me only: reuse shared design tokens and components. */
.fm-page .page-hero .section-eyebrow { background:rgba(255,255,255,.15); color:rgba(255,255,255,.9); }
.fm-page .page-hero h1 { margin-top:16px; }
.fm-page .fm-white { background:var(--white); }
.fm-page .feature-row-content p { margin:24px 0; }
.fm-page .fm-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:32px; }
.fm-page .fm-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin-top:48px; }
.fm-page .fm-panel { padding:32px; background:var(--white); border:1px solid var(--gray-200); border-radius:var(--radius-md); }
.fm-page .fm-panel > i { color:var(--coral-dark); font-size:2rem; margin-bottom:24px; }
.fm-page .fm-panel h3 { margin-bottom:16px; }
.fm-page .fm-panel .feature-list { margin-top:24px; }
.fm-page .fm-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin-top:48px; list-style:none; }
.fm-page .fm-steps h3 { font-size:1.25rem; }
.fm-page .fm-steps p { font-size:.95rem; }
.fm-page .fm-step-number { display:block; font-size:2rem; font-weight:700; color:var(--coral); margin-bottom:20px; }
.fm-page .fm-faq { max-width:760px; margin:40px auto 0; }
.fm-page .fm-faq details { border-bottom:1px solid var(--gray-100); }
.fm-page .fm-faq summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 0; cursor:pointer; font-size:1rem; font-weight:600; list-style:none; }
.fm-page .fm-faq details p { padding:0 0 24px; }
.fm-page .fm-faq details[open] summary { color:var(--coral-dark); }
.fm-page .fm-cta-section { padding-top:0; }
.fm-page .fm-secondary { background:rgba(255,255,255,.15); color:var(--white); border:1px solid rgba(255,255,255,.3); }
.fm-page #how-it-works { scroll-margin-top:100px; }
.fm-page :focus-visible { outline:3px solid var(--coral-dark); outline-offset:5px; }
@media(max-width:1000px){ .fm-page .fm-steps { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* Supplied Follow Me photography and mockups. */
.fm-page .fm-photo { margin:0; min-width:0; }
.fm-page .fm-photo img { width:100%; height:auto; border-radius:var(--radius-md); }
.fm-page .fm-photo figcaption { margin-top:14px; font-size:.8rem; text-align:center; color:var(--gray-500); }
.fm-page .fm-mode-photo { padding:0; overflow:hidden; }
.fm-page .fm-mode-photo > img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.fm-page .fm-mode-copy { padding:32px; }
@media(max-width:700px){.fm-page .fm-mode-copy { padding:24px; }}

/* Page-specific responsive refinements; shared site components stay intact. */
.fm-page .feature-row { padding:0; }
.fm-page .fm-faq summary::-webkit-details-marker { display:none; }
.fm-page .fm-faq details[open] .faq-icon { background:var(--coral); transform:rotate(45deg); }
.fm-page .fm-faq details[open] .faq-icon::before { color:var(--navy); }
.fm-site .nav:has(.nav-hamburger.open) { background:var(--white); box-shadow:var(--shadow-sm); }
.fm-site .nav:has(.nav-hamburger.open) .nav-logo { filter:none; }
.fm-site .nav:has(.nav-hamburger.open) .nav-hamburger span { background:var(--navy); }
.fm-site .nav-hamburger { min-width:44px; min-height:44px; align-items:center; justify-content:center; }
.fm-site .lang-btn { min-height:36px; min-width:36px; }
.fm-site :focus-visible { outline:3px solid var(--coral-dark); outline-offset:4px; }
@media(max-width:1024px){
  .fm-site .nav-links { display:none; }
  .fm-site .nav-hamburger { display:flex; }
  .fm-page .fm-photo { max-width:720px; width:100%; margin-inline:auto; }
}
@media(max-width:700px){
  .fm-page .section { padding:60px 24px; }
  .fm-page .section > .container { padding:0; }
  .fm-page .fm-grid,.fm-page .fm-steps { grid-template-columns:1fr; gap:20px; margin-top:32px; }
  .fm-page .fm-panel:not(.fm-mode-photo) { padding:24px; }
  .fm-page .fm-actions { flex-direction:column; }
  .fm-page .fm-actions .btn { width:100%; }
  .fm-page .fm-cta-section { padding-top:0; }
  .fm-page .cta-banner { padding:40px 24px; border-radius:var(--radius-md); }
  .fm-page .cta-banner-btns { flex-direction:column; }
  .fm-page .cta-banner-btns .btn { width:100%; white-space:normal; }
}
@media(prefers-reduced-motion:reduce){
  html:has(.fm-site) { scroll-behavior:auto; }
  .fm-site *, .fm-site *::before, .fm-site *::after { animation:none!important; transition:none!important; }
}

.fm-page .feature-row > *, .fm-page .fm-panel { min-width:0; }
.fm-page h2, .fm-page h3, .fm-page p, .fm-page summary { overflow-wrap:break-word; }


/* Product presentation: native playback and audio controls. */
.fm-page .fm-video-section { background:var(--gray-50); }
.fm-page .fm-video-player { display:block; width:100%; height:auto; aspect-ratio:16/9; margin-top:40px; background:var(--navy); border-radius:var(--radius-md); box-shadow:var(--shadow-md); }
.fm-page #presentation { scroll-margin-top:120px; }
