/* House of Zejd — spacing system v2 (loaded last on every page).
   Fluid vertical rhythm: big gaps scale with the viewport instead of fixed 96/64/48px,
   and the content column uses more of wide screens. */

:root {
  --space-12: clamp(28px, 2.6vw, 40px);   /* heading → content, block gaps   (was 48) */
  --space-16: clamp(36px, 3.6vw, 52px);   /* grid gaps, mobile sections      (was 64) */
  --space-24: clamp(48px, 5vw, 72px);     /* section padding                 (was 96) */
  --space-32: clamp(64px, 6.5vw, 96px);   /* hero breathing room             (was 128) */
  --container: 1240px;
  --section-y: clamp(48px, 5vw, 72px);
}
@media (min-width: 1500px) { :root { --container: 1360px; } }

/* every section uses the same rhythm */
.hz-section { padding: var(--section-y) 0; }
.hz-narrow { max-width: 1080px; }

/* section headings sit closer to their content */
.hz-heading { margin-bottom: var(--space-12); }
.hz-heading .hz-rule { margin-top: var(--space-3); }
.hz-heading p { margin-top: var(--space-3); }
.hz-sprig { margin-top: var(--space-6) !important; margin-bottom: var(--space-6) !important; }

/* inner-page heroes: shorter, so content starts sooner */
.hz-header--overlay + .hz-drawer + main .hz-page-hero,
.hz-page-hero { height: clamp(460px, 72vh, 700px); }
.hz-page-hero-copy { bottom: clamp(64px, 9vh, 104px); }
.hz-page-hero h1 { font-size: clamp(52px, 6.4vw, 92px); }

/* homepage */
.hz-ix-sec { padding: var(--section-y) 0 calc(var(--section-y) * .6); }
.hz-quote img { margin-bottom: var(--space-6); width: 120px; }
.hz-stats { margin: var(--space-8) auto var(--space-6); padding: var(--space-6) 0; }
.hz-band-photo { height: clamp(380px, 38vw, 500px); }
.hz-lux { padding: var(--section-y) 0; }
.hz-lux-hero { margin-bottom: var(--space-12); }
.hz-lux-body { gap: var(--space-12); }
.hz-lux-list a { padding: var(--space-4) 0; }
.hz-franchise-band img { min-height: 360px; }

/* about */
.hz-heritage { padding: var(--section-y) 0; }
.hz-heritage-head { margin-bottom: var(--space-12); }
.hz-timeline-h li { padding-top: var(--space-12); }
.hz-making { margin-bottom: var(--space-12); }
.hz-souri { padding-top: calc(var(--section-y) * .6); }
.hz-souri-olive img { height: clamp(380px, 46vh, 520px); }
.hz-duo-item { min-height: clamp(300px, 30vw, 400px); padding: var(--space-8); }

/* awards: compact medal tiles */
.hz-awards-head { margin-bottom: var(--space-8); }
.hz-award-img { aspect-ratio: auto; height: 150px; margin-bottom: var(--space-4); justify-content: flex-start; }
.hz-award-img img { width: auto; height: 100%; max-width: 100%; }
.hz-award h3 { font-size: 19px; line-height: 25px; margin-bottom: var(--space-2); }

/* gifts */
.hz-ctabs { margin-bottom: var(--space-8); }
.hz-cpanel { gap: var(--space-12); }
.hz-cpanel-stage { max-width: 380px; }
.hz-gifts-intro p { font-size: clamp(20px, 1.8vw, 24px); line-height: 1.55; }

/* franchise */
.hz-why { padding: var(--section-y) 0; }
.hz-why-grid { gap: var(--space-12); }
.hz-fr-band { height: clamp(300px, 36vw, 520px); }
.hz-fr-support { gap: var(--space-12); }
.hz-fr-col h3 { margin-bottom: var(--space-4); }
.hz-fr-join { padding: var(--section-y) 0 calc(var(--section-y) * .8); }
.hz-fr-down { margin-top: var(--space-6); }
.hz-fr-form-head { margin-bottom: var(--space-8); }
.hz-fr-form-title { margin-top: var(--space-6); }

/* activities */
.hz-act { padding: var(--section-y) 0; }
.hz-act-grid { gap: var(--space-12); }
.hz-act-photo img { aspect-ratio: 5 / 5; }
.hz-act-copy h2 { margin-bottom: var(--space-4); font-size: clamp(36px, 3.6vw, 48px); }
.hz-act-info { margin-bottom: var(--space-6); }
.hz-act-index { margin-top: var(--space-8); }
.hz-act-index a { padding: var(--space-4); }

/* experiences */
.hz-zz-sec { padding: var(--section-y) 0; }
.hz-zz-item + .hz-zz-item { margin-top: var(--space-6); }
.hz-zz-icon { height: 170px; }

/* contact */
.hz-ct-social { margin-top: var(--space-8); }
.hz-ct-map { height: clamp(360px, 34vw, 460px); }

/* footer */
.hz-footer-top { padding-top: var(--space-12); padding-bottom: var(--space-8); }

@media (max-width: 860px) {
  .hz-zz-item + .hz-zz-item { margin-top: var(--space-6); }
  .hz-act-photo img { aspect-ratio: 4 / 3; }
  .hz-award-img { height: 120px; }
}

/* contact map: full width, edge to edge */
.hz-ct-map-sec { padding: var(--section-y) 0 0; }
.hz-ct-map-sec .hz-heading { margin-bottom: var(--space-8); }
.hz-ct-map { height: clamp(420px, 42vw, 620px); border: 0; border-top: 1px solid var(--line); }
.hz-ct-map iframe { top: -70px; height: calc(100% + 70px); }

/* newsletter: one slim row (old site: title "Newsletter", email, Subscribe) */
.hz-subscribe--slim { grid-template-columns: auto minmax(0, 560px); justify-content: space-between; align-items: center; max-width: 1080px; }
.hz-subscribe--slim .hz-display { margin: 0; font-size: clamp(30px, 3vw, 40px); }
.hz-subscribe form { min-width: 0; }
.hz-subscribe .hz-input { min-width: 0; width: 100%; }
.hz-slide-copy h2 { max-width: 760px; }
@media (max-width: 860px) { .hz-subscribe--slim { grid-template-columns: 1fr; } .hz-subscribe form .hz-btn { padding: 0 var(--space-4); } }
