/* Home page: map, contact form and copyright only. */
#jmt-lower-section { box-sizing:border-box; padding:clamp(30px,5vw,72px) clamp(16px,3vw,48px) 0; background:#07172c; }
#jmt-lower-section *, .jmt-lower-section__footer * { box-sizing:border-box; }
#jmt-lower-section .jmt-lower-section__map-shell { position:relative; width:min(100%,1680px); height:clamp(360px,34vw,500px); margin:0 auto; overflow:hidden; border:1px solid rgba(55,155,255,.62); border-bottom:0; border-radius:26px 26px 0 0; background:#06172e; box-shadow:0 0 0 1px rgba(45,145,255,.12),0 18px 50px rgba(0,16,42,.42),0 0 28px rgba(15,116,255,.22); }
#jmt-lower-section #map { width:100%; height:100%; min-height:0; }
#jmt-lower-section .jmt-map-search-control { position:relative; width:min(407px,calc(100vw - 112px)); height:45px; margin:18px 0 0; }
#jmt-lower-section .jmt-map-search-control > i { position:absolute; z-index:1; top:50%; left:16px; transform:translateY(-50%); color:#5d6b7d; font-size:15px; pointer-events:none; }
#jmt-lower-section #pac-input { display:block; width:100%; height:100%; margin:0; padding:0 18px 0 43px; border:0; border-radius:9px; background:#fff; box-shadow:0 7px 18px rgba(0,19,48,.22); color:#17243a; font:500 15px/1 Arial,sans-serif; }
#jmt-lower-section #pac-input:focus { outline:2px solid rgba(33,130,255,.65); }
#jmt-lower-section .gm-style .gm-style-mtc > div, #jmt-lower-section .gm-style .gm-bundled-control .gmnoprint > div { border-radius:9px !important; box-shadow:0 4px 14px rgba(0,19,48,.22) !important; }

/* The contact area must read as one continuous dark block from edge to edge.
   Keep the content centred, but let the footer background break out of the
   page container so no pale or darker side gutters are visible. */
