.contact-section{padding-top:68px;padding-bottom:92px}
.contact-panel{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(0,1.1fr);min-height:540px;background:#101010;color:#fff;overflow:hidden}
.contact-details{padding:clamp(32px,5vw,72px);display:flex;flex-direction:column;align-items:flex-start}
.contact-details .subpage-kicker{margin-bottom:20px}
.contact-details h2{font:400 clamp(42px,5vw,76px)/1 'Sedgwick Ave Display',Impact,cursive;font-synthesis-weight:none;text-transform:uppercase;letter-spacing:-.035em;margin:0 0 16px}
.contact-details h2 span{position:relative;display:inline;z-index:0;white-space:nowrap}
.contact-details h2 span:before{content:"";position:absolute;z-index:-1;left:-.07em;right:-.07em;top:41%;bottom:6%;background:var(--lime);transform:rotate(-2deg);clip-path:polygon(0 15%,8% 0,17% 11%,27% 2%,39% 14%,51% 0,64% 15%,76% 3%,88% 14%,100% 0,97% 97%,84% 86%,69% 100%,54% 88%,37% 100%,20% 85%,3% 100%)}
.contact-brands{font:700 clamp(19px,2vw,26px) 'Asap Condensed',Arial,sans-serif;margin:0 0 36px}
.contact-brands span{color:var(--lime);padding:0 7px}
.contact-details address{font-style:normal;display:grid;gap:24px}
.contact-details address>div{display:grid;gap:5px}
.contact-label{font:700 13px 'Asap Condensed',Arial,sans-serif;letter-spacing:.13em;color:var(--lime)}
.contact-details address a{font:700 clamp(20px,2vw,27px)/1.25 'Asap Condensed',Arial,sans-serif;overflow-wrap:anywhere}
.contact-details address a:hover,.contact-details address a:focus-visible{color:var(--lime)}
.contact-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:38px}
.contact-social a{font:700 17px 'Asap Condensed',Arial,sans-serif;text-transform:uppercase;padding:11px 16px;border:1px solid #fff;border-radius:5px;transition:background .2s,color .2s}
.contact-social a:hover,.contact-social a:focus-visible{background:var(--lime);color:#101010;border-color:var(--lime)}
.contact-map{position:relative;min-height:540px;background:#dedede}
.contact-map iframe{display:block;border:0;width:100%;height:100%;min-height:540px;filter:grayscale(1) contrast(1.08)}
.contact-map-pin{position:absolute;left:22px;bottom:22px;display:inline-flex;align-items:center;gap:10px;background:var(--lime);color:#101010;padding:11px 15px;border:2px solid #101010;border-radius:5px;box-shadow:4px 4px 0 #101010;font:700 16px 'Asap Condensed',Arial,sans-serif}
.contact-map-pin:first-letter{font-size:26px}
.contact-map-pin:hover,.contact-map-pin:focus-visible{background:#fff}
@media(max-width:850px){.contact-panel{grid-template-columns:1fr}.contact-map,.contact-map iframe{min-height:380px}.contact-section{padding-top:45px;padding-bottom:60px}}
@media(max-width:540px){.contact-details{padding:30px 24px}.contact-details h2{font-size:clamp(38px,11vw,56px)}.contact-details h2 span{white-space:normal}.contact-map,.contact-map iframe{min-height:320px}.contact-map-pin{left:12px;bottom:12px}}

/* Horizontal contact details and a wide map centred on the business location. */
.contact-panel{grid-template-columns:1fr}
.contact-details{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);column-gap:clamp(28px,5vw,80px);row-gap:18px;align-items:start}
.contact-details .subpage-kicker{grid-column:1;grid-row:1;margin:0}
.contact-details h2{grid-column:1;grid-row:2 / span 3;margin:0;max-width:510px}
.contact-brands{grid-column:2;grid-row:1;margin:0}
.contact-details address{grid-column:2;grid-row:2;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;width:100%}
.contact-details address>div:nth-child(2) a{font-size:clamp(17px,1.45vw,22px);white-space:nowrap}
.contact-social{grid-column:2;grid-row:3;margin-top:6px}
.contact-map,.contact-map iframe{min-height:390px;height:390px}
.contact-map-marker{position:absolute;left:50%;top:50%;width:31px;height:31px;background:var(--lime);border:3px solid #111;border-radius:50% 50% 50% 0;transform:translate(-50%,-100%) rotate(-45deg);box-shadow:2px 3px 0 #1118;pointer-events:none;z-index:2}
.contact-map-marker:after{content:"";position:absolute;inset:8px;border-radius:50%;background:#111}
@media(max-width:1000px){.contact-details{grid-template-columns:1fr}.contact-details .subpage-kicker,.contact-details h2,.contact-brands,.contact-details address,.contact-social{grid-column:1;grid-row:auto}.contact-details h2{max-width:none}.contact-details address{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.contact-details address{grid-template-columns:1fr 1fr}.contact-details address>div:first-child{grid-column:1 / -1}.contact-details address>div:nth-child(2) a{white-space:normal}.contact-map,.contact-map iframe{height:330px;min-height:330px}}
@media(max-width:420px){.contact-details address{grid-template-columns:1fr}.contact-details address>div:first-child{grid-column:auto}}

/* Keep contact methods on the bottom edge of the black panel. */
.contact-details{grid-template-rows:auto 1fr auto auto;min-height:410px}
.contact-details h2{grid-column:1;grid-row:2 / 4;align-self:start}
.contact-brands{grid-column:2;grid-row:1 / 3;display:flex;flex-direction:column;align-items:flex-start;gap:3px;font-size:clamp(23px,2.3vw,32px);line-height:1.15}
.contact-brands span{padding:0;color:#fff}
.contact-brands span:nth-child(2){color:var(--lime)}
.contact-social{grid-column:2;grid-row:3;margin:0;align-self:end}
.contact-details address{grid-column:1 / -1;grid-row:4;align-self:end;border-top:1px solid #777;padding-top:22px;margin-top:20px}
.contact-map,.contact-map iframe{height:300px;min-height:300px}
@media(max-width:1000px){.contact-details{display:flex;flex-direction:column;min-height:0}.contact-brands{margin:10px 0 0}.contact-details address{width:100%;margin-top:34px}.contact-social{align-self:flex-start;margin-top:20px}}
@media(max-width:650px){.contact-map,.contact-map iframe{height:280px;min-height:280px}}
