/* HEINE Startseiten 1.3: one shared, quiet hierarchy; variants change composition. */
#heine-home {--hh-green:#17624d;--hh-accent:#2fac81;--hh-muted:#57736a;--hh-line:#dbe9e3;color:var(--hh-green);background:#fff;line-height:1.6}
#heine-home * {box-sizing:border-box}
#heine-home [hidden] {display:none!important}
#heine-home .hh-wrap {width:min(1180px,calc(100% - 48px));margin-inline:auto}
#heine-home :is(h1,h2,h3,p,figure) {margin:0}
#heine-home :is(h1,h2,h3) {color:var(--hh-green);letter-spacing:-.025em;overflow-wrap:anywhere}
#heine-home p {color:var(--hh-muted)}
#heine-home a {color:inherit;text-decoration:none}
#heine-home a:hover {color:var(--hh-accent);text-decoration:none!important}
#heine-home :is(a,button):focus-visible {outline:3px solid var(--hh-accent);outline-offset:4px}
#heine-home .hh-section {padding:48px 0;background:#fff}
#heine-home .hh-heading {display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}
#heine-home .hh-heading .hh-link {flex-shrink:0}
#heine-home .hh-eyebrow {color:var(--hh-accent);margin-bottom:10px}
#heine-home .hh-hero {padding:28px 0}
#heine-home .hh-hero-layout {display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
#heine-home .hh-hero-media {aspect-ratio:21/9;position:relative;overflow:hidden;border-radius:22px}
#heine-home .hh-slider,#heine-home .hh-slide {position:absolute;inset:0}
#heine-home .hh-hero-photo {position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
#heine-home .hh-slider-controls {position:absolute;z-index:4;bottom:16px;right:16px;display:flex;gap:6px;align-items:center;background:#fff;color:var(--hh-green);border-radius:999px;padding:4px 8px;box-shadow:0 3px 12px #0002}
#heine-home .hh-slider-controls button {appearance:none;background:transparent;border:0;color:var(--hh-green);border-radius:999px;padding:8px;min-width:40px;min-height:40px;cursor:pointer;font:inherit}
#heine-home .hh-slider-controls button:hover {background:#eaf6f0}
#heine-home .hh-service {border-block:1px solid var(--hh-line);padding:13px 0;display:flex;gap:20px;align-items:center;justify-content:space-between}
#heine-home .hh-service>div {display:flex;gap:26px;flex-wrap:wrap}
#heine-home .hh-service a {display:inline-flex;align-items:center;gap:6px;min-height:36px}
#heine-home .hh-news-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
#heine-home .hh-news-card {min-width:0;background:#fff;border:1px solid var(--hh-line);border-radius:20px;overflow:hidden}
#heine-home .hh-news-copy {padding:20px 22px 24px}
#heine-home .hh-news-card>a {display:block}
#heine-home .hh-news-image {aspect-ratio:3/2;position:relative;overflow:hidden;border-radius:0;margin-bottom:0}
#heine-home .hh-news-image img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#heine-home .hh-news-copy time {display:block;color:var(--hh-muted);margin-bottom:6px}
#heine-home .hh-news-copy p {margin-top:9px}
#heine-home .hh-news-card a:hover h3 {color:var(--hh-accent)}
#heine-home .hh-events-list {border-top:1px solid var(--hh-line)}
#heine-home .hh-event {display:grid;grid-template-columns:80px minmax(0,1fr) 20px;gap:22px;align-items:center;padding:17px 0;border-bottom:1px solid var(--hh-line)}
#heine-home .hh-date time {display:flex;flex-direction:column;line-height:1.2}
#heine-home .hh-date span {color:var(--hh-muted);margin-top:4px}
#heine-home .hh-event h3 {margin-bottom:3px}
#heine-home .hh-film-layout {display:grid;grid-template-columns:1fr 1.15fr;gap:52px;align-items:center}
#heine-home .hh-film-layout h2 {margin-bottom:18px}
#heine-home .hh-film-caption {margin-top:16px}
#heine-home .hh-film-media {aspect-ratio:16/9;position:relative;overflow:hidden;border-radius:18px;background:#edf5f1}
#heine-home .hh-film-media :is(video,iframe) {display:block;position:absolute;inset:0;width:100%;height:100%;border:0}
#heine-home .hh-film-poster {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.3}
#heine-home .hh-film-launch {position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;text-align:center;background:#ffffffe0}
#heine-home .hh-film-launch p {max-width:40ch}
#heine-home .hh-button {appearance:none;display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:999px;background:var(--hh-green);border:0;color:#fff;font:inherit;cursor:pointer}
#heine-home .hh-button:hover {background:#237b60;color:#fff}
#heine-home .hh-partner-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
#heine-home .hh-partner-grid a {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px 8px;text-align:center;min-height:90px}
#heine-home .hh-partner-grid img {width:100%;max-width:160px;height:56px;object-fit:contain}
#heine-home .hh-contact {padding:22px 0;margin:14px 0 20px;border-top:1px solid var(--hh-line)}
#heine-home .hh-contact-line {display:flex;gap:20px;align-items:center;justify-content:space-between}
#heine-home .hh-contact-line>div {display:flex;gap:26px;flex-wrap:wrap}
#heine-home .hh-empty {padding:16px 0;grid-column:1/-1}
#heine-home .hh-preview {padding:10px 20px;background:#fff9e8;border-bottom:1px solid #c8b169;color:#705c22;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
/* Three entry ideas, identical content below. */
#heine-home h1 span {color:var(--hh-accent)}
#heine-home .hh-hero {padding:40px 0 34px}
#heine-home .hh-picture-strip {display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px}
#heine-home .hh-pictures-2 {grid-template-columns:1.4fr 1fr}
#heine-home .hh-pictures-1 {grid-template-columns:1fr}
#heine-home .hh-picture {position:relative;height:270px;overflow:hidden;border-radius:18px}
#heine-home .hh-pictures-1 .hh-picture {height:360px}
#heine-home .hh-facts {padding:25px 0 28px;background:#f4f9f7;margin-top:26px}
#heine-home .hh-facts-head {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}
#heine-home .hh-facts ul {display:flex;justify-content:space-between;gap:12px 24px;list-style:none;padding:0;margin:0;flex-wrap:wrap}
#heine-home .hh-facts li {margin:0;color:var(--hh-muted)}
#heine-home .hh-film {background:#eef7f3;margin:16px 0}
#heine-home .hh-news-count-1 {grid-template-columns:1fr}
#heine-home .hh-news-count-2 {grid-template-columns:repeat(2,minmax(0,1fr))}
#heine-home .hh-news-count-1 .hh-news-card:has(img)>a {display:grid;grid-template-columns:1fr 1.2fr;align-items:center}
#heine-home .hh-partner-grid {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px;align-items:center}
#heine-home .hh-logos-4 {grid-template-columns:repeat(4,minmax(0,1fr))}
#heine-home .hh-logos-3 {grid-template-columns:repeat(3,minmax(0,1fr))}
#heine-home .hh-logos-2 {grid-template-columns:repeat(2,minmax(0,1fr))}
#heine-home .hh-logos-1 {grid-template-columns:1fr;max-width:240px}
#heine-home .hh-partner-grid img {width:100%;max-width:180px;height:76px;object-fit:contain}
#heine-home .hh-no-photo .hh-hero-layout {display:grid;grid-template-columns:1fr}
/* Layer matches the existing site's typography adjustments. */
@layer heine-typography {
 html body main#heine-home {font-size:16px!important}
 html body main#heine-home p {font-size:16px!important;line-height:1.6!important}
 html body main#heine-home h1 {font-size:clamp(40px,5.2vw,72px)!important;line-height:1.12!important}
 html body main#heine-home h2 {font-size:clamp(26px,2.5vw,34px)!important;line-height:1.2!important}
 html body main#heine-home h3 {font-size:21px!important;line-height:1.3!important}
 html body main#heine-home :is(.hh-link,.hh-button,.hh-service a,.hh-contact a) {font-size:14px!important;line-height:1.5!important}
 html body main#heine-home .hh-eyebrow {font-size:11px!important;letter-spacing:.07em!important;line-height:1.45!important;text-transform:uppercase}
 html body main#heine-home .hh-facts h2 {font-size:20px!important}
 html body main#heine-home .hh-facts li {font-size:14px!important}
 html body main#heine-home :is(.hh-service-label,.hh-news-copy time,.hh-date span,.hh-preview,.hh-slider-controls button,.hh-slider-controls span) {font-size:12px!important;line-height:1.45!important;letter-spacing:0!important}
 html body main#heine-home .hh-date strong {font-size:28px!important}
 html body main#heine-home .hh-event h3 {font-size:19px!important}
 html body main#heine-home :is(.hh-event p,.hh-film-caption,.hh-film-launch p,.hh-film-launch a,.hh-partner-grid span) {font-size:14px!important}
}
@layer heine-typography.weights {
 html body main#heine-home :is(p,span,time) {font-weight:400!important}
 html body main#heine-home :is(h1,h2) {font-weight:650!important}
 html body main#heine-home :is(h3,.hh-date strong,.hh-eyebrow) {font-weight:600!important}
 html body main#heine-home :is(a,button,.hh-service-label) {font-weight:500!important}
}
@media(max-width:900px){
 #heine-home .hh-service {flex-direction:column;align-items:flex-start;gap:4px}
 #heine-home .hh-service>div {gap:8px 24px}
 #heine-home .hh-film-layout {gap:26px}
 #heine-home .hh-picture {height:210px}
 #heine-home .hh-partner-grid {gap:18px}
}
@media(max-width:680px){
 #heine-home .hh-wrap {width:calc(100% - 36px)}
 #heine-home .hh-section {padding:32px 0}
 #heine-home .hh-hero-media {aspect-ratio:4/3}
 #heine-home .hh-heading {display:block}
 #heine-home .hh-heading .hh-link {display:inline-block;margin-top:10px}
 #heine-home .hh-news-grid,#heine-home .hh-film-layout {grid-template-columns:minmax(0,1fr)}
 #heine-home .hh-news-count-1 .hh-news-card:has(img)>a {display:block}
 #heine-home .hh-slider-controls {bottom:10px;right:10px;gap:3px;padding:3px 6px}
 #heine-home .hh-event {grid-template-columns:60px minmax(0,1fr) 16px;gap:14px}
 #heine-home .hh-contact-line {flex-direction:column;align-items:flex-start;gap:10px}
 #heine-home .hh-contact-line>div {gap:10px 20px}
 #heine-home .hh-film-launch {padding:10px;gap:8px}
 #heine-home .hh-picture-strip {grid-template-columns:1fr 1fr;gap:12px}
 #heine-home .hh-picture {height:150px}
 #heine-home .hh-picture:first-child {grid-column:1/-1;height:240px}
 #heine-home .hh-pictures-2 .hh-picture {grid-column:auto;height:190px}
 #heine-home .hh-facts-head {display:block}
 #heine-home .hh-facts-head .hh-link {display:inline-block;margin-top:8px}
 #heine-home .hh-facts ul {justify-content:flex-start;gap:10px 20px}
 #heine-home .hh-partner-grid {grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:130px;justify-content:start;overflow-x:auto;gap:20px;padding:8px 4px}
}
@layer heine-typography {
 html body main#heine-home h1 span {font-size:inherit!important;line-height:inherit!important}
}
@layer heine-typography.weights {
 html body main#heine-home h1 span {font-weight:650!important}
}

