@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:wght@400;500;600;700&display=swap');
/* Contact editorial – scoped entirely to lien-he.php. */
.ml-contact{--contact-ink:#12372d;--contact-green:#124636;--contact-muted:#67776c;--contact-border:#dce4d9;background:#fffefa;color:var(--contact-ink);overflow-x:clip}
.ml-contact *,.ml-contact *::before,.ml-contact *::after{box-sizing:border-box}
.ml-contact h1,.ml-contact h2,.ml-contact h3,.ml-contact-hero-lead{font-family:"Noto Serif",Georgia,serif;font-weight:400;letter-spacing:-.025em}
.ml-contact a{color:inherit;text-decoration:none}
.ml-contact a:hover{color:#287453}
.ml-contact a:focus-visible,.ml-contact button:focus-visible,.ml-contact input:focus-visible,.ml-contact select:focus-visible,.ml-contact textarea:focus-visible{outline:2px solid #b39d70;outline-offset:3px}
.ml-contact .ml-contact-eyebrow{margin:0;color:#557563;font:bold .67rem/1.5 Arial,sans-serif;letter-spacing:.15em}
.ml-contact .ml-contact-hero{position:relative;isolation:isolate;min-height:clamp(360px,34vw,470px);padding:0;overflow:hidden;border:0;background:#ebebdf}
.ml-contact .ml-contact-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 49%;z-index:-2}
.ml-contact .ml-contact-hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fffefa 0%,rgba(255,254,250,.98) 24%,rgba(255,254,250,.87) 37%,rgba(255,254,250,.34) 55%,transparent 75%)}
.ml-contact .ml-contact-hero-inner{position:relative;z-index:1;min-height:inherit;display:flex;align-items:center;padding-top:36px;padding-bottom:36px}
.ml-contact .ml-contact-hero-copy{max-width:575px}
.ml-contact .ml-contact-breadcrumb{display:flex;gap:14px;align-items:center;margin:0 0 29px;color:#4c6759;font-size:.82rem}
.ml-contact .ml-contact-breadcrumb a:hover{text-decoration:underline}
.ml-contact .ml-contact-hero h1{font-size:clamp(2.8rem,5.15vw,5.55rem);line-height:1.1;color:#0b3026;letter-spacing:-.055em;margin:10px 0 20px}
.ml-contact .ml-contact-hero-lead{font-size:clamp(1.17rem,1.95vw,1.8rem);line-height:1.45;margin:0;color:#485e50}
.ml-contact .ml-contact-body{padding:clamp(44px,5vw,75px) 0 clamp(55px,6vw,83px)}
.ml-contact .ml-contact-content{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(29px,5vw,75px);align-items:start}
.ml-contact .ml-contact-info,.ml-contact .ml-contact-form-col{min-width:0}
.ml-contact .ml-contact-info h2,.ml-contact .ml-contact-form-col h2,.ml-contact .ml-contact-location h2{font-size:clamp(2rem,3.2vw,3.35rem);line-height:1.22;margin:0 0 11px;color:#0e352a}
.ml-contact .ml-contact-section-subtitle,.ml-contact .ml-contact-form-lead{color:#637569;font-size:clamp(.99rem,1.3vw,1.13rem);line-height:1.65;margin:0}
.ml-contact .ml-contact-info-list{display:grid;gap:clamp(18px,2.3vw,28px);margin:34px 0 35px}
.ml-contact .ml-contact-detail{display:grid;grid-template-columns:58px minmax(0,1fr);gap:16px;align-items:center;min-width:0}
.ml-contact .ml-contact-detail-icon{width:58px;height:58px;display:inline-flex;justify-content:center;align-items:center;border-radius:50%;font-size:1.35rem;color:#224b3a;background:linear-gradient(145deg,#f4f5ed,#e7eee5)}
.ml-contact .ml-contact-detail h3{margin:0 0 3px;font-size:clamp(1.07rem,1.5vw,1.3rem);line-height:1.4;color:#183c30}
.ml-contact .ml-contact-detail p,.ml-contact .ml-contact-detail address{margin:0;font-style:normal;font-size:.9rem;line-height:1.6;color:#68776b;overflow-wrap:anywhere}
.ml-contact .ml-contact-actions,.ml-contact .ml-contact-draft-buttons{display:flex;flex-wrap:wrap;gap:11px}
.ml-contact .ml-contact-outline{min-height:44px;display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:10px 17px;border:1px solid #2e5b45;border-radius:5px;background:transparent;color:#164333;font-size:.87rem;line-height:1.3;cursor:pointer}
.ml-contact .ml-contact-outline:hover{background:#164333;color:#fff}
.ml-contact .ml-contact-small-print{margin:17px 0 0;max-width:470px;color:#89958b;font-size:.77rem;line-height:1.7}
.ml-contact .ml-contact-form-col{border-left:1px solid #e0e6df;padding-left:clamp(24px,4vw,55px)}
.ml-contact .ml-contact-form-lead{font-size:.94rem;margin-bottom:18px}
.ml-contact .ml-contact-field{margin-bottom:16px}
.ml-contact .ml-contact-field label{display:block;margin-bottom:7px;font-size:.87rem;font-weight:600;color:#234333}
.ml-contact .ml-contact-field label span{color:#b75251}
.ml-contact .ml-contact-field input,.ml-contact .ml-contact-field select,.ml-contact .ml-contact-field textarea,.ml-contact .ml-contact-draft textarea{display:block;width:100%;min-width:0;padding:11px 13px;border:1px solid #cbd6cc;border-radius:4px;background:#fff;color:#244132;font-size:.88rem;line-height:1.5}
.ml-contact .ml-contact-field input,.ml-contact .ml-contact-field select{min-height:45px}
.ml-contact .ml-contact-field textarea{min-height:114px;resize:vertical}
.ml-contact .ml-contact-field input::placeholder,.ml-contact .ml-contact-field textarea::placeholder{color:#94a197}
.ml-contact .ml-contact-field input:focus,.ml-contact .ml-contact-field select:focus,.ml-contact .ml-contact-field textarea:focus{outline:0;border-color:#53876d;box-shadow:0 0 0 3px rgba(50,118,75,.09)}
.ml-contact .ml-contact-agree{display:flex;gap:9px;align-items:flex-start;margin:0 0 14px;color:#5f7062;font-size:.8rem;line-height:1.55;cursor:pointer}
.ml-contact .ml-contact-agree input{flex:0 0 auto;width:17px;height:17px;margin-top:3px;accent-color:#144b36}
.ml-contact .ml-contact-agree a{text-decoration:underline;text-underline-offset:3px;color:#174a37}
.ml-contact .ml-contact-submit{display:inline-flex;justify-content:center;align-items:center;gap:12px;width:100%;min-height:48px;border:1px solid #154835;border-radius:4px;background:#124636;color:#fff;font-family:"Noto Serif",Georgia,serif;font-size:.98rem;cursor:pointer}
.ml-contact .ml-contact-submit:hover{background:#205d43}
.ml-contact .ml-contact-form-note{margin:10px 0 0;color:#8a998e;font-size:.76rem;line-height:1.6}
.ml-contact .ml-contact-draft{margin-top:24px;padding:19px;border:1px solid #d1e1d4;border-radius:8px;background:#f3f8f1}
.ml-contact .ml-contact-draft[hidden]{display:none!important}
.ml-contact .ml-contact-draft h3{font-size:1.17rem;margin:0 0 9px}
.ml-contact .ml-contact-draft p{font-size:.82rem;line-height:1.6;color:#52705b}
.ml-contact .ml-contact-draft textarea{margin:10px 0 13px;resize:vertical}
.ml-contact .ml-contact-copy-status{margin:10px 0 0;color:#216841;font-size:.82rem}
.ml-contact .ml-contact-location{padding:clamp(32px,4vw,50px) 0;background:#f4f6ee;border-top:1px solid #e4eade}
.ml-contact .ml-contact-location-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(23px,4vw,58px);align-items:center}
.ml-contact .ml-contact-location-copy{min-width:0}
.ml-contact .ml-contact-location-copy .ml-contact-eyebrow{margin-bottom:8px}
.ml-contact .ml-contact-location h2{font-size:clamp(2rem,3vw,3rem)}
.ml-contact .ml-contact-location-copy>p:not(.ml-contact-eyebrow){font-size:.9rem;line-height:1.7;color:#68786d;margin:0 0 20px}
.ml-contact .ml-contact-map-illustration{position:relative;height:clamp(215px,22vw,295px);overflow:hidden;border-radius:7px;isolation:isolate;background:linear-gradient(80deg,rgba(220,227,216,.85) 1px,transparent 1px),linear-gradient(5deg,rgba(220,227,216,.8) 1px,transparent 1px),#eaf0e7;background-size:70px 70px}
.ml-contact .ml-contact-map-river{position:absolute;left:-8%;top:44%;width:120%;height:90px;background:#c6ddd5;border-radius:50%;transform:rotate(10deg)}
.ml-contact .ml-contact-map-road{position:absolute;left:-15%;width:130%;height:12px;background:#fffefa;box-shadow:0 0 0 3px rgba(211,221,209,.55)}
.ml-contact .ml-contact-road-one{top:24%;transform:rotate(-27deg)}
.ml-contact .ml-contact-road-two{top:62%;transform:rotate(-12deg)}
.ml-contact .ml-contact-road-three{top:44%;transform:rotate(37deg)}
.ml-contact .ml-contact-map-park{position:absolute;right:5%;top:3%;width:25%;height:45%;background:#d2e5cc;border-radius:45% 18% 40% 18%;transform:rotate(-18deg)}
.ml-contact .ml-contact-map-pin{position:absolute;top:37%;left:51%;transform:translate(-50%,-50%);color:#133e32;font-size:2.15rem;filter:drop-shadow(0 4px 4px rgba(18,60,40,.2))}
.ml-contact .ml-contact-map-label{position:absolute;top:47%;left:53%;padding:9px 13px;background:rgba(255,254,250,.96);border-radius:5px;font-size:.76rem;color:#526c59;box-shadow:0 8px 19px rgba(30,60,42,.13)}
@media(max-width:991.98px){
.ml-contact .ml-contact-hero-overlay{background:linear-gradient(90deg,rgba(255,254,250,.99) 0%,rgba(255,254,250,.94) 26%,rgba(255,254,250,.65) 53%,transparent 80%)}
.ml-contact .ml-contact-content{gap:26px}
.ml-contact .ml-contact-form-col{padding-left:26px}
.ml-contact .ml-contact-detail{grid-template-columns:50px minmax(0,1fr);gap:11px}
.ml-contact .ml-contact-detail-icon{width:50px;height:50px}
}
@media(max-width:767.98px){
.ml-contact .ml-contact-hero{min-height:350px}
.ml-contact .ml-contact-hero-photo{object-position:66% center}
.ml-contact .ml-contact-hero-overlay{background:linear-gradient(90deg,rgba(255,254,250,.98),rgba(255,254,250,.94) 35%,rgba(255,254,250,.55) 67%,rgba(255,254,250,.1))}
.ml-contact .ml-contact-hero-inner{padding-top:26px;padding-bottom:26px}
.ml-contact .ml-contact-hero h1{font-size:clamp(2.7rem,8.7vw,4rem)}
.ml-contact .ml-contact-breadcrumb{margin-bottom:21px}
.ml-contact .ml-contact-content{grid-template-columns:minmax(0,1fr);gap:44px}
.ml-contact .ml-contact-form-col{padding:34px 0 0;border-left:0;border-top:1px solid var(--contact-border)}
.ml-contact .ml-contact-location-grid{grid-template-columns:minmax(0,1fr);gap:28px}
.ml-contact .ml-contact-map-illustration{height:250px}
}
@media(max-width:380px){
.ml-contact .ml-contact-hero-lead br{display:none}
.ml-contact .ml-contact-actions .ml-contact-outline{flex:1 1 auto}
}
@media(prefers-reduced-motion:reduce){.ml-contact *{scroll-behavior:auto!important}}
