/* The approved opening, extended to the complete homepage. */
body.site-home { background:#fcf8f4; --line:#e1cbd3; --surface:#fcf8f4; }
.site-home .wrap { width:min(1500px,calc(100% - clamp(2rem,6vw,7rem))); }
.site-home .section { padding-block:5rem; }
.site-home .eyebrow { color:#96294c; font-size:.875rem; font-weight:600; }
.site-home .button { border-radius:.7rem; font-weight:600; min-height:52px; box-shadow:none; }
.site-home .button-primary { background:#97274a; color:white; border-color:#97274a; box-shadow:0 4px 12px #71253f12; }
.site-home .button-primary:hover,.site-home .button-primary:focus-visible { background:#7c2442; box-shadow:0 6px 18px #71253f20; transform:translateY(-2px); }
.site-home .button-outline { background:#fffbf8; border-color:#b3778b; color:#752c45; }
.site-home .text-link { color:#822847; font-size:.9375rem; }
.site-home .section-heading { gap:2rem; margin-bottom:2.2rem; }
.site-home .section-heading h2 { max-width:42rem; font-weight:600; }
.site-home .section-heading p:not(.eyebrow) { max-width:38rem; line-height:1.8; }
.site-home .concept-header nav { gap:1.7rem; }
.site-home .concept-header nav a { font-size:.9375rem; }
.site-home .concept-benefits { padding-bottom:4.5rem; }

/* Name discovery follows the video, as the next step into the app. */
.home-discovery-band { padding-block:4.5rem; background:#f5e1e6; }
.site-home .discovery { grid-template-columns:1fr 1.1fr; gap:4rem; padding:0; margin-block:0; border:0; border-radius:0; background:transparent; align-items:center; }
.site-home .discovery-intro h2 { font-size:clamp(2.1rem,3vw,3.2rem); }
.site-home .discovery-intro>p:not(.eyebrow) { max-width:30rem; }
.site-home .discovery-intro .catalog-count { display:inline-flex; padding:.35rem .8rem; border-radius:2rem; background:#fffbf780; font-size:.875rem!important; }
.site-home .discovery-control { border:1px solid #e4c5d0; border-radius:1.2rem; padding:1.8rem; background:#fffbf8; box-shadow:0 10px 28px #6e2b4207; }
.site-home .name-search { background:#fff; border:1px solid #be8a9d; border-radius:.75rem; min-height:60px; }
.site-home .name-search:focus-within { border-color:#8b294a; box-shadow:0 0 0 3px #a9294b15; }
.site-home .name-search button { background:#97274a; min-height:48px; }
.site-home .quick-names { gap:.5rem; margin-top:.9rem; }
.site-home .quick-names a { border:1px solid #e3cbd4; border-radius:2rem; padding:.2rem .9rem; background:#faf0f3; }
.site-home .quick-names a:hover { background:#f2dce4; border-color:#c48da1; }
.site-home .catalog-result { background:#f9f0f3; border:1px solid #eedde3; padding:1rem; }
.site-home .catalog-result h3 { font-size:1.6rem; }
.site-home .catalog-cta { margin-top:.9rem; }

/* The existing editorial paths, in the same warm palette as the opening. */
.site-home .guides-section { background:#fcf8f4; border:0; }
.site-home .guide-grid { gap:1.2rem; }
.site-home .guide-card { border:0; border-radius:1rem; padding:2rem; min-height:285px; transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s; }
.site-home .guide-card:hover { transform:translateY(-5px); box-shadow:0 12px 24px #5b304511; }
.site-home .rose-card { background:#edd5df; }
.site-home .blue-card { background:#dce9ed; }
.site-home .cream-card { background:#e4e9dc; }
.site-home .guide-number { color:#65505a; font-size:.875rem; }
.site-home .guide-card h3 { font-size:clamp(1.7rem,2.3vw,2.4rem); margin-top:1.5rem; color:#492f3a; }
.site-home .guide-card p { color:#65505a; }
.site-home .guide-bottom { border-top:1px solid #7c53651c; padding-top:1.1rem; margin-top:1.5rem; }
.site-home .reading-row { margin-top:1.6rem; padding-block:.5rem; gap:1rem 2rem; }
.site-home .guide-app-invite { border-color:#e7d6dc; margin-top:1.2rem; padding-top:1.5rem; }
.site-home .guide-app-invite .button { background:#97274a; color:white; border-color:#97274a; }

/* Real Instagram artwork supplies color; the app remains the next action. */
.home-stories-band { background:#eee1e6; padding-bottom:3.5rem; }
.site-home #videos { padding-bottom:1.2rem; }
.site-home #home-videos { gap:1.2rem; padding:.3rem .1rem 1rem; scrollbar-color:#b77b91 #ead5de; }
.site-home #home-videos .video-card { flex-basis:calc((100% - 4.8rem)/5); aspect-ratio:9/14; border-radius:.85rem; }
.site-home #home-videos .cover-label { border-radius:.5rem; background:#542a3de8; }
.site-home #home-videos .cover-label strong { font-size:1.4rem; }
.site-home .reel-navigation button { background:#fffaf7; }
.site-home .reels-app-link { background:transparent; padding:1.5rem 0 0; border-top:1px solid #d5b8c5; border-radius:0; margin-bottom:0; }
.site-home .reels-app-link p { font-size:1.125rem; }
.site-home .request-feature { padding:2.5rem 3rem; margin-block:3.5rem; border:1px solid #e4cbd5; border-radius:1.2rem; background:#f5e6ec; gap:2rem; }
.site-home .request-feature h2 { font-size:clamp(1.9rem,2.6vw,2.7rem); }
.site-home .request-feature p { max-width:37rem; }
.site-home .request-action .button { min-height:54px; }

/* Questions and installation stay easy to scan, with native accessible controls. */
.home-faq-band { background:#f5f0ea; border-block:1px solid #eadedc; }
.site-home .faq-section { grid-template-columns:.8fr 1.4fr; gap:5rem; align-items:start; }
.site-home .faq-list { display:grid; gap:.65rem; }
.site-home .faq-list details { background:#fffcf9; border:1px solid #e6d9d9; padding:.55rem 1.25rem; border-radius:.8rem; transition:background .25s,border-color .25s; }
.site-home .faq-list details[open] { background:#fff; border-color:#c893a7; }
.site-home .faq-list summary { min-height:50px; font-size:1rem; }
.site-home .faq-list details>p { font-size:1rem; padding:.4rem 0 .8rem; line-height:1.9; }
.site-home .install-section { padding-block:4.5rem; grid-template-columns:1fr 1.2fr; gap:3.5rem; align-items:center; }
.site-home .install-intro h2 { font-size:clamp(1.9rem,2.6vw,2.7rem); }
.site-home .install-cards article { background:#f6ecef; border:1px solid #e6d1da; padding:1.7rem; }
.site-home .install-cards article:nth-child(2) { background:#edf0e8; border-color:#dce2d4; }
.site-home .install-cards h3 { padding-bottom:.75rem; border-bottom:1px solid #78546520; }
.site-home .closing-invite { background:#642a40; border:0; border-radius:1.2rem; margin-bottom:3rem; min-height:340px; padding-block:3rem; }
.site-home .closing-invite h2 { color:#fff9f5; font-size:clamp(2rem,3vw,3.2rem); max-width:40rem; }
.site-home .closing-invite .eyebrow,.site-home .closing-invite .quiet-note { color:#efd5de; }
.site-home .closing-invite .button { background:#fff5f0; color:#71253f; border-color:#fff5f0; }
.site-home .closing-memories .memory-print { width:110px; border-color:#e5cdd4; box-shadow:0 8px 22px #31142026; }
.site-home .closing-memories .memory-together { transform:rotate(4deg); }
.site-home .closing-memories .memory-name { transform:rotate(-4deg); }
.site-home .home-footer { background:#f4e6eb; border-color:#e5cdd6; padding-top:2rem; }
.site-home .footer-inner img { width:88px; height:86px; object-fit:contain; }
.site-home .footer-inner nav a { color:#6f2d45; }
.site-home .footer-bottom { border-color:#d9bdc9; }
.site-home #home-video-dialog h2 { font-size:1.3rem; }

@media(min-width:1600px) { .site-home .wrap { width:calc(100% - 8rem); max-width:1700px; } }
@media(max-width:1100px) {
  .site-home .concept-header nav { gap:.9rem; }
  .site-home .concept-header nav a { font-size:.875rem; }
  .site-home .discovery { gap:2rem; }
  .site-home .guide-card { padding:1.5rem; }
  .site-home #home-videos .video-card { flex-basis:calc((100% - 2.4rem)/3); }
  .site-home .faq-section { gap:2.5rem; }
  .site-home .install-section { gap:2rem; }
  .site-home .closing-invite { padding-inline:9rem; }
  .site-home .closing-memories .memory-print { width:94px; }
}
@media(max-width:720px) {
  .site-home .wrap { width:calc(100% - 2rem); }
  .site-home .section { padding-block:3rem; }
  .site-home .section-heading { align-items:flex-start; flex-direction:column; gap:.8rem; margin-bottom:1.5rem; }
  .site-home .section-heading h2 { font-size:clamp(1.9rem,7.5vw,2.6rem); }
  .site-home .concept-header nav { gap:0; }
  .site-home .concept-header nav a { font-size:1rem; }
  .site-home .concept-benefits { padding-bottom:3rem; }
  .home-discovery-band { padding-block:3rem; }
  .site-home .discovery { grid-template-columns:1fr; gap:1.5rem; }
  .site-home .discovery-intro h2 { font-size:2rem; }
  .site-home .discovery-control { padding:1rem; border-radius:1rem; }
  .site-home .name-search { gap:.15rem; }
  .site-home .search-icon { padding-inline:.25rem; }
  .site-home .name-search button { padding-inline:.7rem; }
  .site-home .quick-names { gap:.25rem; }
  .site-home .quick-names a { padding-inline:.65rem; }
  .site-home .guide-grid { grid-template-columns:1fr; gap:.85rem; }
  .site-home .guide-card { min-height:0; padding:1.5rem; }
  .site-home .guide-card h3 { margin-top:.7rem; font-size:1.9rem; }
  .site-home .guide-bottom { margin-top:1.2rem; padding-top:.8rem; }
  .site-home .reading-row { align-items:flex-start; flex-direction:column; gap:.2rem; }
  .site-home .guide-app-invite { align-items:stretch; flex-direction:column; }
  .site-home .guide-app-invite .button { width:100%; }
  .home-stories-band { padding-bottom:2.5rem; }
  .site-home #home-videos { gap:.85rem; }
  .site-home #home-videos .video-card { flex-basis:64%; max-width:270px; }
  .site-home .reels-app-link { padding-top:1.3rem; }
  .site-home .reels-app-link p { font-size:1rem; }
  .site-home .request-feature { flex-direction:column; align-items:stretch; gap:1.5rem; padding:1.5rem; margin-block:2.5rem; }
  .site-home .request-feature h2 { font-size:1.9rem; }
  .site-home .request-action .button { width:100%; }
  .site-home .faq-section { grid-template-columns:1fr; gap:1.5rem; }
  .site-home .faq-section h2 br { display:none; }
  .site-home .faq-list details { padding:.5rem 1rem; }
  .site-home .install-section { grid-template-columns:1fr; gap:1.5rem; padding-block:3rem; }
  .site-home .install-cards { grid-template-columns:1fr; }
  .site-home .install-cards article { padding:1.4rem; }
  .site-home .closing-invite { padding:1.7rem 1.2rem 2rem; min-height:0; margin-bottom:2rem; }
  .site-home .closing-memories .memory-print { width:74px; }
  .site-home .closing-invite h2 { font-size:2rem; }
  .site-home .closing-invite .button { width:100%; }
  .site-home .footer-inner { align-items:flex-start; gap:1rem; }
  .site-home .footer-inner nav { gap:.3rem 1rem; width:100%; }
  .site-home .footer-bottom { font-size:.8125rem; }
}
@media(prefers-reduced-motion:reduce) {
  .site-home .guide-card,.site-home .faq-list details { transition:none; }
  .site-home .guide-card:hover { transform:none; }
}