/* 1.4: photo-led, split and claim-led entries. */
#heine-home .hh-family-link {justify-self:start;font-size:14px;line-height:1.5;min-height:36px;display:inline-flex;align-items:center;gap:10px}
#heine-home .hh-facts {background:#fff;margin-top:0;border-top:1px solid var(--hh-line)}
#heine-home .hh-hero-copy {min-width:0}
@media(max-width:680px){
}
/* 1.5: consolidated design from the five selected reference screens. */
#heine-home.hh-final-home .hh-hero {padding:38px 0 42px}
#heine-home.hh-final-home .hh-hero-layout {grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);grid-template-rows:auto auto;column-gap:40px;row-gap:20px;align-items:center}
#heine-home.hh-final-home .hh-hero-copy {grid-column:1;grid-row:1;align-self:end}
#heine-home.hh-final-home .hh-hero-intro {grid-column:1;grid-row:2;align-self:start}
#heine-home.hh-final-home .hh-hero-media {grid-column:2;grid-row:1 / span 2;aspect-ratio:16/9;border-radius:28px;box-shadow:0 14px 35px #17624d0d}
#heine-home.hh-final-home .hh-hero-actions {display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
#heine-home .hh-button-light {background:white;color:var(--hh-green);border:1px solid var(--hh-line)}
#heine-home .hh-button-light:hover {color:var(--hh-accent);background:#f6faf8}
#heine-home.hh-final-home .hh-facts {border:0;padding:12px 0 24px}
#heine-home.hh-final-home .hh-facts-head {margin-bottom:16px}
#heine-home.hh-final-home .hh-facts ul {display:grid;grid-template-columns:1.2fr .85fr 1fr 1.3fr 1fr;gap:0;border-block:1px solid var(--hh-line)}
#heine-home.hh-final-home .hh-facts li {display:flex;flex-direction:column;justify-content:center;padding:17px 16px;border-right:1px solid var(--hh-line);min-width:0}
#heine-home.hh-final-home .hh-facts li:first-child {padding-left:0}
#heine-home.hh-final-home .hh-facts li:last-child {border:0;padding-right:0}
#heine-home.hh-final-home .hh-facts li strong {display:block;white-space:nowrap;color:var(--hh-green);letter-spacing:-.02em}
#heine-home.hh-final-home .hh-facts li span {margin-top:5px;white-space:nowrap}
#heine-home.hh-final-home .hh-news-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
#heine-home.hh-final-home .hh-news-count-1 {grid-template-columns:repeat(2,minmax(0,1fr))}
#heine-home.hh-final-home .hh-news-count-0 {grid-template-columns:1fr 1fr}
#heine-home.hh-final-home .hh-news-count-0>.hh-empty {grid-column:auto}
#heine-home.hh-final-home .hh-news-card>a {display:flex;flex-direction:column;height:100%}
#heine-home.hh-final-home .hh-news-count-1 .hh-news-card:has(img)>a {display:flex}
#heine-home.hh-final-home .hh-news-image {width:100%;aspect-ratio:16/9;flex-shrink:0;background:linear-gradient(125deg,#dbefe7,#f6faf8)}
#heine-home.hh-final-home .hh-news-copy {padding:18px 20px 22px}
#heine-home .hh-calendar-card {border:1px solid var(--hh-line);border-radius:20px;padding:20px;min-width:0;display:flex;flex-direction:column}
#heine-home .hh-calendar-card .hh-eyebrow {margin-bottom:4px}
#heine-home .hh-calendar-card .hh-events-list {border:0;margin:8px 0 14px}
#heine-home .hh-calendar-card .hh-event {grid-template-columns:48px minmax(0,1fr);gap:12px;padding:12px 0;align-items:start}
#heine-home .hh-calendar-card .hh-event>span:last-child {display:none}
#heine-home .hh-calendar-card .hh-event:last-child {border-bottom:0}
#heine-home .hh-calendar-card .hh-date {background:#eef7f3;border-radius:12px;padding:12px 3px;text-align:center}
#heine-home .hh-calendar-card>.hh-link {margin-top:auto;align-self:flex-start}
#heine-home .hh-newcomers {display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center;border:1px solid var(--hh-line);border-radius:22px;padding:26px 30px;margin-bottom:48px}
#heine-home .hh-newcomers h2 {margin-bottom:10px}
#heine-home .hh-newcomers nav {display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
#heine-home.hh-final-home .hh-film {padding:48px 0;margin:0 0 32px}
#heine-home.hh-final-home .hh-film-media {background:white}
#heine-home.hh-final-home #heine-film {scroll-margin-top:120px}
#heine-home.hh-final-home .hh-partners {padding-top:44px}
@layer heine-typography {
 html body main#heine-home.hh-final-home h1 {font-size:clamp(40px,5.3vw,74px)!important;line-height:1.02!important;letter-spacing:-.045em!important}
 html body main#heine-home.hh-final-home .hh-hero-intro>p {font-size:18px!important;line-height:1.6!important}
 html body main#heine-home.hh-final-home .hh-hero-copy .hh-eyebrow {font-size:11px!important;letter-spacing:.055em!important;margin-bottom:18px}
 html body main#heine-home.hh-final-home .hh-facts li strong {font-size:clamp(14px,1.35vw,18px)!important;line-height:1.3!important}
 html body main#heine-home.hh-final-home .hh-facts li span {font-size:12px!important;line-height:1.5!important}
 html body main#heine-home.hh-final-home .hh-facts h2 {font-size:17px!important;letter-spacing:0!important}
 html body main#heine-home .hh-calendar-card>h3 {font-size:27px!important;line-height:1.2!important}
 html body main#heine-home .hh-calendar-card .hh-event h4 {font-size:15px!important;line-height:1.35!important;margin:0 0 4px;letter-spacing:0!important;color:var(--hh-green)}
 html body main#heine-home .hh-calendar-card .hh-event p {font-size:12px!important;line-height:1.45!important}
 html body main#heine-home .hh-calendar-card .hh-date time {font-size:13px!important;line-height:1.5!important}
 html body main#heine-home .hh-newcomers h2 {font-size:28px!important}
 html body main#heine-home .hh-newcomers p:not(.hh-eyebrow) {font-size:15px!important}
}
@layer heine-typography.weights {
 html body main#heine-home.hh-final-home .hh-facts :is(h2,strong) {font-weight:500!important}
 html body main#heine-home .hh-calendar-card h4 {font-weight:550!important}
 html body main#heine-home .hh-calendar-card>h3 {font-weight:650!important}
}
@media(max-width:1000px){
 #heine-home.hh-final-home .hh-facts ul {grid-template-columns:repeat(3,minmax(0,1fr))}
 #heine-home.hh-final-home .hh-facts li {padding:14px!important;border:0}
 #heine-home.hh-final-home .hh-hero-layout {column-gap:24px}
 #heine-home.hh-final-home .hh-news-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 #heine-home.hh-final-home .hh-news-count-2 .hh-calendar-card {grid-column:1/-1}
 #heine-home.hh-final-home .hh-news-count-2 .hh-calendar-card .hh-events-list {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
 #heine-home.hh-final-home .hh-news-count-2 .hh-calendar-card .hh-event {border:0}
 #heine-home .hh-newcomers {grid-template-columns:1fr;gap:20px}
 #heine-home .hh-newcomers nav {justify-content:flex-start}
}
@media(max-width:680px){
 #heine-home.hh-final-home .hh-hero {padding:26px 0 30px}
 #heine-home.hh-final-home .hh-hero-layout {display:flex;flex-direction:column;align-items:stretch;gap:20px}
 #heine-home.hh-final-home .hh-hero-copy,#heine-home.hh-final-home .hh-hero-intro {align-self:auto}
 #heine-home.hh-final-home .hh-hero-media {aspect-ratio:4/3}
 #heine-home.hh-final-home .hh-facts ul {grid-template-columns:repeat(2,minmax(0,1fr))}
 #heine-home.hh-final-home .hh-facts li strong,#heine-home.hh-final-home .hh-facts li span {white-space:normal;overflow-wrap:normal;hyphens:auto}
 #heine-home.hh-final-home .hh-facts li {padding:12px 8px!important}
 #heine-home.hh-final-home .hh-news-grid {grid-template-columns:1fr}
 #heine-home.hh-final-home .hh-news-count-2 .hh-calendar-card .hh-events-list {display:block}
 #heine-home .hh-newcomers {padding:22px;margin-bottom:32px}
 #heine-home.hh-final-home .hh-film {padding:32px 0}
}

