/* [Codex] Una fotografia semplice, due modi di scrivere e informazioni concrete. */
.contact-opening{max-width:1280px;box-sizing:border-box;margin:auto;padding:42px 32px 64px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:center;color:var(--green)}
.contact-opening-copy .eyebrow{font-size:10px;letter-spacing:.14em}
.contact-opening h1{font:400 clamp(42px,4.7vw,66px)/1.1 var(--serif);letter-spacing:-.035em;margin:17px 0 22px}
.contact-opening p{font:400 15px/1.7 var(--sans);max-width:350px;color:#566153;margin:0}
.contact-opening-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.contact-opening-actions>a{font:500 13px/1.3 var(--sans);min-height:46px;padding:12px 24px;letter-spacing:0;text-transform:none;border-radius:4px}
.contact-opening-photo{margin:0;min-width:0}
.contact-opening-photo img{display:block;width:100%;height:360px;object-fit:cover;border-radius:5px}
.contact-opening-photo figcaption{font:400 11px/1.5 var(--sans);color:#687164;margin-top:10px}
.contact-layout{max-width:1280px;box-sizing:border-box;margin:auto;padding:0 32px 80px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:start;color:var(--green)}
.contact-layout .contact-details,.contact-layout .quote-form{opacity:1;transform:none;transition:none}
.contact-details{padding:22px 0 0;scroll-margin-top:90px}
.contact-details>.eyebrow{font-size:10px;letter-spacing:.14em}
.contact-details>section{padding:23px 0;border-bottom:1px solid #ccd1c5}
.contact-details>section:first-of-type{padding-top:15px}
.contact-details h2{font:400 27px/1.25 var(--serif);letter-spacing:-.025em;margin:0 0 18px;color:var(--green);max-width:310px}
.contact-details p{margin:0 0 16px;font-size:14px;line-height:1.7}
.contact-address span{font-size:12px;color:#687164}
.contact-visit .text-link{font:400 12px/1.5 var(--sans);border:0;text-decoration:underline;text-underline-offset:5px}
.contact-hours{scroll-margin-top:90px}
.contact-hours dl{margin:0}.contact-hours dl>div{display:grid;grid-template-columns:1fr auto;gap:20px;margin-bottom:12px;font:400 13px/1.6 var(--sans)}.contact-hours dl>div:last-child{margin-bottom:0}.contact-hours dt{color:#687164}.contact-hours dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.contact-direct>a{display:block;width:fit-content;max-width:100%;margin-bottom:10px;color:var(--green);font-size:14px;line-height:1.5;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px}
.contact-details .contact-company{font:400 11px/1.7 var(--sans);color:#687164;margin:22px 0 0}
.contact-layout .quote-form{display:flex;flex-direction:column;gap:19px;min-width:0;background:#fbfaf7;border:1px solid #d4d8ce;border-radius:5px;padding:30px;box-sizing:border-box;scroll-margin-top:90px}
.contact-layout .quote-form>.eyebrow{font-size:9px;letter-spacing:.12em}
.contact-layout .quote-form h2{font:400 32px/1.2 var(--serif);letter-spacing:-.025em;margin:-7px 0 0;color:var(--green)}
.contact-form-intro{font:400 13px/1.6 var(--sans);color:#687164;margin:-7px 0 3px;max-width:420px}
.contact-layout .quote-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;line-height:1.5;min-width:0;margin:0}
.contact-layout .quote-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0}
.contact-layout .quote-form input,.contact-layout .quote-form select,.contact-layout .quote-form textarea{box-sizing:border-box;width:100%;min-width:0;min-height:46px;padding:12px;border:1px solid #bec7b7;border-radius:4px;background:#fffefa;color:var(--green);font:400 16px/1.4 var(--sans)}
.contact-layout .quote-form textarea{resize:vertical;min-height:124px}
.contact-layout .field-optional,.contact-layout .quote-form small{font-size:11px;font-weight:400;line-height:1.5;color:#687164}
.contact-product-details{padding:15px 0;border-top:1px solid #d4d8ce;border-bottom:1px solid #d4d8ce}
.contact-product-details summary{font:400 12px/1.5 var(--sans);cursor:pointer;min-height:24px}
.contact-product-fields{display:flex;flex-direction:column;gap:16px;padding-top:18px}
.contact-layout .quote-form .privacy-check{display:flex;flex-direction:row;align-items:flex-start;gap:10px;margin:0;font-size:11px;font-weight:400;line-height:1.6}
.contact-layout .quote-form .privacy-check input{width:17px;height:17px;min-height:17px;flex:0 0 17px;padding:0;margin-top:2px;accent-color:var(--green)}
.contact-layout .quote-form .button-primary{width:100%;justify-content:center;min-height:48px;font:500 14px/1.3 var(--sans);letter-spacing:0;text-transform:none;border-radius:4px}
.contact-layout .quote-form .form-note{margin:-9px 0 0;font-size:11px;line-height:1.5;color:#687164}
.contact-layout a:focus-visible,.contact-layout summary:focus-visible,.contact-opening a:focus-visible{outline:2px solid var(--green);outline-offset:4px}
@media(max-width:1000px) and (min-width:761px){.contact-opening,.contact-layout{gap:32px;padding-inline:24px}.contact-opening-photo img{height:330px}.contact-layout .quote-form{padding:24px}.contact-opening h1{font-size:44px}}
@media(max-width:760px){
 .contact-opening{display:flex;flex-direction:column;align-items:stretch;padding:28px 20px 38px;gap:28px}
 .contact-opening h1{font-size:41px;line-height:1.1;margin:14px 0 18px}.contact-opening .eyebrow{font-size:9px}.contact-opening p{font-size:14px;max-width:340px}.contact-opening-actions{margin-top:22px;gap:10px}.contact-opening-actions>a{flex:1;padding:12px 18px}
 .contact-opening-photo img{height:220px;border-radius:4px}.contact-opening-photo figcaption{font-size:10px;margin-top:8px}
 .contact-layout{display:flex;flex-direction:column;padding:0 20px 48px;gap:38px}.contact-details{width:100%;padding:0}.contact-details>section{padding:22px 0}.contact-details h2{font-size:26px;max-width:300px}
 .contact-layout .quote-form{width:100%;padding:24px 18px;gap:18px;scroll-margin-top:70px}.contact-layout .quote-form h2{font-size:29px}.contact-layout .quote-form .field-row{grid-template-columns:1fr;gap:18px}
}
