/* HOME-01: page-only tokens and layout, independent of legacy Shopify hp-* rules. */
#home-page {
  --hp-bg: #0a0a0a;
  --hp-text: #fff;
  --hp-muted: #bcbcbc;
  --hp-card-bg: #141414;
  --hp-card-border: rgba(255,255,255,.12);
  --hp-radius: 16px;
  background: var(--hp-bg);
  color: var(--hp-text);
  font: 1rem/1.7 Inter, sans-serif;
}
#home-page *, #home-page *::before, #home-page *::after { box-sizing: border-box; }
#home-page .home-wrap { width:min(1120px,calc(100% - 48px)); margin-inline:auto; }
#home-page section { padding-block:clamp(2.5rem,5vw,4rem); }
#home-page h1, #home-page h2, #home-page h3 { font-family:'Space Grotesk',sans-serif; font-weight:700; color:#fff; }
#home-page h1 { font-size:clamp(2rem,3.4vw,3.25rem)!important; line-height:1.12!important; letter-spacing:-.025em; margin:0 0 1.25rem; }
#home-page h2 { font-size:clamp(1.625rem,2.5vw,2.25rem)!important; line-height:1.2!important; letter-spacing:-.02em; margin:0 0 1.5rem; text-wrap:balance; }
#home-page h3 { font-size:clamp(1.125rem,1.5vw,1.3rem)!important; line-height:1.35!important; margin:0 0 .75rem; }
#home-page p { margin:0 0 1rem; color:var(--hp-muted); }
#home-page a { color:#fff; text-underline-offset:4px; }
#home-page a:hover { text-decoration-thickness:2px; }
#home-page :is(a,button,summary):focus-visible { outline:2px solid #fff; outline-offset:5px; }
#home-page .home-eyebrow { font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:#ddd; }
#home-page .home-hero-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:3.5rem; align-items:center; }
#home-page .home-hero-copy { max-width:660px; }
#home-page .home-hero-photo { width:100%; max-width:300px; justify-self:end; }
#home-page picture { display:block; }
#home-page .home-photo img { display:block; width:100%; height:auto; border-radius:var(--hp-radius); }
#home-page .home-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.5rem; margin-top:1.5rem; }
/* Keep the shared primary button colours above the generic home link colour. */
#home-page .sw-button--primary { color:#0b0b0b; }
#home-page .home-service, #home-page .home-song { border-block:1px solid var(--hp-card-border); }
#home-page .home-media-grid { display:grid; grid-template-columns: minmax(0,.65fr) minmax(0,1.35fr); gap:3rem; align-items:center; }
#home-page .home-service-photo { width:100%; max-width:260px; justify-self:center; }
#home-page .home-moments { list-style:none; padding:0; margin:1.5rem 0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.5rem; }
#home-page .home-moments li { padding:.7rem .5rem; margin:0; background:var(--hp-card-bg); border:1px solid var(--hp-card-border); border-radius:10px; text-align:center; font-size:.85rem; line-height:1.5; }
#home-page .home-heading { text-align:center; max-width:760px; margin:0 auto 2rem; }
#home-page .home-review-grid, #home-page .home-method-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
#home-page .home-review, #home-page .home-method-grid article { min-width:0; padding:1.5rem; border:1px solid var(--hp-card-border); border-radius:var(--hp-radius); background:var(--hp-card-bg); }
#home-page .home-review { display:flex; flex-direction:column; }
#home-page .home-stars { display:flex; align-items:center; gap:.7rem; color:#edc96b; margin-bottom:1rem; }
#home-page .home-stars span:last-child { font-size:.8rem; color:var(--hp-muted); }
#home-page blockquote { margin:0 0 1rem; padding:0; border:0; }
#home-page blockquote p { color:#fff; }
#home-page .home-review footer { display:flex; flex-direction:column; font-size:.8rem; color:var(--hp-muted); margin-top:auto; }
#home-page .home-review footer a { margin-top:.5rem; }
#home-page .home-review-link { text-align:center; margin:1.5rem 0 0; }
#home-page .home-case-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.5rem; }
#home-page .home-case { min-width:0; display:flex; flex-direction:column; align-items:center; text-align:center; }
#home-page .home-case p { flex:1; }
#home-page .sw-weddingVideo__player { width:min(100%,240px); aspect-ratio:9/16; margin:1rem auto; flex-shrink:0; }
#home-page .sw-weddingVideo__play { min-width:64px; min-height:64px; }
#home-page .home-method-grid p:last-child { margin-bottom:0; }
#home-page .home-method-link { text-align:center; margin:1.5rem 0 0; }
#home-page .home-song .home-media-grid { grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr); }
#home-page .home-song-photo { width:100%; max-width:250px; justify-self:center; }
#home-page .home-faq { max-width:820px; }
#home-page details { border-bottom:1px solid var(--hp-card-border); }
#home-page summary { display:flex; align-items:center; gap:1rem; justify-content:space-between; list-style:none; cursor:pointer; padding:1.25rem 0; font:600 1.125rem/1.4 'Space Grotesk',sans-serif; }
#home-page summary::-webkit-details-marker { display:none; }
#home-page summary::after { content:'+'; font-size:1.5rem; }
#home-page details[open] summary::after { content:'−'; }
#home-page .home-faq-answer { padding:0 0 1.25rem; color:var(--hp-muted); }
#home-page .home-contact { text-align:center; }
#home-page .home-contact .home-wrap { max-width:780px; }
#home-page .home-contact .home-actions { justify-content:center; }
#home-page .home-contact .sw-whatsapp-cta { margin:0; }
#home-page .sw-whatsapp-cta svg { width:24px!important; height:24px!important; }
@media(max-width:900px) {
  #home-page .home-moments { grid-template-columns:1fr; }
  #home-page .home-moments li { padding:.55rem 1rem; }
  #home-page .home-review-grid { grid-template-columns:1fr; }
  #home-page .home-review { padding:1.25rem; }
  #home-page .home-method-grid { grid-template-columns:1fr; }
}
@media(max-width:700px) {
  #home-page .home-wrap { width:calc(100% - 40px); }
  #home-page .home-hero-grid, #home-page .home-media-grid, #home-page .home-song .home-media-grid, #home-page .home-case-grid { grid-template-columns:1fr; gap:1.75rem; }
  #home-page .home-hero-photo { justify-self:center; max-width:190px; }
  #home-page .home-service-photo { max-width:180px; order:2; }
  #home-page .home-song-photo { max-width:200px; }
  #home-page .home-actions { align-items:flex-start; }
  #home-page .home-hero-copy .home-button { width:100%; }
  #home-page .home-case-grid { gap:2.5rem; }
  #home-page .sw-weddingVideo__player { max-width:210px; }
}