/* Variant 5: quiet typographic opening; all everyday links close the page. */
#heine-home.hh-final-home .hh-hero{padding:48px 0 32px;background:#fff}
#heine-home.hh-final-home .hh-hero-layout{display:block}
#heine-home.hh-final-home .hh-hero-copy{max-width:none;width:100%}
#heine-home.hh-final-home .hh-hero h1{white-space:nowrap;max-width:none}
#heine-home.hh-final-home .hh-claim-intro{max-width:820px;margin:20px 0 0;color:var(--hh-muted)}
#heine-home.hh-final-home .hh-film{margin-top:28px;margin-bottom:0}
#heine-home.hh-final-home .hh-closing{border-top:1px solid var(--hh-line);padding-top:6px}
#heine-home.hh-final-home .hh-closing .hh-service{border:0;margin-bottom:0}
#heine-home.hh-final-home .hh-closing .hh-contact{background:transparent;border:0;padding-top:0}
@layer heine-typography{
 html body main#heine-home.hh-final-home h1{font-size:clamp(34px,5.2vw,72px)!important;line-height:1.12!important;letter-spacing:-.04em!important}
 html body main#heine-home.hh-final-home .hh-claim-intro{font-size:18px!important;line-height:1.6!important}
}
@media(max-width:680px){
 #heine-home.hh-final-home .hh-hero{padding:28px 0 24px}
 #heine-home.hh-final-home .hh-hero h1{white-space:normal}
 #heine-home.hh-final-home .hh-hero h1 span{display:block}
}

#heine-home .hh-read-more{display:inline-block;margin-top:16px;color:var(--hh-green);font-size:14px;font-weight:500}
#heine-home .hh-news-card>a:hover .hh-read-more{color:var(--hh-accent);text-decoration:none}
#heine-home .hh-news-card>a:focus-visible{outline-offset:-4px}

