.contact-visit-section{position:relative;overflow:hidden;background:#f3eee6;color:#211b16;padding:clamp(105px,12vw,180px) 0}
.contact-visit-container{width:min(1280px,calc(100% - 80px));margin:0 auto}
.contact-visit-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:25px;border-bottom:1px solid rgba(33,27,22,.17)}
.contact-visit-number{color:#a56e40;font-size:9px;font-weight:700;letter-spacing:.18em}
.contact-visit-label{display:flex;align-items:center;gap:14px;color:#857a70;font-size:9px;font-weight:700;letter-spacing:.19em;text-transform:uppercase}
.contact-visit-line{width:34px;height:1px;background:#a56e40}
.contact-visit-intro{display:grid;grid-template-columns:1fr .55fr;gap:80px;align-items:end;margin:clamp(70px,8vw,110px) 0 80px}
.contact-visit-kicker{display:block;margin-bottom:25px;color:#a56e40;font-size:9px;font-weight:700;letter-spacing:.19em;text-transform:uppercase}
.contact-visit-intro h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(58px,6.3vw,88px);font-weight:400;line-height:.88;letter-spacing:-.055em}
.contact-visit-intro h2 em{color:#a56e40;font-weight:400}
.contact-visit-intro>p{max-width:390px;margin:0 0 4px;color:#786e65;font-size:13px;line-height:1.95}
.contact-visit-location{display:grid;grid-template-columns:1.25fr .75fr;gap:20px}
.contact-visit-map{position:relative;min-height:650px;overflow:hidden;background:#ded5ca;border:1px solid rgba(33,27,22,.1)}
.contact-visit-map-grid{position:absolute;inset:0;background-image:linear-gradient(32deg,transparent 47%,rgba(105,91,78,.1) 48%,rgba(105,91,78,.1) 49%,transparent 50%),linear-gradient(-28deg,transparent 46%,rgba(105,91,78,.08) 47%,rgba(105,91,78,.08) 48%,transparent 49%),linear-gradient(90deg,rgba(105,91,78,.06) 1px,transparent 1px),linear-gradient(rgba(105,91,78,.06) 1px,transparent 1px);background-size:230px 170px,260px 190px,75px 75px,75px 75px}
.contact-visit-map-grid::before{content:"";position:absolute;width:150%;height:90px;left:-25%;top:45%;background:rgba(238,232,222,.72);transform:rotate(-13deg)}
.contact-visit-map-grid::after{content:"";position:absolute;width:130%;height:65px;left:-15%;top:19%;background:rgba(238,232,222,.5);transform:rotate(28deg)}
.contact-visit-map-ring{position:absolute;border:1px solid rgba(165,110,64,.15);border-radius:50%;top:50%;left:52%;transform:translate(-50%,-50%)}
.contact-visit-map-ring-one{width:260px;height:260px}
.contact-visit-map-ring-two{width:440px;height:440px}
.contact-visit-map-route{position:absolute;height:2px;background:#a56e40;opacity:.35;transform-origin:left center}
.contact-visit-map-route-one{width:270px;top:51%;left:24%;transform:rotate(-19deg)}
.contact-visit-map-route-two{width:220px;top:54%;left:54%;transform:rotate(43deg)}
.contact-visit-pin{position:absolute;top:50%;left:52%;width:48px;height:48px;border-radius:50%;background:#a56e40;color:#f3eee6;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);box-shadow:0 0 0 12px rgba(165,110,64,.12)}
.contact-visit-pin span{font-size:15px}
.contact-visit-map-label{position:absolute;left:25px;top:25px;display:flex;flex-direction:column;gap:7px}
.contact-visit-map-label span{color:#8b7d71;font-size:6px;font-weight:700;letter-spacing:.18em}
.contact-visit-map-label strong{color:#332b25;font-family:Georgia,"Times New Roman",serif;font-size:17px;font-weight:400}
.contact-visit-directions{position:absolute;right:20px;bottom:20px;display:flex;align-items:center;gap:22px;padding:15px 18px;background:#211b16;color:#f3eee6;text-decoration:none;font-size:7px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;transition:background .3s ease}
.contact-visit-directions span{font-size:13px;font-weight:400}
.contact-visit-directions:hover{background:#a56e40}
.contact-visit-info{display:flex;flex-direction:column;background:#e8dfd4}
.contact-visit-info-block{padding:35px;border-bottom:1px solid rgba(33,27,22,.13)}
.contact-visit-info-block:last-child{border-bottom:0}
.contact-visit-info-block>span{display:block;color:#a56e40;font-size:7px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.contact-visit-info-block h3{margin:19px 0 0;color:#342c26;font-family:Georgia,"Times New Roman",serif;font-size:24px;font-weight:400;line-height:1.35}
.contact-visit-info-block>p{max-width:280px;margin:14px 0 0;color:#81766c;font-size:9px;line-height:1.8}
.contact-visit-hours{margin-top:18px}
.contact-visit-hours p{display:flex;justify-content:space-between;gap:15px;margin:0;padding:9px 0;border-bottom:1px solid rgba(33,27,22,.08);font-size:8px}
.contact-visit-hours p:last-child{border-bottom:0}
.contact-visit-hours strong{color:#786d63;font-weight:500}
.contact-visit-hours b{color:#382f28;font-weight:600}
.contact-visit-extra{flex:1;display:flex;flex-direction:column;justify-content:flex-end}
.contact-visit-footer{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:60px;color:#958a80}
.contact-visit-footer>span{color:#a56e40;font-size:7px;font-weight:700;letter-spacing:.17em}
.contact-visit-footer>i{width:4px;height:4px;border-radius:50%;background:#a56e40}
.contact-visit-footer p{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:12px;font-style:italic}
@media(max-width:1050px){
.contact-visit-container{width:min(100% - 60px,1280px)}
.contact-visit-intro{gap:50px}
.contact-visit-map{min-height:560px}
.contact-visit-info-block{padding:28px}
.contact-visit-info-block h3{font-size:21px}
}
@media(max-width:760px){
.contact-visit-section{padding:85px 0}
.contact-visit-container{width:calc(100% - 40px)}
.contact-visit-header{padding-bottom:20px}
.contact-visit-number{font-size:8px}
.contact-visit-label{font-size:8px;letter-spacing:.15em}
.contact-visit-line{width:27px}
.contact-visit-intro{display:block;margin:55px 0 60px}
.contact-visit-kicker{font-size:8px;margin-bottom:20px}
.contact-visit-intro h2{font-size:clamp(48px,11vw,68px)}
.contact-visit-intro>p{margin-top:28px;max-width:550px;font-size:13px}
.contact-visit-location{grid-template-columns:1fr;gap:15px}
.contact-visit-map{min-height:500px}
.contact-visit-info{display:grid;grid-template-columns:1fr 1fr}
.contact-visit-info-block{padding:28px 25px}
.contact-visit-info-block:nth-child(3){grid-column:1/-1;border-top:1px solid rgba(33,27,22,.13)}
.contact-visit-info-block h3{font-size:20px}
.contact-visit-hours p{display:block}
.contact-visit-hours b{display:block;margin-top:4px}
.contact-visit-extra{min-height:150px}
.contact-visit-footer{margin-top:45px}
}
@media(max-width:480px){
.contact-visit-section{padding:70px 0}
.contact-visit-container{width:calc(100% - 30px)}
.contact-visit-header{padding-bottom:18px}
.contact-visit-number{font-size:7px}
.contact-visit-label{font-size:7px;letter-spacing:.12em}
.contact-visit-line{width:24px}
.contact-visit-intro{margin:45px 0 50px}
.contact-visit-kicker{font-size:7px;margin-bottom:17px}
.contact-visit-intro h2{font-size:40px}
.contact-visit-intro>p{font-size:12px;line-height:1.8;margin-top:22px}
.contact-visit-map{min-height:390px}
.contact-visit-map-label{left:15px;top:15px}
.contact-visit-map-label span{font-size:5px}
.contact-visit-map-label strong{font-size:14px}
.contact-visit-map-ring-one{width:190px;height:190px}
.contact-visit-map-ring-two{width:320px;height:320px}
.contact-visit-pin{width:40px;height:40px}
.contact-visit-pin span{font-size:12px}
.contact-visit-directions{right:12px;bottom:12px;padding:13px 14px;font-size:6px;gap:15px}
.contact-visit-info{grid-template-columns:1fr}
.contact-visit-info-block,.contact-visit-info-block:nth-child(2),.contact-visit-info-block:nth-child(3){grid-column:auto;padding:25px 20px;border-top:0}
.contact-visit-info-block+.contact-visit-info-block{border-top:1px solid rgba(33,27,22,.13)}
.contact-visit-info-block>span{font-size:6px}
.contact-visit-info-block h3{font-size:18px;margin-top:15px}
.contact-visit-info-block>p{font-size:8px}
.contact-visit-hours p{font-size:7px;padding:8px 0}
.contact-visit-footer{margin-top:35px;gap:10px}
.contact-visit-footer>span{font-size:6px}
.contact-visit-footer p{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
.contact-visit-directions{transition:none}
}