/* Homepage final refinements; hero geometry and photography stay in shared styles. */
/* The original desktop benefit row stays intact. */
.home-page .ticker .benefit-track { display:none; }
@media(max-width:700px) {
 .home-page .ticker { display:block; overflow:hidden; overflow:clip; padding:16px 0; white-space:nowrap; }
 .home-page .ticker > span,.home-page .ticker > i { display:none; }
 .home-page .ticker .benefit-track { display:flex; width:max-content; animation:home-benefits-marquee 40s linear infinite; }
 .home-page .ticker .benefit-group { display:flex; flex:none; align-items:center; gap:24px; padding-inline-end:24px; }
 .home-page .ticker .benefit-group > span,.home-page .ticker .benefit-group > i { flex:none; }
 .home-page .ticker .benefit-group > i { font-size:18px; width:16px; height:1.5em; display:grid; place-items:center; }
 .home-page .ticker .benefit-group > i::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
 @keyframes home-benefits-marquee { to { transform:translateX(-50%); } }
}
@media(max-width:700px) and (prefers-reduced-motion:reduce) {
 .home-page .ticker { padding:16px var(--content-gutter); white-space:normal; }
 .home-page .ticker .benefit-track { width:100%; animation:none; transform:none; }
 .home-page .ticker .benefit-group { flex:1; flex-direction:column; align-items:flex-start; gap:4px; padding:0; }
 .home-page .ticker .benefit-group > i,.home-page .ticker .benefit-group[aria-hidden="true"] { display:none; }
}
/* Optical alignment compensates for the headline font's left side bearing. */
.home-page .hero h1 { margin-left:-.045em; }
.home-page .hero-bottom p { text-wrap:pretty; }
.home-page .hero-phrase { display:inline-block; max-width:100%; }

.home-page .small-photo { width:100%; margin-top:48px; gap:24px; }
.home-page .small-photo figcaption { flex:1; min-width:0; padding-bottom:12px; font-family:var(--font); font-size:clamp(21px,2vw,28px); font-weight:500; line-height:1.2; letter-spacing:-.035em; color:var(--green); }
.home-page .small-photo figcaption a { display:block; text-wrap:balance; }
.home-page .small-photo .moment-subline { display:block; font-family:DM Sans,sans-serif; font-size:13px; font-weight:400; line-height:1.5; letter-spacing:normal; }
.home-page .small-photo figcaption a:hover { color:var(--deep); }
.home-page .small-photo figcaption span { display:block; margin-top:16px; font-size:24px; }
 .home-page .small-photo .moment-arrow { display:block; width:1em; height:1.2em; }

@media(max-width:1000px) and (min-width:701px) {
 .home-page .small-photo { gap:18px; }
 .home-page .small-photo img { width:44%; }
}
@media(max-width:700px) {
 .home-page .hero-bottom p { max-width:350px; }
 .home-page .small-photo { margin-top:36px; gap:20px; }
 .home-page .small-photo img { width:48%; }
 .home-page .small-photo figcaption { font-size:clamp(21px,5.5vw,28px); }
}
@media(max-width:380px) {
 .home-page .hero-actions .button { font-size:11px; padding:15px 12px; gap:9px; }
}

/* New homepage photographs: keep the existing frames and focus on each subject. */
.home-page .hero-photo > img { object-position:58% 50%; transform:none; }
.home-page .hero-photo::after { background:linear-gradient(90deg,rgba(15,19,16,.76),rgba(15,19,16,.46) 48%,rgba(15,19,16,.08) 85%),linear-gradient(0deg,rgba(15,19,16,.35),transparent 45%); }
.home-page .wholesale-images { grid-template-columns:1.4fr .8fr; }
.home-page .wholesale-images figure:first-child img { object-fit:cover; object-position:50% 58%; }
.home-page .wholesale-images figure:last-child img { height:auto; aspect-ratio:3600 / 3213; object-fit:cover; object-position:50% 55%; }
.home-page .home-picture > img { object-position:50% 46%; }
.home-page .small-photo img { height:auto; aspect-ratio:3400 / 3024; object-position:65% 50%; }
.home-page .region-story img { object-position:50% 50%; }
@media(max-width:700px) {
 .home-page .hero-photo > img { object-position:62% 50%; }
 .home-page .wholesale-images { grid-template-columns:1.2fr 1fr; }
 .home-page .region-story { grid-template-columns:.55fr 1.45fr; }
 .home-page .region-story figure { height:220px; }
 .home-page .region-story img { object-position:45% 50%; }
}

/* Match the desktop location photograph to the adjacent location list. */
@media(min-width:701px) {
 .home-page .region-story { display:flex; flex-direction:column; min-height:0; }
 .home-page .region-story figure { flex:1; min-height:370px; height:auto; }
 .home-page .region-story img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
}
@media(max-width:700px) {
 .home-page .small-photo { align-items:flex-end; }
 .home-page .small-photo figcaption { padding-bottom:0; font-size:clamp(18px,4.6vw,21px); line-height:1.2; }
 .home-page .small-photo figcaption a { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:6px; row-gap:6px; text-wrap:pretty; }
 .home-page .small-photo .moment-subline { grid-column:1; grid-row:2; font-size:12px; line-height:1.4; }
 .home-page .small-photo figcaption span { grid-column:2; grid-row:2; align-self:end; margin-top:0; font-size:18px; }
 .home-page .small-photo .moment-arrow { height:1em; }
 .home-page .small-photo img { flex-shrink:0; object-fit:cover; }
}
/* Keep the homepage introduction at the reference reading width. */
.home-page #ueber-uns .intro-bottom { flex-wrap:wrap; }
.home-page #ueber-uns .intro-bottom > p { flex:1 1 680px; min-width:0; max-width:680px; }
.home-page #ueber-uns .intro-bottom > .text-link { flex-shrink:0; }

/* Occasion teaser: retain its frame and align the arrow with the title. */
.home-page .small-photo figcaption a { display:grid; grid-template-columns:minmax(0,1fr) auto; width:100%; max-width:calc(9em + 34px); column-gap:10px; row-gap:6px; }
.home-page .small-photo .moment-title { grid-column:1; grid-row:1; color:inherit; font:inherit; }
.home-page .small-photo .moment-title em { color:inherit; font-style:normal; }
.home-page .small-photo .moment-subline { grid-column:1 / -1; grid-row:2; }
.home-page .small-photo figcaption .moment-arrow-wrap { grid-column:2; grid-row:1; align-self:end; margin-top:0; margin-bottom:.1em; }

@media(min-width:701px) and (max-width:1600px) { .home-page .small-photo figcaption a { max-width:calc(6em + 34px); } }