/* 2.1: the same opening sequence as Unsere Schule. */
#heine-home.hh-final-home .hh-hero{padding:52px 0 0;background:#fff}
#heine-home.hh-final-home .hh-hero-layout{padding-bottom:28px}
#heine-home.hh-final-home .hh-hero h1{white-space:normal;overflow-wrap:normal}
#heine-home.hh-final-home .hh-claim-intro{margin-top:16px;max-width:900px}
#heine-home.hh-final-home .hh-banner{width:100%;height:clamp(300px,26vw,420px);overflow:hidden;background:#eef7f3}
#heine-home.hh-final-home .hh-banner-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:50% var(--hh-banner-y,20%)}
#heine-home.hh-final-home .hh-film{margin:0;padding:56px 0;background:var(--hh-green)}
#heine-home.hh-final-home .hh-film-layout>div:first-child h2{color:#fff}
#heine-home.hh-final-home .hh-film-layout>div:first-child p{color:#e1eee8}
#heine-home.hh-final-home .hh-film-layout>div:first-child .hh-eyebrow{color:#acdccc}
#heine-home.hh-final-home .hh-film-layout>div:first-child .hh-film-caption{color:#c5ded4}
#heine-home.hh-final-home .hh-film-media{background:#f5faf7}
#heine-home.hh-final-home .hh-film .hh-film-launch p{color:var(--hh-muted)}
#heine-home.hh-final-home .hh-facts{padding:32px 0 0}
@layer heine-typography{
 html body main#heine-home.hh-final-home h1{font-size:clamp(36px,4.2vw,64px)!important;line-height:1.12!important}
 html body main#heine-home.hh-final-home .hh-hero-copy .hh-eyebrow{font-size:12px!important;margin-bottom:12px;letter-spacing:.065em!important}
}
@media(max-width:680px){
 #heine-home.hh-final-home .hh-hero{padding-top:32px}
 #heine-home.hh-final-home .hh-hero-layout{padding-bottom:24px}
 #heine-home.hh-final-home .hh-banner{height:auto;aspect-ratio:16/9}
 #heine-home.hh-final-home .hh-banner-photo{aspect-ratio:16/9}
 #heine-home.hh-final-home .hh-film{padding:36px 0}
}

/* Partner marks: readable, balanced and intentionally not clickable. */
#heine-home.hh-final-home .hh-partners{padding-top:24px;padding-bottom:36px}
#heine-home.hh-final-home .hh-partners .hh-heading{margin-bottom:10px}
#heine-home.hh-final-home .hh-partner-grid{gap:28px;align-items:center}
#heine-home.hh-final-home .hh-partner-mark{display:flex;align-items:center;justify-content:center;min-width:0;min-height:140px;padding:12px 0}
#heine-home.hh-final-home .hh-partner-grid img{display:block;width:100%;max-width:260px;height:110px;object-fit:contain}
#heine-home.hh-final-home .hh-logos-1{max-width:300px}
@media(max-width:680px){
 #heine-home.hh-final-home .hh-partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;gap:16px 24px;overflow:visible;padding:0}
 #heine-home.hh-final-home .hh-logos-1{grid-template-columns:1fr}
 #heine-home.hh-final-home .hh-partner-mark{min-height:112px;padding:8px 0}
 #heine-home.hh-final-home .hh-partner-grid img{height:96px}
}

/* 2.2: taller image sequence and a soft philosophy background. */
#heine-home.hh-final-home .hh-banner{position:relative;height:clamp(400px,36vw,580px)}
#heine-home .hh-banner-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s;pointer-events:none}
#heine-home .hh-banner-slide.is-active{opacity:1;visibility:visible}
#heine-home .hh-banner-controls{position:absolute;z-index:2;right:max(24px,calc((100% - 1180px)/2));bottom:20px;display:flex;align-items:center;gap:4px;border-radius:999px;padding:4px 8px;background:#fff;color:var(--hh-green);box-shadow:0 3px 16px #0002}
#heine-home .hh-banner-controls button{appearance:none;border:0;background:transparent;color:inherit;font:inherit;min-width:40px;min-height:40px;cursor:pointer;border-radius:50%}
#heine-home .hh-banner-controls button:hover{background:#edf6f1}
#heine-home .hh-banner-controls span{min-width:44px;text-align:center;font-size:13px}
#heine-home.hh-final-home .hh-film{background:#f1f7f4;margin-top:48px}
#heine-home.hh-final-home .hh-film-layout>div:first-child h2{color:var(--hh-green)}
#heine-home.hh-final-home .hh-film-layout>div:first-child p{color:var(--hh-muted)}
#heine-home.hh-final-home .hh-film-layout>div:first-child .hh-eyebrow{color:var(--hh-accent)}
#heine-home.hh-final-home .hh-film-layout>div:first-child .hh-film-caption{color:var(--hh-muted)}
@media(max-width:680px){
 #heine-home.hh-final-home .hh-banner{height:clamp(280px,70vw,440px);aspect-ratio:auto}
 #heine-home.hh-final-home .hh-banner-photo{height:100%;aspect-ratio:auto}
 #heine-home.hh-final-home .hh-film{margin-top:28px}
 #heine-home .hh-banner-controls{right:18px;bottom:14px}
}
@media(prefers-reduced-motion:reduce){#heine-home .hh-banner-slide{transition:none}}

#heine-home .hh-philosophy-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:24px}
#heine-home .hh-philosophy-links a{display:inline-flex;align-items:center;min-height:36px}

/* 2.3: compact finishing details for philosophy, news, partners and contact. */
#heine-home.hh-final-home :is(.hh-film,.hh-news,.hh-newcomers,.hh-partners) h2{font-size:clamp(34px,3.5vw,50px)!important;line-height:1.02!important;letter-spacing:-.035em!important}
#heine-home.hh-final-home .hh-film{margin-top:32px}
#heine-home .hh-philosophy-links{gap:10px;margin-top:24px}
#heine-home .hh-philosophy-links a{min-height:42px;padding:8px 16px;border:1px solid #bfdacf;border-radius:999px;background:#fff;color:var(--hh-green)}
#heine-home .hh-philosophy-links a:hover{border-color:var(--hh-accent);background:#e5f3ed;color:var(--hh-green)}
#heine-home.hh-final-home .hh-news-card>a:not(:has(.hh-news-image)) .hh-news-copy{padding-top:24px}
#heine-home.hh-final-home .hh-news-copy{display:flex;flex:1;flex-direction:column}
#heine-home.hh-final-home .hh-news-copy .hh-read-more{margin-top:auto;padding-top:16px}
#heine-home.hh-final-home .hh-news-heading{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:end}
#heine-home.hh-final-home .hh-news-heading .hh-all-news{grid-column:2;justify-self:end}
#heine-home.hh-final-home .hh-news-heading .hh-all-events{grid-column:3;justify-self:end}
#heine-home.hh-final-home .hh-news-image-logo{background:#f1f7f4}
#heine-home.hh-final-home .hh-news-image-logo img{object-fit:contain;padding:34px}
#heine-home.hh-final-home .hh-partners{padding-top:36px;padding-bottom:42px}
#heine-home.hh-final-home .hh-partners .hh-heading{margin-bottom:16px}
#heine-home.hh-final-home .hh-partner-grid{gap:24px}
#heine-home.hh-final-home .hh-partner-mark{min-height:100px;padding:4px 0}
#heine-home.hh-final-home .hh-partner-grid img{max-width:240px;height:90px}
#heine-home.hh-final-home .hh-closing{padding:22px 0 34px}
#heine-home.hh-final-home .hh-closing .hh-service{margin-bottom:22px}
#heine-home.hh-final-home .hh-closing .hh-contact{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:22px 26px;border:1px solid var(--hh-line);border-radius:18px;background:#f1f7f4}
#heine-home.hh-final-home .hh-contact .hh-wrap{width:100%}
#heine-home.hh-final-home .hh-contact-line>p{color:var(--hh-green)}
@media(max-width:680px){
 #heine-home.hh-final-home :is(.hh-film,.hh-news,.hh-newcomers,.hh-partners) h2{font-size:clamp(32px,10vw,42px)!important;line-height:1.08!important}
 #heine-home.hh-final-home .hh-film{margin-top:24px}
 #heine-home.hh-final-home .hh-news-image-logo img{padding:24px}
 #heine-home.hh-final-home .hh-partners{padding-top:28px;padding-bottom:34px}
 #heine-home.hh-final-home .hh-partner-mark{min-height:88px}
 #heine-home.hh-final-home .hh-partner-grid img{height:76px}
 #heine-home.hh-final-home .hh-closing .hh-contact{width:calc(100% - 36px);padding:20px}
}
@media(min-width:681px) and (max-width:1000px){
 #heine-home.hh-final-home .hh-news-heading{grid-template-columns:repeat(2,minmax(0,1fr))}
 #heine-home.hh-final-home .hh-news-heading .hh-all-news{grid-column:2}
 #heine-home.hh-final-home .hh-news-heading .hh-all-events{grid-column:2;grid-row:2;margin-top:8px}
}
@media(max-width:680px){
 #heine-home.hh-final-home .hh-news-heading{display:grid;grid-template-columns:1fr auto;gap:10px 20px}
 #heine-home.hh-final-home .hh-news-heading>div{grid-column:1/-1}
 #heine-home.hh-final-home .hh-news-heading .hh-all-news{grid-column:1;justify-self:start;margin-top:0}
 #heine-home.hh-final-home .hh-news-heading .hh-all-events{grid-column:2;justify-self:end;margin-top:0}
}

/* 2.3.3 – Startseiten-Claim entspricht den Claims der Hauptbereiche. */
@layer heine-typography{
 html body main#heine-home.hh-final-home .hh-hero h1{
  font-size:clamp(52px,5.8vw,82px)!important;
  line-height:.96!important;
  letter-spacing:-.055em!important;
  white-space:nowrap;
 }
 html body main#heine-home.hh-final-home .hh-hero h1 span{display:inline}
 html body main#heine-home.hh-final-home :is(.hh-film,.hh-news,.hh-newcomers,.hh-partners) h2{
  font-size:clamp(35px,3.8vw,50px)!important;
  line-height:1.02!important;
  letter-spacing:-.04em!important;
 }
}
@media(max-width:680px){
 @layer heine-typography{
  html body main#heine-home.hh-final-home .hh-hero h1{font-size:48px!important;white-space:normal}
  html body main#heine-home.hh-final-home .hh-hero h1 span{display:block}
  html body main#heine-home.hh-final-home :is(.hh-film,.hh-news,.hh-newcomers,.hh-partners) h2{font-size:42px!important;line-height:1.06!important}
 }
}

