.contacts-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);min-height:540px;border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--ink)}
.contacts-hero-main{padding:clamp(60px,6vw,100px) clamp(28px,5vw,80px) clamp(55px,5vw,80px) 0;display:flex;flex-direction:column;align-items:flex-start}
.contacts-hero h1{white-space:normal;font-size:clamp(48px,6.3vw,96px);line-height:1.02;margin:48px 0 28px}
.contacts-hero h1 span{color:#88887e}
.contacts-lead{max-width:650px;font-size:14px;line-height:1.9;color:#4d4d47;margin-bottom:32px}
.contacts-hero-aside{position:relative;overflow:hidden;background:var(--ink);color:var(--paper);padding:clamp(30px,3vw,48px);display:flex;flex-direction:column;justify-content:space-between;min-height:430px}
.contacts-hero-aside>span:not(.contacts-cross){z-index:1;font-size:11px;line-height:1.7;letter-spacing:.06em}
.contacts-hero-aside strong{z-index:1;font-size:clamp(30px,3.8vw,60px);letter-spacing:-.08em;line-height:1.1;overflow-wrap:anywhere}
.contacts-hero-aside strong span{color:#77776e}
.contacts-cross{position:absolute;right:20px;bottom:-115px;font-size:500px;line-height:1;color:#252522;font-weight:700;pointer-events:none}
.contacts-section{padding-top:clamp(85px,9vw,140px);padding-bottom:clamp(85px,9vw,140px)}
.contacts-section-heading{display:grid;grid-template-columns:minmax(220px,.48fr) minmax(0,1fr);align-items:start;gap:30px;margin-bottom:46px}
.contacts-section-heading h2,.contacts-bottom h2{font-size:clamp(34px,4.3vw,64px);line-height:1.1;margin:0;white-space:normal}
.contacts-methods{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-left:1px solid var(--ink);border-top:1px solid var(--ink)}
.contacts-method{display:flex;flex-direction:column;min-height:225px;padding:clamp(12px,1.5vw,22px);min-width:0;background:#faf9f5;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transition:background .2s,color .2s}
.contacts-method:hover,.contacts-method-primary{background:var(--ink);color:var(--paper)}
.contacts-method-primary:hover{background:#30302c}
.contacts-method-top{display:flex;justify-content:space-between;gap:10px;font-size:10px;line-height:1.4;font-weight:700;letter-spacing:.055em}
.contacts-method-top span{font-size:17px;line-height:1}
.contacts-method strong{font-size:clamp(14px,1.35vw,20px);line-height:1.4;letter-spacing:-.06em;margin:auto 0 14px;overflow-wrap:anywhere}
.contacts-method small{font-size:10px;line-height:1.6;opacity:.75}
.contacts-hours{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:26px;border:1px solid var(--ink);border-top:0;background:#eae9e3}
.contacts-hours>span,.contacts-hours small{font-size:10px;font-weight:700;letter-spacing:.055em;line-height:1.4}
.contacts-hours strong{font-size:clamp(16px,1.55vw,23px);letter-spacing:-.045em;line-height:1.35}
.contacts-hours strong span{margin-left:14px}
.contacts-hours small{color:#77776e}
.contacts-explainer{font-size:12px;line-height:1.9;color:#55554e;max-width:690px;margin:25px 0 0}
.contacts-location{background:#eae9e3;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:clamp(85px,9vw,130px) 0}
.contacts-location-heading{margin-bottom:42px}
.contacts-map-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);min-height:490px;border:1px solid var(--ink)}
.contacts-map{position:relative;min-width:0;min-height:490px;overflow:hidden;background:#deddd6}
.contacts-map iframe{width:100%;height:100%;min-height:490px;display:block;border:0;filter:grayscale(1) contrast(1.1)}
.contacts-map-cover{position:absolute;inset:0;display:block;z-index:2;cursor:pointer}
.contacts-map-marker{position:absolute;left:50%;top:calc(50% - 12px);transform:translate(-50%,-100%);width:68px;height:68px;display:grid;place-items:center;background:var(--ink);border:2px solid #fff;color:#fff;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:29px;font-weight:700;line-height:1;letter-spacing:-.13em;padding-right:.13em;box-shadow:0 6px 18px rgba(0,0,0,.2);transition:transform .2s}
.contacts-map-marker::after{content:"";position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);border-left:11px solid transparent;border-right:11px solid transparent;border-top:12px solid var(--ink)}
.contacts-map-cover:hover .contacts-map-marker{transform:translate(-50%,-100%) scale(1.07)}
.contacts-map-open{position:absolute;left:20px;bottom:20px;padding:12px 14px;background:#fff;border:1px solid var(--ink);color:var(--ink);font-size:10px;font-weight:700;letter-spacing:.04em;line-height:1.3}
.contacts-map-cover:hover .contacts-map-open{background:var(--ink);color:#fff}
.contacts-address{background:var(--ink);color:var(--paper);padding:clamp(28px,3vw,48px);display:flex;align-items:flex-start;flex-direction:column}
.contacts-address-kicker{font-size:10px;line-height:1.6;letter-spacing:.04em;opacity:.7}
.contacts-address strong{font-size:clamp(22px,2.3vw,36px);line-height:1.35;letter-spacing:-.07em;margin:55px 0 24px}
.contacts-address p{font-size:11px;line-height:1.8;color:#c4c3bb;margin:0 0 auto}
.contacts-address .button{white-space:normal;width:100%;margin-top:48px;font-size:10px}
.contacts-bottom{display:grid;grid-template-columns:minmax(220px,.48fr) minmax(0,1fr);gap:30px;padding-top:clamp(80px,9vw,130px);padding-bottom:clamp(90px,10vw,150px)}
.contacts-details{border-top:1px solid var(--ink);padding-top:25px}
.contacts-details>p{font-size:clamp(17px,2vw,28px);font-weight:700;line-height:1.45;letter-spacing:-.05em;margin-bottom:36px}
.contacts-details dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contacts-details dl div{border-top:1px solid var(--line);padding-top:15px}
.contacts-details dt{font-size:10px;line-height:1.5;color:var(--mute);margin-bottom:10px}
.contacts-details dd{font-size:15px;line-height:1.5;margin:0}
@media(max-width:900px){.contacts-methods{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.contacts-hero{grid-template-columns:1fr}.contacts-hero-main{padding-right:0}.contacts-hero-aside{min-height:260px}.contacts-hero-aside strong{font-size:54px}.contacts-method{min-height:190px}.contacts-hours{flex-wrap:wrap}.contacts-map-layout{grid-template-columns:1fr}.contacts-map,.contacts-map iframe{min-height:420px}.contacts-address strong{margin:30px 0 20px}.contacts-address .button{margin-top:28px}}
@media(max-width:600px){.contacts-hero-main{padding-top:65px;padding-bottom:70px}.contacts-hero h1{font-size:clamp(45px,12vw,68px);margin:40px 0 25px}.contacts-lead{font-size:12px}.contacts-hero-aside{min-height:235px;padding:26px}.contacts-hero-aside strong{font-size:42px}.contacts-cross{font-size:290px;right:10px;bottom:-65px}.contacts-section-heading,.contacts-bottom{grid-template-columns:1fr;gap:12px}.contacts-section-heading{margin-bottom:30px}.contacts-methods{grid-template-columns:1fr}.contacts-method{padding:22px;min-height:170px}.contacts-method strong{font-size:19px}.contacts-hours{padding:22px;display:grid;grid-template-columns:1fr;gap:7px}.contacts-hours strong span{margin-left:8px}.contacts-map,.contacts-map iframe{min-height:340px}.contacts-map-marker{width:58px;height:58px;font-size:25px}.contacts-address{padding:26px}.contacts-address strong{font-size:26px}.contacts-details dl{grid-template-columns:1fr}}
