.contact-page{background:#f4f2ee;color:#202020}
.contact-page main{overflow:clip}
.visit-hero{position:relative;display:flex;align-items:center;min-height:640px;height:min(76vh,820px);isolation:isolate;background:#252525;color:#fff}
.visit-hero__photo{position:absolute;inset:0;z-index:-2;overflow:hidden}
.visit-hero__photo img{width:100%;height:100%;object-fit:cover;object-position:center 38%;animation:visit-photo 1.2s ease-out both}
.visit-hero__photo span{display:none}
.visit-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#000c 0%,#0008 35%,#0001 70%),linear-gradient(0deg,#0007,transparent 45%)}
.visit-hero__copy{width:min(670px,65%);padding:60px clamp(24px,6vw,100px) 100px;animation:visit-enter .65s ease-out both}
.visit-label{display:block;font-size:.68rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-bottom:24px}
.visit-hero__copy>.visit-label{color:#fff9;letter-spacing:.22em}
.visit-hero h1{font:600 clamp(4.5rem,8vw,8.5rem)/1 var(--sans);letter-spacing:-.06em;margin:0 0 28px;text-transform:none}
.visit-hero address{font:500 clamp(1.05rem,1.7vw,1.4rem)/1.5 var(--sans);font-style:normal}
.visit-hero address span{color:#ddd}
.visit-hero p{color:#ddd;font-size:.85rem;margin:15px 0 28px}
.visit-actions{display:flex;gap:12px;flex-wrap:wrap}
.contact-page .visit-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:17px 23px;min-height:53px;background:#e31b23;color:#fff;border:1px solid #e31b23;font:700 .7rem/1.2 var(--sans);letter-spacing:.055em;text-transform:uppercase;text-decoration:none;border-radius:3px;transition:background .2s,color .2s,transform .2s}
.contact-page .visit-button--line{background:#ffffff12;border-color:#ffffff70;backdrop-filter:blur(7px)}
.contact-page .visit-button:hover{background:#fff;color:#151515;border-color:#fff;transform:translateY(-2px)}
.visit-details{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr 1fr 1fr;margin:-50px clamp(24px,6vw,100px) 0;padding:40px 0;background:#fff;border-radius:5px;box-shadow:0 18px 60px #0000000a}
.visit-details article{padding:0 clamp(20px,3vw,45px);min-width:0;border-right:1px solid #eae7e2}
.visit-details article:last-child{border-right:0}
.visit-details .visit-label{color:#a81118;font-size:.65rem;margin-bottom:22px}
.visit-details h2{font:600 clamp(1.55rem,2.35vw,2.4rem)/1.15 var(--sans);letter-spacing:-.04em;margin:0 0 18px;text-transform:none}
.visit-details a{text-decoration:none}.visit-email{font-size:clamp(.75rem,1.1vw,.9rem);overflow-wrap:anywhere;color:#606060}
.visit-hours{margin:0}.visit-hours>div{display:flex;justify-content:space-between;gap:12px;padding-bottom:15px;margin-bottom:15px;border-bottom:1px solid #eae7e2}.visit-hours>div:last-child{border:0;margin:0;padding:0}
.visit-hours dt{font-weight:500;font-size:.8rem;line-height:1.6}.visit-hours dd{margin:0;text-align:right;line-height:1.6;font-size:.85rem;white-space:nowrap}
.visit-links{display:flex;flex-direction:column;gap:12px;font-size:.75rem;color:#606060}.visit-links a:hover,.visit-email:hover{text-decoration:underline;color:#a81118}
.visit-map{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(35px,6vw,85px);margin:clamp(65px,8vw,110px) clamp(24px,6vw,100px) 80px;align-items:center}
.visit-map__copy{padding:0}.visit-map__copy>.visit-label{color:#a81118}
.visit-map h2{font:600 clamp(2.7rem,4.6vw,4.8rem)/1.05 var(--sans);letter-spacing:-.055em;text-transform:none;margin:0 0 24px}
.visit-map address{font-style:normal;font-size:1rem;color:#606060;line-height:1.7;margin-bottom:28px}
.visit-map iframe{border:0;width:100%;height:450px;display:block;border-radius:5px;box-shadow:0 20px 60px #00000009;background:#e8e5df}
.visit-map .visit-button{background:transparent;color:#202020;border-color:#202020}
.visit-map .visit-button:hover{background:#202020;color:#fff;border-color:#202020}
.visit-social{margin:0 clamp(24px,6vw,100px) 80px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #d9d5cc;padding-top:30px}
.visit-social>span{font-size:.65rem;text-transform:uppercase;letter-spacing:.15em;color:#777}.visit-social a{font:500 clamp(1rem,2vw,1.6rem)/1.3 var(--sans);letter-spacing:-.025em;text-decoration:none;overflow-wrap:anywhere}
.contact-page a:focus-visible{outline:3px solid #0096cf;outline-offset:5px}
@keyframes visit-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes visit-photo{from{transform:scale(1.035)}to{transform:scale(1)}}
@media(max-width:1000px){.visit-hero{min-height:590px;height:72vh}.visit-hero__copy{width:70%;padding-bottom:95px}.visit-details{grid-template-columns:1fr 1fr;padding:30px 0}.visit-details article{padding:10px 25px}.visit-details article:nth-child(2){border:0}.visit-details article:last-child{grid-column:1/-1;border-top:1px solid #eae7e2;margin:25px 25px 0;padding:25px 0 0;display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.visit-details article:last-child>.visit-label{grid-column:1/-1}.visit-details article:last-child h2{margin:0}.visit-map{grid-template-columns:.8fr 1.2fr;gap:30px}}
@media(max-width:650px){.visit-hero{height:auto;min-height:660px;align-items:flex-end}.visit-hero__photo img{object-position:58% center}.visit-hero:after{background:linear-gradient(0deg,#000e 0%,#0009 40%,#0000 90%)}.visit-hero__copy{width:100%;padding:190px 24px 110px}.visit-hero h1{font-size:4.8rem}.visit-hero address{font-size:1.15rem}.visit-hero__copy>.visit-label{margin-bottom:18px}.visit-actions{gap:10px}.contact-page .visit-button{font-size:.65rem;padding:16px 18px}.visit-details{grid-template-columns:1fr;margin:-50px 24px 0;padding:10px 24px}.visit-details article{border-right:0;border-bottom:1px solid #eae7e2;padding:25px 0}.visit-details article:nth-child(2){border-bottom:1px solid #eae7e2}.visit-details article:last-child{grid-column:auto;border:0;margin:0;padding:25px 0;display:block}.visit-details article:last-child h2{margin-bottom:18px}.visit-details h2{font-size:1.85rem}.visit-email{font-size:.85rem}.visit-hours dt,.visit-hours dd{font-size:.9rem}.visit-map{grid-template-columns:1fr;margin:60px 24px;gap:30px}.visit-map h2{font-size:3rem}.visit-map iframe{height:330px}.visit-social{margin:0 24px 60px;align-items:flex-start;flex-direction:column;gap:15px}}
@media(prefers-reduced-motion:reduce){.visit-button{transition:none!important}.visit-hero__copy,.visit-hero__photo img{animation:none!important}}