/* 2.3.6 – ruhiges, gemeinsames Textraster der Nachrichtenkarten. */
#heine-home.hh-final-home .hh-news-copy{padding:22px 24px 24px}
#heine-home.hh-final-home .hh-news-copy time{margin:0 0 12px}
#heine-home.hh-final-home .hh-news-copy h3{
 margin:0;
 min-height:2.36em;
 display:-webkit-box;
 overflow:hidden;
 -webkit-box-orient:vertical;
 -webkit-line-clamp:2;
 line-height:1.18;
}
#heine-home.hh-final-home .hh-news-copy>p{
 margin:16px 0 0;
 min-height:4.65em;
 display:-webkit-box;
 overflow:hidden;
 -webkit-box-orient:vertical;
 -webkit-line-clamp:3;
 line-height:1.55;
}
#heine-home.hh-final-home .hh-news-copy .hh-read-more{padding-top:20px}
@media(max-width:680px){
 #heine-home.hh-final-home .hh-news-copy{padding:20px}
 #heine-home.hh-final-home .hh-news-copy h3,
 #heine-home.hh-final-home .hh-news-copy>p{min-height:0}
}

/* 2.3.7 – Kategorie als ruhige Überzeile und eindeutiges Heine-Grün beim Ankommen. */
#heine-home.hh-final-home .hh-news-category{
 display:block;
 margin:0 0 8px;
 color:var(--hh-accent);
 font-size:11px;
 font-weight:650;
 line-height:1.35;
 letter-spacing:.075em;
 text-transform:uppercase;
}
#heine-home.hh-final-home .hh-news-copy time{margin-bottom:4px}
#heine-home.hh-final-home .hh-newcomers h2{color:var(--hh-green)!important}

/* 2.3.8 – Datum, Kategorie und Titel bilden eine klare Achse; Partnerlogos stehen kompakter. */
#heine-home.hh-final-home .hh-partner-grid{
 gap:clamp(12px,1.25vw,18px);
}
#heine-home.hh-final-home .hh-partner-grid.hh-logos-4{
 grid-template-columns:repeat(4,minmax(0,1fr));
 width:min(100%,1240px);
 margin-inline:auto;
}
#heine-home.hh-final-home .hh-partner-mark{
 min-height:108px;
 padding:2px 0;
}
#heine-home.hh-final-home .hh-partner-grid img{
 max-width:280px;
 height:104px;
}
@media(max-width:680px){
 #heine-home.hh-final-home .hh-partner-grid.hh-logos-4{
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:100%;
 }
 #heine-home.hh-final-home .hh-partner-mark{min-height:88px}
 #heine-home.hh-final-home .hh-partner-grid img{height:80px}
}

/* 2.3.9 – Sonderrubriken bleiben im gemeinsamen Raster, erhalten aber eine eigene Note. */
#heine-home.hh-final-home .hh-news-card.is-monthly-highlight{
 border:2px solid #9fd8c4;
 background:#f3faf7;
}
#heine-home.hh-final-home .hh-news-card.is-monthly-highlight .hh-news-category{
 display:table;
 padding:5px 8px;
 border-radius:999px;
 background:#e2f3ed;
}
#heine-home.hh-final-home .hh-news-card.is-three-questions .hh-news-category::before{
 content:"3 · ";
}

