body .page{display:flex;flex-direction:column;gap:28px;padding:40px var(--page-gutter) 48px;flex:1;justify-content:center}body .page>section:first-child{padding:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:48px;align-items:center}body .page>section:first-child .kicker{grid-column:1;margin:0 0 12px}body .page h1{grid-column:1;margin:0;font-size:clamp(32px,3vw,42px)}body .page .intro{grid-column:2;grid-row:1 / 3;margin:0;max-width:560px}body .page .form-panel{position:static;left:auto;width:100%;max-width:none;min-height:0;align-self:stretch;padding:28px 32px}#contact-form .contact-columns{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px}#contact-form .contact-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;align-content:start}#contact-form .field{min-width:0;margin:0}#contact-form .custom-subject{grid-column:1 / -1}#contact-form .contact-message{display:grid;grid-template-rows:1fr auto;gap:16px}#contact-form .contact-message>.field:first-child{grid-template-rows:auto 1fr}#contact-form textarea{min-height:140px;height:100%}#contact-form input,#contact-form select,#contact-form textarea{min-width:0;padding:11px 12px}#contact-form .contact-form-bottom{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-top:22px;padding-top:18px;border-top:1px solid #d5d5ce}#contact-form .contact-notices{max-width:820px}#contact-form .contact-notices .note{margin:0 0 6px}#contact-form .button{margin:0;min-width:140px;flex-shrink:0}body .page .form-panel.sent{min-height:260px}#contact-form[hidden]{display:none}@media(max-width:1000px){#contact-form .contact-columns{grid-template-columns:1fr}#contact-form textarea{min-height:160px}body .page .form-panel{padding:24px}}@media(max-width:600px){body .page{padding-top:28px;gap:24px}body .page>section:first-child{display:block}body .page .intro{margin-top:16px}#contact-form .contact-details{grid-template-columns:1fr}#contact-form .contact-form-bottom{align-items:stretch;flex-direction:column;gap:16px}body .page .form-panel{padding:20px}#contact-form .button{width:100%}}

/* Match Safari's native select to the other contact fields. */
#contact-form .contact-details input,#contact-form .contact-details select{height:48px;min-height:48px;border:1px solid #aaa;border-radius:4px;background-color:#fff;color:#111;font:inherit;line-height:1.5;box-shadow:none}
#contact-form .contact-details select{-webkit-appearance:none;appearance:none;padding:11px 36px 11px 12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23444' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px 16px}

@media(min-width:601px){body .page>section:first-child .intro{grid-row:2;align-self:center}body .page>section:first-child h1{grid-row:2;align-self:center}}

/* Mappa editoriale: cartografia reale, resa monocromatica e scura in stile HUMINTA. */
.huminta-map{position:relative;isolation:isolate;overflow:hidden;flex:0 0 auto;height:clamp(280px,24vw,400px);margin:30px var(--page-gutter) 0;border:1px solid #292c2b;border-radius:18px;background:#171a19;box-shadow:0 18px 48px rgba(8,9,8,.1)}
.huminta-map iframe{position:absolute;left:-2px;top:-112px;width:calc(100% + 4px);height:calc(100% + 114px);border:0;filter:grayscale(1) invert(.78) contrast(1.1) brightness(.88);opacity:.96}
.huminta-map-vignette{position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(6,8,8,.22),transparent 42%,rgba(6,8,8,.08)),linear-gradient(0deg,rgba(6,8,8,.18),transparent 45%)}
.huminta-map-address{position:absolute;z-index:2;left:clamp(22px,3vw,48px);bottom:clamp(22px,3vw,48px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 30px;width:min(520px,calc(100% - 44px));padding:22px 24px;color:#f4f4f0;text-decoration:none;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:rgba(12,15,14,.72);-webkit-backdrop-filter:blur(20px) saturate(.8);backdrop-filter:blur(20px) saturate(.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 14px 40px rgba(0,0,0,.22);transition:border-color .25s ease,background .25s ease}
.huminta-map-address span{grid-column:1;color:#e1fe6e;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}.huminta-map-address strong{grid-column:1;font-size:clamp(21px,1.55vw,27px);line-height:1.22;font-weight:500;letter-spacing:-.02em}.huminta-map-address small{grid-column:1;color:rgba(244,244,240,.7);font-size:14px;line-height:1.5}.huminta-map-address b{grid-column:2;grid-row:1/4;align-self:center;font-size:23px;font-weight:400;color:#e1fe6e}.huminta-map-address:hover{border-color:rgba(225,254,110,.44);background:rgba(12,15,14,.86)}.huminta-map-address:focus-visible{outline:2px solid #e1fe6e;outline-offset:4px}
@media(min-width:1800px){.huminta-map{height:clamp(360px,22vw,460px);margin-top:38px}.huminta-map-address{width:600px;padding:26px 30px}.huminta-map-address small{font-size:16px}}
@media(max-width:760px){.huminta-map{height:320px;margin:18px 18px 0;border-radius:14px}.huminta-map iframe{top:-96px;height:calc(100% + 98px);filter:grayscale(1) invert(.78) contrast(1.08) brightness(.84)}.huminta-map-address{left:14px;bottom:14px;width:calc(100% - 28px);padding:18px;column-gap:16px}.huminta-map-address strong{font-size:21px}.huminta-map-address small{font-size:13px}}

/* Contatti compatti: mappa e scheda e-mail restano leggibili nello stesso viewport. */
body .page{gap:20px;padding-top:24px;padding-bottom:30px}
body .page>section:first-child .kicker{margin-bottom:8px}
body .page .form-panel{padding:22px 28px}
body .page .form-panel h2{margin:0 0 14px}
body .page .form-panel p{margin:0}
body .page .form-panel .button{margin:0 0 12px}
body .page .form-panel .note{margin:0}
.huminta-map-address{left:0;bottom:0;width:min(430px,calc(100% - 24px));padding:15px 18px 16px;gap:2px 22px;border-left:0;border-bottom:0;border-radius:0 14px 0 0}
.huminta-map-address span{font-size:11px;margin-bottom:5px}
.huminta-map-address strong{font-size:clamp(19px,1.25vw,23px);line-height:1.2}
.huminta-map-address small{font-size:13px;line-height:1.4}
.huminta-map-address b{font-size:21px}
.huminta-map-address:focus-visible{outline-offset:-4px}
@media(min-width:1800px){.huminta-map{height:clamp(340px,20vw,420px);margin-top:30px}.huminta-map-address{width:min(470px,calc(100% - 28px));padding:17px 20px 18px}.huminta-map-address small{font-size:14px}}
@media(max-width:760px){body .page{padding-top:22px;padding-bottom:26px}.huminta-map{height:300px}.huminta-map-address{left:0;bottom:0;width:calc(100% - 14px);padding:14px 16px;column-gap:14px}.huminta-map-address strong{font-size:19px}.huminta-map-address small{font-size:12px}}
