body.contact-viewport{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
body.contact-viewport .site-header,body.contact-viewport .site-footer{flex:0 0 auto}
.contact-page{--contact-red:#bc1116;min-height:0;flex:1;display:flex;align-items:stretch;overflow:hidden;padding:clamp(18px,3vh,30px) 0;box-sizing:border-box;color:#111}
.contact-panel{display:grid;grid-template-columns:minmax(380px,.78fr) minmax(520px,1.22fr);height:100%;min-height:0}
.contact-card{display:flex;min-height:0;flex-direction:column;padding:clamp(24px,3.5vw,52px);border:1px solid #111;border-right:0;background:rgba(255,255,255,.9);box-sizing:border-box}
.contact-card-top{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;font-weight:700;letter-spacing:.18em}.contact-label{display:flex;align-items:center;gap:9px}.contact-label i{display:block;width:30px;height:3px;background:var(--contact-red)}.contact-index{color:#777}
.contact-card h1{margin:clamp(25px,5vh,50px) 0 20px;font:700 clamp(52px,6vw,84px)/.82 'Space',Arial,sans-serif;letter-spacing:-.065em;text-transform:uppercase}.contact-card h1 em{color:var(--contact-red);font-style:normal}
.contact-details{margin-top:auto;border-top:1px solid #111}.contact-details a{position:relative;display:grid;grid-template-columns:76px 1fr 28px;align-items:center;gap:12px;min-height:68px;padding:8px 0;border-bottom:1px solid #111;color:#111;text-decoration:none;box-sizing:border-box}.contact-details a>span{color:var(--contact-red);font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.contact-details strong{font-size:clamp(12px,1.1vw,15px);line-height:1.45}.contact-details b{display:grid;place-items:center;width:28px;height:28px;background:#111;color:#fff;transition:.2s ease}.contact-details a:hover b,.contact-details a:focus-visible b{background:var(--contact-red);transform:translate(2px,-2px)}
.contact-map{position:relative;min-width:0;min-height:0;overflow:hidden;border:1px solid #111;background:#dedede}.contact-map iframe{display:block;width:100%;height:100%;min-height:100%;border:0;filter:grayscale(1) contrast(1.08);transition:filter .3s ease}.contact-map:hover iframe{filter:grayscale(.2) contrast(1)}.contact-map-caption{position:absolute;z-index:2;top:18px;right:18px;left:18px;display:flex;justify-content:space-between;gap:20px;pointer-events:none}.contact-map-caption span{padding:8px 10px;border:1px solid #111;background:#fff;font-size:9px;font-weight:700;letter-spacing:.12em}.contact-map-link{position:absolute;z-index:2;right:18px;bottom:18px;padding:13px 15px;background:var(--contact-red);color:#fff;font-size:10px;font-weight:700;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.contact-map-link b{margin-left:12px;font-size:15px}
@media(max-width:920px){body.contact-viewport{height:auto;min-height:100dvh;overflow:auto}.contact-page{display:block;overflow:visible}.contact-panel{grid-template-columns:1fr;height:auto}.contact-card{border-right:1px solid #111}.contact-card h1{font-size:clamp(64px,18vw,105px)}.contact-map{height:480px}}
@media(max-width:560px){.contact-page{padding:16px 0 30px}.contact-card{padding:24px 20px}.contact-details a{grid-template-columns:62px 1fr 28px}.contact-map{height:390px}.contact-map-caption span:last-child{display:none}}
@media(max-height:700px) and (min-width:921px){.contact-page{padding:12px 0}.contact-card{padding:22px 32px}.contact-card h1{margin:22px 0 12px;font-size:70px}.contact-details a{min-height:55px}.contact-details strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.contact-details b,.contact-map iframe{transition:none}}
