/* Clear action alignment across the home page. */
.hero-copy > .cta-stack { margin-inline:auto; width:100%; align-items:center; }
.hero-copy > .cta-stack > .button { width:fit-content; }
.section-actions { grid-column:1 / -1; justify-self:center; margin-inline:auto; align-items:center; }
.section-actions > .button { width:fit-content; margin-inline:auto; }
.filz-section,.bott-section,.campus-preview { row-gap:32px; }
.filz-section { align-items:start; }
.filz-copy { min-width:0; }
.filz-heading h2 { margin-top:16px; text-wrap:balance; }
.filz-copy > p { max-width:55ch; }
.filz-offers { margin-bottom:0; }
.filz-section .section-actions .text-link { margin:0; }
.campus-preview .section-actions .button { margin:0; }
#unterwegs > .button { display:flex; width:fit-content; max-width:100%; margin-inline:auto; justify-content:center; text-align:center; }
/* Both labels share the available row height, even if one wraps. */
.inquiry .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; }
.inquiry .form-grid > div { display:flex; flex-direction:column; min-width:0; }
.inquiry .form-grid label { flex:1; }
.inquiry .form-grid input { flex:0 0 auto; line-height:1.5; }
.contact-card-photo { width:100%; max-width:440px; margin:28px 0 0; }
.contact-card-photo img { display:block; width:100%; height:auto; border-radius:20px; }
@media(max-width:760px) {
  .inquiry .form-grid { grid-template-columns:1fr; }
  .section-actions { width:100%; }
  .filz-section,.bott-section,.campus-preview { row-gap:28px; }
}

/* Focused actions and calm linked service headings. */
.extra-services { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; }
.extra-services > a { display:flex; align-items:center; min-height:76px; padding:20px 0; border-bottom:1px solid #c9cec1; font-size:1.0625rem; font-weight:600; line-height:1.45; }
.extra-services > a:hover { color:#2d6870; text-decoration:underline; text-underline-offset:5px; }
main .button, [data-theme] main .button, [data-theme] .energy-tabs button { border-radius:8px; }
.service .service-action { margin-top:auto; justify-content:center; text-align:center; gap:12px; }
.energy-section { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:5%; }
.energy-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.energy-tabs button { min-width:0; padding:12px 8px; line-height:1.4; min-height:64px; }
.energy-note .button { margin-top:12px; }
.about-copy > .button { text-align:center; }
[data-theme] .campus-preview { background:#f5dfb7; border-block:1px solid #dcc096; grid-template-columns:1fr 1fr; }
.campus-preview h2 { max-width:14ch; }
.campus-preview .campus-status { grid-column:1/-1; margin:0; text-align:center; color:#535c4a; }
.campus-preview .section-actions { margin-top:0; }
@media(max-width:900px) { .energy-section { grid-template-columns:1fr; gap:32px; } }
@media(max-width:760px) {
 .extra-services { grid-template-columns:1fr; }
 .extra-services > a { min-height:64px; padding:16px 0; }
 [data-theme] .campus-preview { grid-template-columns:1fr; }
 .energy-tabs button { font-size:.9375rem!important; padding:12px 6px; }
}

@media(min-width:901px) {
 .service-grid { grid-template-rows:auto auto auto auto auto; }
 .service { display:grid; grid-template-rows:subgrid; grid-row:span 5; row-gap:0; }
 .service > p { min-height:0; margin-bottom:24px; }
 .service ul { display:grid; grid-template-rows:repeat(4,minmax(48px,auto)); margin-top:0; }
 .service li { display:flex; align-items:center; }
 .service h3 { margin-top:24px; }
}

@media(min-width:901px) { .service .service-action { margin-top:0; align-self:stretch; } }

.campus-preview > .campus-status { width:100%; max-width:none; }

/* Keep scenario choices and the matching inquiry action on one baseline. */
@media(min-width:901px) {
 .energy-section { align-items:stretch; }
 .energy-copy { display:flex; flex-direction:column; padding-block:34px; }
 .energy-copy > p:not(.eyebrow) { margin-bottom:27px; }
 .energy-copy .energy-tabs { margin-top:auto; }
 .energy-note { display:flex; flex-direction:column; align-self:stretch; }
 .energy-note > .button { margin-top:auto; align-self:flex-start; min-height:64px; }
 .energy-note > p:not(.eyebrow) { margin-bottom:27px; }
}

.contact-card-photo figcaption { margin-top: 10px; font-size: .875rem; line-height: 1.5; color: inherit; }

/* Original partner logo between contact and footer. */
.partner-strip { display:flex; align-items:center; justify-content:space-between; gap:24px 48px; padding:36px 5.5%; background:var(--paper); color:var(--ink); }
.partner-strip h2 { margin:0; font-size:1.25rem; line-height:1.4; letter-spacing:0; }
.partner-link { display:block; width:328px; max-width:100%; padding:24px; border:1px solid transparent; border-radius:12px; background:#2e3b4e; box-sizing:border-box; }
.partner-link img { display:block; width:100%; height:auto; }
.partner-link:hover { border-color:var(--ink); box-shadow:0 3px 12px #26373d22; }
.partner-link:focus-visible { outline:3px solid var(--ink); outline-offset:5px; }
@media(max-width:600px) { .partner-strip { align-items:center; flex-direction:column; gap:24px; padding:32px 6%; text-align:center; } }
