.hv-section{--section-bg:var(--color-paper);--section-text:var(--color-ink);--section-muted:var(--color-muted);background:var(--section-bg);color:var(--section-text);padding-block:var(--space-top,var(--section-spacing-mobile)) var(--space-bottom,var(--section-spacing-mobile))}
.hv-section--ivory{--section-bg:var(--color-ivory)}
.hv-section--rose{--section-bg:#f7e9e2}
.hv-section--burgundy{--section-bg:var(--color-burgundy);--section-text:#fffaf3;--section-muted:#ead9cf}
.hv-section--green{--section-bg:var(--color-deep-green);--section-text:#fffaf3;--section-muted:#e4d9ca}
.hv-section--dark{--section-bg:#201916;--section-text:#fffaf3;--section-muted:#d8cbc2}
.hv-section .section__text,.hv-section .rte{color:var(--section-muted)}
.hv-section__inner--narrow{max-width:880px}.hv-section__inner--wide{max-width:1680px}.hv-section__inner--full{width:100%;max-width:none}
.hv-align-center{text-align:center}.hv-align-center .section__text{margin-inline:auto}.hv-align-right{text-align:right}.hv-align-right .section__text{margin-left:auto}
.hv-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.hv-align-center .hv-buttons{justify-content:center}.hv-align-right .hv-buttons{justify-content:flex-end}
.hv-media{overflow:hidden;border-radius:var(--local-media-radius,var(--media-radius));background:color-mix(in srgb,var(--section-bg),var(--color-line) 22%)}
.hv-media img,.hv-media video,.hv-media iframe,.hv-media svg{width:100%;height:100%;object-fit:cover}
.hv-card{overflow:hidden;border-radius:var(--local-card-radius,var(--card-radius));background:var(--color-paper);box-shadow:var(--card-shadow)}
.hv-rich-text__content{max-width:760px}.hv-rich-text__content h2{margin:0 0 18px;font-size:clamp(2rem,6vw,4.8rem)}
.hv-image-text__grid{display:grid;gap:30px;align-items:center}.hv-image-text__media{aspect-ratio:var(--media-ratio,4/5)}.hv-image-text__content{padding:8px 0}.hv-image-text__content h2{margin:0 0 16px;font-size:clamp(2rem,5vw,4rem)}
.hv-columns__grid{display:grid;grid-template-columns:repeat(var(--mobile-columns,1),minmax(0,1fr));gap:var(--grid-gap,16px)}.hv-column{padding:24px;border:1px solid color-mix(in srgb,var(--section-text),transparent 82%)}.hv-column__media{margin-bottom:20px;aspect-ratio:var(--media-ratio,4/3)}.hv-column h3{margin:0 0 8px;font-size:1.35rem}.hv-column p{margin:0;color:var(--section-muted)}
.hv-mosaic__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gap,10px)}.hv-mosaic__item{position:relative;min-height:220px;aspect-ratio:var(--media-ratio,4/5)}.hv-mosaic__caption{position:absolute;right:0;bottom:0;left:0;padding:50px 18px 16px;background:linear-gradient(transparent,rgb(0 0 0/.62));color:#fff}.hv-mosaic__caption h3{margin:0;font-size:1.15rem}.hv-mosaic__caption p{margin:4px 0 0;font-size:.82rem}
.hv-collection-list__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gap,14px)}.hv-collection-card__media{aspect-ratio:var(--media-ratio,4/5)}.hv-collection-card__content{padding:14px 2px}.hv-collection-card h3{margin:0;font-size:1.15rem}.hv-collection-card p{margin:5px 0 0;color:var(--section-muted);font-size:.85rem}
.hv-video-text__grid{display:grid;gap:30px;align-items:center}.hv-video-text__media{aspect-ratio:16/10}.hv-video-text__content h2{margin:0 0 16px;font-size:clamp(2rem,5vw,4rem)}.hv-video-placeholder{display:grid;height:100%;place-items:center;padding:40px;text-align:center}
.hv-faq{max-width:980px}.hv-faq__item{border-top:1px solid color-mix(in srgb,var(--section-text),transparent 78%)}.hv-faq__item:last-child{border-bottom:1px solid color-mix(in srgb,var(--section-text),transparent 78%)}.hv-faq__item summary{display:flex;min-height:66px;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;font-family:var(--font-heading);font-size:1.08rem}.hv-faq__answer{max-width:72ch;padding:0 0 24px;color:var(--section-muted)}
.hv-newsletter__grid{display:grid;gap:24px;align-items:end}.hv-newsletter h2{margin:0 0 12px;font-size:clamp(2rem,5vw,3.8rem)}.hv-newsletter__form{display:flex;max-width:580px}.hv-newsletter__form input{min-width:0;flex:1;min-height:52px;border:1px solid currentColor;border-radius:var(--input-radius) 0 0 var(--input-radius);background:transparent;padding:12px 15px;color:inherit}.hv-newsletter__form button{border-radius:0 var(--button-radius) var(--button-radius) 0}.hv-newsletter__message{margin-top:10px;font-size:.85rem}
.hv-app-wrapper .shopify-app-block{width:100%}
.hv-spacer{height:var(--spacer-mobile)}.hv-divider{border-top:1px solid var(--color-line)}
@media (min-width:750px){.hv-section{padding-block:var(--space-top,var(--section-spacing-desktop)) var(--space-bottom,var(--section-spacing-desktop))}.hv-image-text__grid,.hv-video-text__grid{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(42px,7vw,110px)}.hv-image-text--reverse .hv-image-text__media,.hv-video-text--reverse .hv-video-text__media{order:2}.hv-columns__grid{grid-template-columns:repeat(var(--desktop-columns,3),minmax(0,1fr));gap:var(--grid-gap,22px)}.hv-mosaic__grid{grid-template-columns:repeat(12,minmax(0,1fr))}.hv-mosaic__item{grid-column:span 4}.hv-mosaic__item:first-child{grid-column:span 7;grid-row:span 2;aspect-ratio:7/8}.hv-mosaic__item:nth-child(2),.hv-mosaic__item:nth-child(3){grid-column:span 5;aspect-ratio:5/4}.hv-collection-list__grid{grid-template-columns:repeat(var(--desktop-columns,4),minmax(0,1fr));gap:var(--grid-gap,20px)}.hv-newsletter__grid{grid-template-columns:1fr 1fr}.hv-spacer{height:var(--spacer-desktop)}}
@media (max-width:749px){.hv-buttons{display:grid}.hv-image-text--mobile-media-last .hv-image-text__media,.hv-video-text--mobile-media-last .hv-video-text__media{order:2}.hv-columns--scroll .hv-columns__grid,.hv-collection-list--scroll .hv-collection-list__grid{display:grid;grid-auto-flow:column;grid-auto-columns:82%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.hv-columns--scroll .hv-column,.hv-collection-list--scroll .hv-collection-card{scroll-snap-align:start}.hv-mosaic__item:first-child{grid-column:1/-1}.hv-newsletter__form{display:grid}.hv-newsletter__form input,.hv-newsletter__form button{width:100%;border-radius:var(--input-radius)}.hv-newsletter__form button{margin-top:10px}}
