/* Kalastar / Kontakt 2.2 — isolated design system, independent of block editor. */
.kal-contact-page{overflow:clip;color:var(--ink)}
.kal-contact-hero{position:relative;isolation:isolate;background:var(--surface-hero);min-height:var(--hero-height-desktop)}
.kal-contact-hero>.hero-grid-pattern{z-index:-1}
.kal-contact-hero-layout{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:7%;align-items:center;min-height:var(--hero-height-desktop);padding-block:78px 118px}
.kal-contact-eyebrow,.kal-section-kicker{color:var(--surface-dark);letter-spacing:.14em;font-size:var(--font-12);font-weight:var(--weight-bold);margin:0 0 26px}
.kal-contact-intro h1{margin:0 0 28px;font-size:var(--fluid-contact-title);font-weight:var(--weight-display);letter-spacing:-.035em;line-height:1.035}
.kal-contact-intro h1 .hero-title-line{display:block;color:var(--ink)}
.kal-contact-intro-text{max-width:445px;font-size:var(--font-18);line-height:1.65;color:var(--muted);margin:0 0 32px}
.kal-contact-button{min-width:225px;display:inline-flex;justify-content:space-between}
.kal-contact-feature{min-width:0;background:var(--surface-dark);color:var(--white);min-height:350px;padding:36px 38px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:22px 22px 0 color-mix(in srgb, var(--accent-green) 8%, transparent)}
.kal-contact-feature-index,.kal-contact-feature-caption{font-size:var(--font-12);letter-spacing:.13em;font-weight:var(--weight-bold);color:var(--contact-eyebrow)}
.kal-contact-feature-label{font-size:var(--font-20);font-weight:var(--weight-semibold);margin:0 0 14px;color:var(--contact-label)}
.kal-contact-feature-email{font-size:var(--fluid-contact-email);line-height:1.23;letter-spacing:-.022em;font-weight:var(--weight-bold);text-decoration:none;overflow-wrap:anywhere;display:flex;align-items:end;gap:8px}
.kal-contact-feature-email span{color:var(--orange);font-size:var(--font-30)}
.kal-contact-overlap{position:relative;z-index:4;margin-top:-56px}
.kal-contact-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--card-gap-contact)}
.kal-contact-tile{background:var(--surface-dark);color:var(--white);min-height:132px;padding:22px 25px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.kal-contact-tile-label{color:var(--contact-tile-label);letter-spacing:.12em;font-weight:var(--weight-bold);font-size:var(--font-11)}
.kal-contact-tile strong{font-weight:var(--weight-bold);font-size:var(--fluid-contact-tile);line-height:1.24;overflow-wrap:anywhere}
.kal-contact-tile-break{display:block;margin-top:3px}
.kal-contact-details{padding:var(--contact-details-spacing) 0}
.kal-contact-details-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:8%;align-items:start}
.kal-contact-details-copy h2,.kal-contact-location-left h2{font-size:var(--fluid-contact-section);letter-spacing:-.02em;font-weight:var(--weight-bold);line-height:1.11;margin:0 0 24px}
.kal-contact-details-copy h2{margin-bottom:0}
.kal-contact-details-copy>p:not(.kal-section-kicker),.kal-contact-location-left>p:not(.kal-section-kicker){color:var(--muted);font-size:var(--font-18);max-width:430px;line-height:1.65}
.kal-contact-data{margin:0}
.kal-contact-data>div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px;align-items:center;border-top:1px solid var(--border-contact);padding:25px 0;min-height:93px}
.kal-contact-data>div:last-child{border-bottom:1px solid var(--border-contact)}
.kal-contact-data dt{font-weight:var(--weight-bold);font-size:var(--font-13);color:var(--contact-data-label);text-transform:uppercase;letter-spacing:.06em}
.kal-contact-data dd{margin:0;overflow-wrap:anywhere;font-weight:var(--weight-bold);font-size:var(--font-19);line-height:1.4}
.kal-contact-location{background:var(--surface-subtle);padding:var(--contact-location-spacing) 0}
.kal-contact-location-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);align-items:center;gap:7%}
.kal-contact-location-card{min-height:295px;padding:35px 38px;display:flex;flex-direction:column;justify-content:center;gap:34px;background:var(--surface-dark);color:var(--white);min-width:0}
.kal-contact-location-card-content{display:flex;flex-direction:column;gap:6px}
.kal-contact-location-card-content strong{font-size:var(--fluid-contact-card);letter-spacing:-.022em;line-height:1.12}
.kal-contact-location-card-content span{font-size:var(--font-19)}
.kal-contact-map-link{align-self:flex-start;display:inline-flex;align-items:center;justify-content:space-between;gap:36px;color:var(--white);background:var(--orange);padding:12px 21px;min-height:49px;text-decoration:none;font-weight:var(--weight-bold);font-size:var(--font-14)}
.kal-contact-map-link:hover,.kal-contact-map-link:focus-visible{background:var(--orange-hover)}
@media(max-width:1050px){
 .kal-contact-hero-layout{gap:5%}
 .kal-contact-feature{padding:28px;min-height:310px}
 .kal-contact-data>div{grid-template-columns:140px minmax(0,1fr)}
 .kal-contact-tiles{gap:12px}
}
/* Keep the two-color 900-weight headline on two deliberate lines on tablets. */
@media(min-width:761px) and (max-width:900px){
 .kal-contact-intro h1{font-size:var(--fluid-contact-title-tablet)}
 .kal-contact-feature-email{font-size:var(--fluid-contact-email-tablet)}
}
@media(max-width:760px){
 .kal-contact-hero-layout{grid-template-columns:1fr;gap:40px;padding-block:70px 125px}
 .kal-contact-hero{min-height:0}
 .kal-contact-hero-layout{min-height:0}
 .kal-contact-intro h1{font-size:var(--fluid-contact-title-mobile)}
 .kal-contact-feature{min-height:235px;box-shadow:14px 14px 0 color-mix(in srgb, var(--accent-green) 8%, transparent)}
 .kal-contact-feature-email{font-size:var(--fluid-contact-email-mobile)}
 .kal-contact-tiles{grid-template-columns:1fr;gap:10px}
 .kal-contact-tile{min-height:110px;padding:18px 22px}
 .kal-contact-details{padding:var(--contact-details-spacing-mobile) 0}
 .kal-contact-details-layout,.kal-contact-location-layout{grid-template-columns:1fr;gap:40px}
 .kal-contact-location{padding:var(--contact-location-spacing-mobile) 0}
}
@media(max-width:420px){
 .kal-contact-intro h1{font-size:var(--fluid-contact-title-small)}
 .kal-contact-intro-text{font-size:var(--font-16)}
 .kal-contact-feature{padding:25px 20px}
 .kal-contact-feature-email{font-size:var(--font-24)}
 .kal-contact-data>div{display:block;padding:19px 0;min-height:0}
 .kal-contact-data dt{margin-bottom:8px}
 .kal-contact-data dd{font-size:var(--font-17)}
 .kal-contact-tile strong{font-size:var(--font-18)}
}
/* Final narrow-screen typography audit: uninterrupted email, clean footer columns. */
@media(max-width:420px){
 .kal-contact-feature-email{display:block;font-size:var(--font-18);letter-spacing:-.024em;overflow-wrap:break-word;word-break:normal}
 .kal-contact-feature-email span{font-size:var(--font-19);margin-left:5px;vertical-align:baseline}
 main.kal-contact-page + .site-footer .footer-grid{grid-template-columns:1fr 1fr;column-gap:28px}
 main.kal-contact-page + .site-footer .footer-contact a{overflow-wrap:anywhere;word-break:break-word}
}

/* Keep contact CTAs and cards in the same system as the homepage. */
.kal-contact-button,.kal-contact-map-link{border-radius:var(--radius-control)}
.kal-contact-feature,.kal-contact-tile,.kal-contact-location-card{border-radius:var(--radius-card)}