#footer.jmt-lower-section__footer { position:relative; box-sizing:border-box; width:100vw; margin-left:calc(50% - 50vw); padding:0 clamp(16px,3vw,48px); overflow:hidden; background:#071b36 !important; color:#e8f1ff; }
.jmt-lower-section__footer-inner { display:grid; grid-template-columns:minmax(260px,.9fr) 1px minmax(360px,1.1fr); gap:clamp(32px,6vw,88px); width:min(100%,1680px); margin:0 auto; padding:clamp(36px,4vw,58px) clamp(28px,8vw,220px) clamp(26px,3vw,42px); border-top:1px solid rgba(83,157,244,.22); border-bottom:1px solid rgba(83,157,244,.36); border-left:0; border-right:0; border-radius:0; background:transparent; box-shadow:none; }
.jmt-lower-section__contacts h3, .jmt-lower-section__form h3 { margin:0 0 24px; color:#fff; font:400 clamp(24px,2vw,31px)/1.2 Arial,sans-serif; }
.jmt-lower-section__contact-list { margin:0; padding:0; list-style:none; }
.jmt-lower-section__contact-list li { display:flex; align-items:center; gap:17px; min-height:68px; border-bottom:1px solid rgba(148,181,225,.17); color:#e7effd; font:400 17px/1.3 Arial,sans-serif; }
.jmt-lower-section__contact-list i { display:grid; flex:0 0 40px; width:40px; height:40px; place-items:center; border-radius:50%; background:rgba(45,128,244,.16); color:#68b2ff; font-size:19px; }
.jmt-lower-section__contact-list a { color:inherit; text-decoration:none; }.jmt-lower-section__contact-list a:hover { color:#62b0ff; }
.jmt-lower-section__phone-row { gap:17px; }
.jmt-lower-section__phone-numbers { display:flex; align-items:center; gap:13px; min-width:0; white-space:nowrap; }
.jmt-lower-section__phone-numbers > span { flex:0 0 1px; width:1px; height:18px; background:rgba(148,181,225,.42); }
.jmt-lower-section__partner-row { display:block !important; min-height:0 !important; padding:14px 0 2px; border-bottom:0 !important; }
.jmt-lower-section__partner-inline { display:flex; align-items:center; gap:10px; color:#fff; text-decoration:none; }
.jmt-lower-section__partner-inline:hover { color:#fff; opacity:.92; }
.jmt-lower-section__partner-inline img { display:block; flex:0 0 40px; width:40px; height:40px; padding:2px; border:1px solid rgba(77,150,255,.64); border-radius:9px; background:#08254f; object-fit:contain; }
.jmt-lower-section__partner-inline > span { display:grid; gap:2px; min-width:0; }
.jmt-lower-section__partner-inline small { color:#76b7ff; font:700 10px/1.15 Arial,sans-serif; letter-spacing:.055em; text-transform:uppercase; }
.jmt-lower-section__partner-inline b { color:#fff; font:700 16px/1.1 Arial,sans-serif; }
.jmt-lower-section__partner-inline em { color:#a9bdd8; font:400 12px/1.25 Arial,sans-serif; font-style:normal; }
.jmt-lower-section__divider { width:1px; background:rgba(111,175,244,.55); }
.jmt-lower-section__form { margin:0; }.jmt-lower-section__form fieldset { min-width:0; margin:0 0 11px; padding:0; border:0 !important; }.jmt-lower-section__form label { display:block; margin:0 0 5px; color:#73c1ff; font:400 15px/1.2 Arial,sans-serif; }
.jmt-lower-section__form input, .jmt-lower-section__form textarea { display:block; width:100%; border:1px solid rgba(198,216,241,.72) !important; border-radius:7px; background:#fff !important; color:#14233a !important; font:400 16px/1.35 Arial,sans-serif !important; }
.jmt-lower-section__form input { height:42px; padding:9px 13px !important; }.jmt-lower-section__form textarea { min-height:80px; padding:11px 13px !important; resize:vertical; }.jmt-lower-section__form input:focus, .jmt-lower-section__form textarea:focus { outline:2px solid rgba(49,151,255,.72); outline-offset:1px; }
.jmt-lower-section__form button[type="submit"] { width:100% !important; min-height:44px; border:0 !important; border-radius:7px; background:#2379ed !important; color:#fff; font:500 17px/1 Arial,sans-serif !important; cursor:pointer; }.jmt-lower-section__form button[type="submit"]:hover { background:#1765d0 !important; }
.jmt-lower-section__top { position:absolute; right:clamp(32px,5vw,94px); bottom:19px; display:grid; width:58px; height:58px; place-content:center; gap:3px; border:1px solid #1664d6; border-radius:50%; background:#082247; box-shadow:0 0 18px rgba(38,129,255,.42); color:#b8dafe; font:600 10px/1 Arial,sans-serif; text-align:center; text-decoration:none; }.jmt-lower-section__top i { font-size:21px; }.jmt-lower-section__top:hover { background:#0d3264; color:#fff; }

@media (max-width:900px) { .jmt-lower-section__footer-inner { grid-template-columns:1fr; gap:30px; padding-inline:clamp(24px,8vw,72px); }.jmt-lower-section__divider { width:100%; height:1px; } }
@media (max-width:600px) { #jmt-lower-section { padding:24px 12px 0; } #jmt-lower-section .jmt-lower-section__map-shell { height:clamp(300px,88vw,360px); border-radius:18px 18px 0 0; } #jmt-lower-section .jmt-map-search-control { width:calc(100vw - 72px); height:42px; margin-top:12px; }.jmt-lower-section__footer { padding-inline:12px; }.jmt-lower-section__footer-inner { gap:25px; padding:30px 22px 24px; border-radius:0; }.jmt-lower-section__contacts h3, .jmt-lower-section__form h3 { margin-bottom:18px; }.jmt-lower-section__contact-list li { font-size:15px; }.jmt-lower-section__phone-row { gap:12px; }.jmt-lower-section__phone-numbers { gap:8px; font-size:12px; }.jmt-lower-section__phone-numbers > span { height:15px; }.jmt-lower-section__partner-row { padding-top:12px; }.jmt-lower-section__partner-inline em { font-size:11px; }.jmt-lower-section__top { right:23px; bottom:15px; width:50px; height:50px; } }

/* Remove the browser default page margin around the public contact footer. */
body#body { margin: 0; }