/* 2.3.10 – ruhige News-Metazeile und grüner Orientierungsbereich. */
#heine-home.hh-final-home .hh-news-meta{
 display:flex;
 align-items:center;
 flex-wrap:wrap;
 gap:7px;
 min-height:22px;
 margin:0 0 12px;
}
#heine-home.hh-final-home .hh-news-meta time,
#heine-home.hh-final-home .hh-news-meta .hh-news-category{
 display:inline-flex;
 align-items:center;
 margin:0;
}
#heine-home.hh-final-home .hh-news-meta-separator{
 color:var(--hh-muted);
 line-height:1;
}
#heine-home.hh-final-home .hh-news-card.is-monthly-highlight .hh-news-category{
 display:inline-flex;
 padding:3px 7px;
}
#heine-home.hh-final-home .hh-newcomers{
 background:var(--hh-green);
 border-color:var(--hh-green);
}
#heine-home.hh-final-home .hh-newcomers h2{
 color:#fff!important;
}
#heine-home.hh-final-home .hh-newcomers .hh-eyebrow{
 color:#a9e2cc;
}
#heine-home.hh-final-home .hh-newcomers>div>p:not(.hh-eyebrow){
 color:#e5f1ec;
}
#heine-home.hh-final-home .hh-newcomers .hh-button-light{
 background:#fff;
 border-color:#fff;
 color:var(--hh-green);
}

/* 2.3.11 – mehrtägige Termine und Ferien zeigen Start und Ende. */
#heine-home .hh-calendar-card .hh-event{grid-template-columns:68px minmax(0,1fr)}
#heine-home .hh-calendar-card .hh-date{padding-inline:5px}
#heine-home .hh-calendar-card .hh-date time{white-space:nowrap;font-size:11px!important}
#heine-home.hh-final-home .hh-newcomers .hh-button-light:hover{
 background:#e5f3ed;
 border-color:#e5f3ed;
 color:var(--hh-green);
}
#heine-home.hh-final-home .hh-newcomers .hh-button-light:focus-visible{
 outline-color:#fff;
}

/* 2.3.17 – Nachrichtenkarten wie im Heine-heute-Archiv. */
#heine-home.hh-final-home .hh-news-grid{row-gap:30px;column-gap:20px}
#heine-home.hh-final-home .hh-news-card{background:#fff;border:1px solid var(--hh-line);box-shadow:none}
#heine-home.hh-final-home .hh-news-card.is-featured-news{border:2px solid var(--hh-accent)}
#heine-home.hh-final-home .hh-news-image{aspect-ratio:16/10;background:linear-gradient(135deg,#eff8f4,#e2f0e9)}
#heine-home.hh-final-home .hh-news-copy{padding:20px;min-width:0}
#heine-home.hh-final-home .hh-news-meta{align-items:baseline;gap:6px;font-size:12px;line-height:1.5;margin:0 0 10px;min-height:18px}
#heine-home.hh-final-home .hh-news-meta time{margin:0;white-space:nowrap}
#heine-home.hh-final-home .hh-news-category{font-size:11px;letter-spacing:.055em;text-transform:uppercase;color:var(--hh-accent);line-height:1.5}
#heine-home.hh-final-home .hh-news-copy h3{margin:0 0 12px;min-height:0;-webkit-line-clamp:3}
#heine-home.hh-final-home .hh-news-copy>p{margin:0 0 20px;min-height:4.65em}
#heine-home.hh-final-home .hh-news-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;min-height:26px}
#heine-home.hh-final-home .hh-news-footer .hh-read-more{margin:0;padding:0;font-size:12px}
#heine-home.hh-final-home .hh-news-footer .heine-photo-count{margin:0;font-size:11px}
#heine-home.hh-final-home .hh-news-highlight{position:absolute;left:14px;bottom:14px;width:max-content;max-width:calc(100% - 28px);background:#eef8f4;color:var(--hh-accent);border:1px solid #dcebe5;border-radius:999px;padding:6px 10px;font-size:11px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase}
#heine-home.hh-final-home .hh-news-monogram{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#aacabd;font-size:72px;line-height:1}
#heine-home.hh-final-home .hh-news-monogram>span{font-size:11px;letter-spacing:.16em;line-height:1.4;margin-top:12px;color:#587c6e}
@layer heine-typography{
 html body main#heine-home.hh-final-home .hh-news-copy h3{font-size:23px!important;line-height:1.2!important}
 html body main#heine-home.hh-final-home .hh-news-copy>p{font-size:15px!important;line-height:1.55!important}
 html body main#heine-home.hh-final-home .hh-news-meta time{line-height:1.5!important}
}
@layer heine-typography.weights{
 html body main#heine-home.hh-final-home .hh-news-copy h3,
 html body main#heine-home.hh-final-home .hh-news-monogram,
 html body main#heine-home.hh-final-home .hh-read-more{font-weight:650!important}
 html body main#heine-home.hh-final-home .hh-news-category,
 html body main#heine-home.hh-final-home .hh-news-highlight{font-weight:700!important}
}
@media(max-width:600px){
 #heine-home.hh-final-home .hh-news-grid{row-gap:22px}
 #heine-home.hh-final-home .hh-news-image{aspect-ratio:16/9}
 #heine-home.hh-final-home .hh-news-copy h3{min-height:0;display:block;overflow:visible}
 #heine-home.hh-final-home .hh-news-copy>p{min-height:0}
}

/* Match archive card colors, including metadata and teaser. */
#heine-home.hh-final-home .hh-news{--hh-muted:#6d827a;--hh-line:#dcebe5}

/* Compact homepage previews; full archive keeps its larger cards. */
#heine-home.hh-final-home .hh-news-image{aspect-ratio:16/9}
#heine-home.hh-final-home .hh-news-copy{padding:16px 18px}
#heine-home.hh-final-home .hh-news-copy h3{min-height:0;-webkit-line-clamp:2;margin-bottom:10px}
#heine-home.hh-final-home .hh-news-copy>p{min-height:3.1em;-webkit-line-clamp:2;margin-bottom:16px}
@layer heine-typography{
 html body main#heine-home.hh-final-home .hh-news-copy h3{font-size:20px!important;line-height:1.2!important}
 html body main#heine-home.hh-final-home .hh-news-copy>p{font-size:14px!important;line-height:1.55!important}
}
@media(max-width:600px){
 #heine-home.hh-final-home .hh-news-copy h3{min-height:0}
 #heine-home.hh-final-home .hh-news-copy>p{min-height:0}
}

