.contact-page main{padding-bottom:90px;background:#faf9f7}
.contact-map{margin-top:64px}
.contact-map [hidden]{display:none!important}
.map-consent{min-height:340px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(24px,5vw,60px);border-top:3px solid var(--red);background:#e9e6e1}
.map-consent h3{font-size:1.6rem;font-weight:400;margin:0 0 12px}
.map-consent p{max-width:650px;color:#505859;margin:0 0 20px;line-height:1.7}
.map-consent p a{text-decoration:underline;text-underline-offset:3px}
#map-disable{background:none;border:0;border-bottom:1px solid var(--ink);cursor:pointer;margin-top:12px;color:var(--ink)}
.contact-map-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}
.contact-map h2{font-size:clamp(1.8rem,3vw,3rem);font-weight:400;letter-spacing:-.045em;line-height:1.15;margin:16px 0 0}
.contact-map iframe{display:block;width:100%;height:440px;border:0;border-top:3px solid var(--red);background:#e9e6e1}
@media(max-width:700px){.contact-map-heading{align-items:flex-start;flex-direction:column;gap:12px}.contact-map iframe{height:340px}}
.contact-page-intro{padding-top:70px}
.contact-page h1{font-size:clamp(2.8rem,6.5vw,6rem);line-height:1.07;font-weight:400;letter-spacing:-.055em;margin:28px 0 32px}
.contact-page h1 em{font-family:Georgia,serif;font-weight:400;color:#cb151e}
.contact-page-lead{display:flex;justify-content:space-between;align-items:center;gap:32px}
.contact-page-lead p{max-width:560px;color:var(--muted);margin:0;line-height:1.7}
.contact-page-lead a{flex-shrink:0}
.contact-direct{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:54px}
.contact-direct>a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;border-top:2px solid var(--red);border-bottom:1px solid var(--line);padding:24px 0}
.contact-direct span{grid-column:1;font-size:.875rem;color:var(--muted)}
.contact-direct strong{grid-column:1;font-size:clamp(1.3rem,2.6vw,2.5rem);font-weight:400;letter-spacing:-.035em;overflow-wrap:anywhere}
.contact-direct b{grid-column:2;grid-row:1/3;align-self:center;font-size:2rem;color:var(--red);font-weight:400}
.contact-direct a:hover strong{color:#cb151e}
.contact-page .company-details{grid-template-columns:1fr 1fr;border-color:var(--line);margin-top:48px;gap:40px}
.contact-page .company-details h2{font-size:1.25rem;font-weight:500;letter-spacing:-.025em;margin:0 0 22px}
.contact-page .company-details address,.contact-page .company-details address strong,.contact-page .company-identifiers dd{color:var(--ink)}
.contact-page .company-hours,.contact-page .company-register{font-size:.875rem;color:var(--muted);line-height:1.7}
.contact-page .company-hours strong{color:var(--ink)}
.contact-page .company-map{display:inline-flex;gap:20px;align-items:center;min-height:44px;border-bottom:1px solid var(--ink);font-size:.875rem}
.contact-page .company-identifiers dt{color:var(--muted)}
.site-header .nav>a[aria-current=page]{color:#cb151e}
.site-header .nav>a[aria-current=page]::after{transform:scaleX(1)}
@media(max-width:700px){.contact-page-intro{padding-top:42px}.contact-page-lead{align-items:flex-start;flex-direction:column;gap:16px}.contact-direct,.contact-page .company-details{grid-template-columns:1fr;gap:28px}.contact-direct{margin-top:32px}.contact-page main{padding-bottom:60px}}
