.visit-section{position:relative;isolation:isolate;padding:95px 0 70px;background:#080e10;color:#e8efe5;scroll-margin-top:24px;overflow:hidden}
.visit-section:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 5% 45%,#7db92812,transparent 50%),linear-gradient(#7db92808 1px,transparent 1px),linear-gradient(90deg,#7db92808 1px,transparent 1px);background-size:auto,90px 90px,90px 90px;pointer-events:none}
.visit-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:40px}
.visit-heading .eyebrow{color:#9bcc5a;font-size:9px;margin-bottom:23px}
.visit-heading h2{font-size:clamp(34px,3.8vw,53px);line-height:1.1;letter-spacing:-.045em;margin:0;color:#e7efe6;font-weight:700}
.visit-heading h2 em{font-style:normal;font-weight:400;color:#abda65}
.visit-heading>p{font-size:12px;line-height:1.9;color:#b5c2b6;max-width:300px;margin:0 0 5px}
.visit-layout{display:grid;grid-template-columns:.85fr 1.7fr;gap:22px;align-items:stretch}
.visit-address-card{min-width:0;border:1px solid #3a5034;border-radius:20px;overflow:hidden;background:#101b1d}
.visit-factory{margin:0;position:relative;overflow:hidden;background:#101b16}
.visit-factory>img{width:100%;height:auto;aspect-ratio:370/246;object-fit:cover}
.visit-factory:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#030c08c9);pointer-events:none}
.visit-factory figcaption{display:flex;justify-content:space-between;gap:12px;position:absolute;left:22px;right:22px;bottom:18px;z-index:1;color:#eef8e2;font-size:7px;letter-spacing:.13em;font-weight:600}
.visit-factory figcaption>span:last-child{color:#c0de96;font-weight:400}
.visit-details{padding:28px 25px 25px}
.visit-kicker{display:block;font-size:7px;letter-spacing:.17em;color:#a2c282}
.visit-details h3{margin:10px 0 22px;font-size:27px;line-height:1.2;letter-spacing:-.035em;color:#e7efe6}
.visit-details address{font-style:normal;display:flex;flex-direction:column;gap:18px}
.visit-contact-line{display:flex;align-items:flex-start;gap:13px;color:#dce8d5;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.visit-contact-line>svg{width:23px;height:24px;color:#a4d15e;flex-shrink:0;margin-top:3px}
.visit-contact-line small{display:block;font-size:7px;letter-spacing:.13em;color:#9fb18e;margin-bottom:4px}
.visit-contact-line:hover{color:#bee88c}
.visit-contact-line:focus-visible,.visit-directions:focus-visible{outline:2px solid #b9e681;outline-offset:5px;border-radius:4px}
.visit-map-card{display:flex;flex-direction:column;min-width:0;border:1px solid #3a5034;background:#111c1c;border-radius:20px;overflow:hidden}
.visit-map-header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 27px}
.visit-map-header h3{margin:8px 0 0;font-size:25px;line-height:1.1;letter-spacing:-.03em;color:#e3eddc}
.visit-location-badge{display:flex;align-items:center;gap:7px;border:1px solid #7db92840;padding:8px 10px;border-radius:30px;color:#aac58e;font-size:7px;letter-spacing:.1em;white-space:nowrap}
.visit-location-badge i{width:5px;height:5px;border-radius:50%;background:#a6d75d;box-shadow:0 0 12px #7db92860}
.visit-map{display:block;width:100%;height:440px;min-height:340px;flex:1;border:0;background:#e7ece0;color-scheme:light}
.visit-map-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 23px;border-top:1px solid #435134}
.visit-map-footer p{margin:0;color:#aabca4;font-size:9px;line-height:1.7;max-width:260px}
.visit-directions{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 17px;border-radius:9px;background:linear-gradient(120deg,#7db928,#b4df6b);color:#132007;font-size:10px;font-weight:700;white-space:nowrap}
.visit-directions:hover{filter:brightness(1.08)}
.visit-map-note{font-size:9px;line-height:1.9;color:#8fa085;max-width:880px;margin:22px 0 0}
.visit-map-note a{color:#b3cf98;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1000px){.visit-heading{display:block}.visit-heading>p{margin-top:25px;max-width:500px}.visit-layout{grid-template-columns:1fr 1.55fr;gap:16px}.visit-details{padding:25px 20px}.visit-contact-line{font-size:11px;gap:10px}.visit-map-header{padding:23px 20px}.visit-map-header h3{font-size:23px}.visit-location-badge{display:none}.visit-map-footer{padding:17px;flex-wrap:wrap}.visit-map-footer p{font-size:8px}.visit-map{min-height:350px}}
@media(max-width:700px){.visit-section{padding:65px 0 45px}.visit-heading{margin-bottom:30px}.visit-layout{grid-template-columns:1fr}.visit-address-card{display:grid;grid-template-columns:.9fr 1.1fr}.visit-factory{min-height:270px}.visit-factory>img{height:100%;object-position:45% center}.visit-factory figcaption{left:15px;right:15px;flex-direction:column;gap:5px;font-size:6px}.visit-details h3{font-size:25px}.visit-details{padding:25px 22px}.visit-map{height:370px;min-height:370px;flex:auto}.visit-map-footer{flex-wrap:nowrap;padding:17px 20px}.visit-map-footer p{font-size:9px}.visit-map-note{font-size:10px}}
@media(max-width:480px){.visit-heading h2{font-size:35px}.visit-heading>p{font-size:12px}.visit-heading>p br{display:none}.visit-address-card{display:block}.visit-factory{min-height:0}.visit-factory>img{height:auto}.visit-factory figcaption{left:23px;right:23px;flex-direction:row;font-size:7px}.visit-details{padding:28px 25px}.visit-details h3{font-size:29px}.visit-contact-line{font-size:13px;gap:13px}.visit-contact-line small{font-size:7px}.visit-details address{gap:20px}.visit-map-header{padding:24px}.visit-map-header h3{font-size:26px}.visit-map{height:360px;min-height:360px}.visit-map-footer{align-items:flex-start;flex-direction:column;gap:13px;padding:19px 22px}.visit-map-footer p{font-size:10px}.visit-directions{font-size:12px;padding:13px 18px;min-height:46px;width:100%}.visit-map-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){.visit-directions:hover{filter:none}}