/* Events are informational; Alle Termine is the navigation. */
#heine-home .hh-events .hh-event{grid-template-columns:80px minmax(0,1fr);cursor:default}
#heine-home .hh-calendar-card .hh-event{cursor:default}
@media(max-width:680px){#heine-home .hh-events .hh-event{grid-template-columns:60px minmax(0,1fr)}}

/* 2.3.25: Selected variant 1, a compact unboxed date column. */
#heine-home.hh-final-home .hh-calendar-card .hh-event{grid-template-columns:62px minmax(0,1fr);gap:14px;padding:15px 0;align-items:start}
#heine-home.hh-final-home .hh-calendar-card .hh-event:first-child{padding-top:0}
#heine-home.hh-final-home .hh-calendar-card .hh-event:last-child{padding-bottom:0}
#heine-home.hh-final-home .hh-calendar-card .hh-date{background:transparent;border:0;border-radius:0;padding:1px 0 0;min-height:0;text-align:left;box-sizing:border-box}
#heine-home.hh-final-home .hh-calendar-card .hh-date time{align-items:flex-start;gap:3px;font-variant-numeric:tabular-nums}
@layer heine-typography {
 html body main#heine-home.hh-final-home .hh-calendar-card .hh-date .hh-date-weekday{font-size:11px!important;line-height:1.3!important;margin:0;color:var(--hh-muted)}
 html body main#heine-home.hh-final-home .hh-calendar-card .hh-date .hh-date-value{font-size:16px!important;line-height:1.3!important;margin:0;color:var(--hh-green)!important;white-space:nowrap}
 html body main#heine-home.hh-final-home .hh-calendar-card .hh-date .hh-date-until{font-size:16px!important}
}
@layer heine-typography.weights {
 html body main#heine-home.hh-final-home .hh-calendar-card .hh-date .hh-date-value{font-weight:650!important}
 html body main#heine-home.hh-final-home .hh-calendar-card .hh-date .hh-date-until{font-weight:650!important}
}

/* 2.3.29 – seasonal Startchancen card; the photograph does not increase the desktop banner height. */
#heine-home .hh-scp-shell{position:relative;margin-bottom:48px}
/* 2.3.31 – SCP uses the shared banner colors, including button hover and focus states. */
#heine-home.hh-final-home .hh-newcomers.hh-scp-banner{grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);margin-bottom:0;min-height:var(--hh-season-height,300px)}
#heine-home .hh-scp-copy{min-width:0}
#heine-home .hh-scp-banner nav{justify-content:flex-start;margin-top:20px}
#heine-home.hh-final-home .hh-scp-banner .hh-button-light{white-space:normal}
#heine-home .hh-scp-photo{position:relative;align-self:stretch;min-width:0;margin:0}
#heine-home .hh-scp-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:16px}
#heine-home .hh-scp-height-reference{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;visibility:hidden;pointer-events:none;margin:0!important}
@media(max-width:760px){
 #heine-home .hh-scp-shell{margin-bottom:32px}
 #heine-home.hh-final-home .hh-newcomers.hh-scp-banner{grid-template-columns:minmax(0,1fr);min-height:0;gap:22px}
 #heine-home .hh-scp-height-reference{display:none}
 #heine-home .hh-scp-photo{width:min(100%,320px);justify-self:center;aspect-ratio:1}
 #heine-home .hh-scp-photo img{position:static;height:auto}
}

/* Mobile dates stay together above their event title. */
@media(max-width:760px){
 #heine-home.hh-final-home .hh-calendar-card .hh-event{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:5px!important;padding:17px 0!important}
 #heine-home.hh-final-home .hh-calendar-card .hh-date time{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:baseline!important;gap:0;white-space:nowrap!important}
 #heine-home.hh-final-home .hh-calendar-card .hh-date time>.hh-date-weekday{margin-right:8px}
 #heine-home.hh-final-home .hh-calendar-card .hh-date-value{display:inline!important;white-space:nowrap!important}
 #heine-home.hh-final-home .hh-calendar-card .hh-date-until{margin:0!important}
}
.hh-scp-banner nav a{display:inline-flex!important;align-items:center;justify-content:center;gap:12px!important}
.hh-scp-banner nav a>span{flex:0 0 auto}

@layer heine-typography {
 @media(max-width:760px){
  html body main#heine-home.hh-final-home .hh-scp-copy h2{font-size:clamp(32px,calc(13.4vw - 11px),42px)!important;line-height:1.06!important;overflow-wrap:normal!important;word-break:normal!important}
  html body main#heine-home.hh-final-home .hh-calendar-card .hh-date .hh-date-weekday{margin-right:8px!important}
 }
}

/* Approved compact mobile calendar: quiet date, prominent event title. */
@media(max-width:760px){
 #heine-home.hh-final-home .hh-calendar-card .hh-event:first-child{padding-top:0!important}
 #heine-home.hh-final-home .hh-calendar-card .hh-event:last-child{padding-bottom:0!important}
 #heine-home.hh-final-home .hh-calendar-card .hh-date{padding:0!important}
 #heine-home.hh-final-home .hh-calendar-card .hh-event p{margin:5px 0 0!important}
}
@layer heine-typography {
 @media(max-width:760px){
  html body main#heine-home.hh-final-home .hh-calendar-card .hh-date :is(.hh-date-weekday,.hh-date-value,.hh-date-until){font-size:14px!important;line-height:1.5!important;color:var(--hh-muted)!important}
  html body main#heine-home.hh-final-home .hh-calendar-card .hh-event h4{font-size:18px!important;line-height:1.35!important;margin:0!important}
  html body main#heine-home.hh-final-home .hh-calendar-card .hh-event p{font-size:13px!important;line-height:1.55!important}
 }
}
@layer heine-typography.weights {
 @media(max-width:760px){
  html body main#heine-home.hh-final-home .hh-calendar-card .hh-date :is(.hh-date-weekday,.hh-date-value,.hh-date-until){font-weight:400!important}
  html body main#heine-home.hh-final-home .hh-calendar-card .hh-event h4{font-weight:600!important}
 }
}

/* Ferien are visually distinct; metadata stays in one flowing line. */
html body main#heine-home.hh-final-home :is(.hh-calendar-card,.hh-events) .hh-event.is-holiday{background:#eef8f4!important;border-radius:0!important;padding-block:17px!important;margin:0!important}
#heine-home .hh-event-meta{display:block;overflow-wrap:anywhere}

/* Let the holiday fill reach the calendar edges, with aligned text in every row. */
html body main#heine-home.hh-final-home .hh-calendar-card .hh-events-list{margin-inline:-20px}
html body main#heine-home.hh-final-home .hh-calendar-card .hh-event{padding-inline:20px!important}

/* Separate calendar layouts; both use the same event content. */
html body main#heine-home.hh-final-home .hh-calendar-card .hh-events-list{display:block!important}
@media(min-width:761px){
 html body main#heine-home.hh-final-home .hh-calendar-card .hh-event{display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;gap:16px!important;align-items:start;padding-block:18px!important;border-bottom:1px solid var(--hh-line)}
 html body main#heine-home.hh-final-home .hh-calendar-card .hh-event:last-child{border-bottom:0}
 html body main#heine-home.hh-final-home .hh-calendar-card .hh-date{padding:1px 0 0!important;min-width:0}
 html body main#heine-home.hh-final-home .hh-calendar-card .hh-date time{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:baseline!important;gap:0!important;white-space:nowrap!important}
 html body main#heine-home.hh-final-home .hh-calendar-card .hh-date time>.hh-date-weekday{margin-right:6px!important}
 html body main#heine-home.hh-final-home .hh-calendar-card .hh-date-value{display:inline!important;white-space:nowrap!important}
 html body main#heine-home.hh-final-home .hh-calendar-card .hh-date-until{margin:0!important}
 html body main#heine-home.hh-final-home .hh-calendar-card .hh-event>div:last-child{min-width:0}
 html body main#heine-home.hh-final-home .hh-calendar-card .hh-event-meta{margin:6px 0 0!important}
}
@layer heine-typography {
 @media(min-width:761px){
  html body main#heine-home.hh-final-home .hh-calendar-card .hh-date :is(.hh-date-value,.hh-date-until,.hh-date-weekday){font-size:14px!important;line-height:1.5!important}
  html body main#heine-home.hh-final-home .hh-calendar-card .hh-event h4{font-size:17px!important;line-height:1.35!important;margin:0!important}
  html body main#heine-home.hh-final-home .hh-calendar-card .hh-event-meta{font-size:13px!important;line-height:1.5!important}
 }
}
@media(min-width:761px) and (max-width:1200px){
 #heine-home.hh-final-home .hh-news-grid.hh-news-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
 #heine-home.hh-final-home .hh-news-count-2>.hh-calendar-card{grid-column:1/-1}
}
@media(min-width:761px){
 #heine-home.hh-final-home .hh-calendar-card .hh-event h4{overflow-wrap:anywhere;hyphens:auto}
}

/* Optional event notes use the same quiet text style as time, place and audience. */
#heine-home .hh-calendar-card .hh-event-note{margin:6px 0 0!important;overflow-wrap:anywhere}
@layer heine-typography {
 html body main#heine-home.hh-final-home .hh-calendar-card .hh-event-note{font-size:13px!important;line-height:1.5!important}
}

/* Noncompact event hints; news cards share the calendar row height. */
#heine-home.hh-final-home .hh-news-grid{align-items:stretch}
#heine-home.hh-final-home .hh-news-card>a{height:100%}
#heine-home .hh-event-hints{margin-top:8px;min-width:0}
#heine-home .hh-event-hints>summary{display:flex;align-items:center;gap:8px;width:fit-content;min-height:28px;padding:2px 0;cursor:pointer;list-style:none;color:var(--hh-green)}
#heine-home .hh-event-hints>summary::-webkit-details-marker{display:none}
#heine-home .hh-event-hints>summary:focus-visible{outline:2px solid var(--hh-accent);outline-offset:3px;border-radius:3px}
#heine-home .hh-event-hints-arrow{display:block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 3px 4px}
#heine-home .hh-event-hints[open] .hh-event-hints-arrow{transform:rotate(225deg);margin-top:5px;margin-bottom:0}
@layer heine-typography {
 html body main#heine-home.hh-final-home .hh-event-hints>summary{font-size:13px!important;line-height:1.5!important}
}

/* Compact event overview: a stable row of cards, details in the top layer. */
html body main#heine-home.hh-final-home .hh-calendar-dialogs .hh-event{position:relative;grid-template-columns:minmax(0,1fr)!important;gap:3px!important;padding-block:12px!important}
html body main#heine-home.hh-final-home .hh-calendar-dialogs .hh-date{padding:0!important;text-align:left}
html body main#heine-home.hh-final-home .hh-calendar-dialogs .hh-event-meta{margin:4px 0 0!important}
html body main#heine-home.hh-final-home .hh-calendar-dialogs .hh-events-list{margin-bottom:0}
#heine-home .hh-event-open{display:flex;align-items:baseline;justify-content:space-between;gap:14px;color:inherit;text-decoration:none}
#heine-home .hh-event-open::after{content:"";position:absolute;inset:0}
#heine-home .hh-event-open:focus-visible{outline:0}
#heine-home .hh-event-open:focus-visible::after{outline:2px solid var(--hh-accent);outline-offset:-3px}
#heine-home .hh-event-open:hover{color:var(--hh-accent)}
#heine-home .hh-event-arrow{flex:none;font-size:16px;color:var(--hh-accent)}
#heine-home .hh-event-dialog{box-sizing:border-box;position:fixed;inset:0;width:calc(100% - 32px);max-width:540px;max-height:calc(100dvh - 40px);margin:auto;padding:24px;border:1px solid var(--hh-line);border-radius:20px;background:#fff;color:var(--hh-green);box-shadow:0 16px 60px #123b3033;overflow:auto;overscroll-behavior:contain;text-align:left}
#heine-home .hh-event-dialog:not([open]){display:none}
#heine-home .hh-event-dialog::backdrop{background:rgb(10 35 28 / .45)}
#heine-home .hh-event-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}
#heine-home .hh-event-dialog-head .hh-eyebrow{margin:0}
#heine-home .hh-event-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;border:1px solid var(--hh-line);border-radius:50%;background:#f0f8f4;color:var(--hh-green);font-size:28px;line-height:1;cursor:pointer;padding:0}
#heine-home .hh-event-close:focus-visible{outline:2px solid var(--hh-accent);outline-offset:3px}
#heine-home .hh-event-dialog h2{margin:0 0 20px;overflow-wrap:anywhere}
#heine-home .hh-event-facts{display:grid;gap:12px;margin:0}
#heine-home .hh-event-facts>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px}
#heine-home .hh-event-facts dt{color:var(--hh-muted)}
#heine-home .hh-event-facts dd{margin:0;overflow-wrap:anywhere}
#heine-home .hh-event-dialog-note{border-top:1px solid var(--hh-line);margin-top:22px;padding-top:18px}
#heine-home .hh-event-dialog-note h3{margin:0 0 8px}
#heine-home .hh-event-dialog-note p{margin:0;overflow-wrap:anywhere;color:var(--hh-muted)}
@layer heine-typography {
 html body main#heine-home.hh-final-home .hh-calendar-dialogs .hh-date :is(.hh-date-value,.hh-date-until,.hh-date-weekday){font-size:12px!important;line-height:1.5!important;color:var(--hh-muted)!important}
 html body main#heine-home.hh-final-home .hh-calendar-dialogs .hh-event h4{font-size:17px!important;line-height:1.35!important}
 html body main#heine-home.hh-final-home .hh-calendar-dialogs .hh-event-meta{font-size:12px!important;line-height:1.5!important}
 html body main#heine-home.hh-final-home .hh-event-dialog h2{font-size:26px!important;line-height:1.2!important}
 html body main#heine-home.hh-final-home .hh-event-dialog h3{font-size:17px!important;line-height:1.4!important}
 html body main#heine-home.hh-final-home .hh-event-dialog :is(p,dt,dd){font-size:15px!important;line-height:1.55!important}
 html body main#heine-home.hh-final-home .hh-event-dialog .hh-eyebrow{font-size:11px!important}
}
@layer heine-typography.weights {
 html body main#heine-home.hh-final-home .hh-calendar-dialogs .hh-date :is(.hh-date-value,.hh-date-until,.hh-date-weekday){font-weight:400!important}
 html body main#heine-home.hh-final-home .hh-calendar-dialogs .hh-event-open{font-weight:600!important}
}
@media(max-width:760px){
 #heine-home .hh-event-dialog{padding:18px}
 #heine-home .hh-event-facts>div{grid-template-columns:76px minmax(0,1fr)}
}

/* Mobile visitors read all event notes inline, without a modal link. */
#heine-home .hh-event-mobile-title,#heine-home .hh-event-mobile-note{display:none}
@media(max-width:760px){
 html body main#heine-home.hh-final-home .hh-calendar-dialogs .hh-event-open{display:none!important}
 #heine-home .hh-event-mobile-title{display:inline}
 html body main#heine-home.hh-final-home .hh-calendar-dialogs .hh-event-mobile-note{display:block;margin:8px 0 0!important;color:var(--hh-muted);overflow-wrap:anywhere}
}
@layer heine-typography {
 html body main#heine-home.hh-final-home .hh-calendar-dialogs .hh-event-mobile-note{font-size:13px!important;line-height:1.55!important}
}
@layer heine-typography.weights {
 html body main#heine-home.hh-final-home .hh-calendar-dialogs .hh-event-mobile-title{font-weight:600!important}
}

/* Align teaser starts below the two-line headings of adjacent news cards. */
@media(min-width:761px){
 #heine-home.hh-final-home .hh-news-copy h3{min-height:2.4em}
}
