/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V4 */
/* Hallmark · genre: editorial-human · macrostructure: Contact Room · theme: Iconic Original · enrichment: typography only · contrast: pass (40–41) · nav: shared · footer: shared */
body[data-page="contatti"] main{background:var(--color-paper)}
body[data-page="contatti"] .page-main{padding-top:0}
body[data-page="contatti"] h1,body[data-page="contatti"] h2{font-style:normal;overflow-wrap:anywhere;min-width:0}
body[data-page="contatti"].dark-header .site-header:not(.scrolled){color:var(--color-paper)}
body[data-page="contatti"].dark-header .site-header:not(.scrolled) .brand img{filter:invert(1)}
body[data-page="contatti"].menu-open .site-header{color:var(--color-ink)}
body[data-page="contatti"].menu-open .site-header .brand img{filter:none}
.contact-breadcrumbs{display:none}
.contact-hero{position:relative;min-height:86svh;display:flex;align-items:flex-end;padding:9rem 7vw 12rem;overflow:clip;color:var(--color-paper);background:var(--color-ink)}
.contact-hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.contact-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,var(--color-stage-shade) 0%,var(--color-ink-overlay) 42%,var(--color-stage-clear) 88%)}
.contact-hero-copy{position:relative;z-index:1;width:min(78rem,86vw)}
.contact-eyebrow{display:flex;align-items:center;gap:var(--space-md);margin:0 0 var(--space-xl);font-size:var(--text-xs);font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.contact-eyebrow::before{content:"";width:3rem;height:var(--rule-hairline);background:currentColor;opacity:.62}
.contact-hero h1{max-width:11ch;margin:0;font:400 clamp(4.6rem,9.4vw,10rem)/.86 var(--font-display);letter-spacing:-.06em}
.contact-hero-lead{max-width:44rem;margin:var(--space-xl) 0 0;color:var(--color-paper-muted);font-size:clamp(1.04rem,1.55vw,1.28rem);font-weight:300;line-height:1.68}
.contact-hero-note{position:absolute;right:7vw;bottom:var(--space-xl);z-index:1;margin:0;font-size:var(--text-xs);letter-spacing:.13em;text-transform:uppercase}
.contact-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:stretch;background:var(--color-paper)}
.contact-details{padding:9rem 7vw;background:var(--color-paper-2)}
.contact-kicker,.contact-form-heading>p{margin:0 0 var(--space-lg);font-size:var(--text-xs);font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.contact-details h2{max-width:12ch;margin:0 0 var(--space-3xl);font:400 clamp(2.8rem,4.8vw,5.4rem)/.96 var(--font-display);letter-spacing:-.045em}
.contact-company-logo{display:block;width:8.5rem;height:auto;margin:0 0 var(--space-xl)}
.contact-identity{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:var(--space-lg);align-items:start}
.contact-identity strong{font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase}
.contact-identity p{margin:0;color:var(--color-ink-soft);line-height:1.6}
.contact-divider{height:var(--rule-hairline);margin:var(--space-xl) 0;background:var(--color-rule)}
.contact-info-row{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:var(--space-lg);align-items:baseline;padding:var(--space-md) 0;border-top:var(--rule-hairline) solid var(--color-rule)}
.contact-info-row:last-of-type{border-bottom:var(--rule-hairline) solid var(--color-rule)}
.contact-info-row>span{font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.contact-info-row a{min-width:0;color:var(--color-ink);font-size:clamp(.94rem,1.5vw,1.22rem);white-space:nowrap;text-decoration:none}
.contact-info-row a:hover,.contact-details .text-link:hover{color:var(--color-accent-ink)}
.contact-info-row a:focus-visible,.contact-details .text-link:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}
.contact-details .copy{max-width:46ch;margin:0;color:var(--color-ink-soft);font-weight:300;line-height:1.65}
.contact-details .text-link{color:var(--color-ink);text-decoration-line:underline;text-decoration-thickness:var(--rule-hairline);text-underline-offset:.24em}
.contact-form-panel{display:flex;flex-direction:column;justify-content:center;padding:9rem 8vw;background:var(--color-paper)}
.contact-form-heading{margin-bottom:var(--space-3xl)}
.contact-form-heading h2{max-width:11ch;margin:0;font:400 clamp(3rem,5vw,5.8rem)/.95 var(--font-display);letter-spacing:-.045em}
.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl) var(--space-lg)}
.contact-trap{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.contact-form .field{position:relative;margin:0}
.contact-form .field:nth-of-type(4),.contact-form .field:nth-of-type(5),.contact-form .privacy-field,.contact-form .form-actions,.contact-form .form-status{grid-column:1/-1}
.contact-form label{display:block;margin-bottom:var(--space-sm);color:var(--color-ink-soft);font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.contact-form input:not([type="checkbox"]),.contact-form textarea{width:100%;border:0;border-bottom:var(--rule-hairline) solid var(--color-rule);border-radius:0;outline:2px solid transparent;outline-offset:1px;padding:var(--space-md) 0;color:var(--color-ink);background:transparent;font:400 var(--text-md)/1.5 var(--font-body);transition:border-color var(--dur-short)}
.contact-form textarea{min-height:9rem;resize:vertical}
.contact-form input:not([type="checkbox"]):hover,.contact-form textarea:hover{border-color:var(--color-ink-soft)}
.contact-form input:not([type="checkbox"]):focus-visible,.contact-form textarea:focus-visible{outline-color:var(--color-focus);border-color:var(--color-focus)}
.contact-form input:not([type="checkbox"]):disabled,.contact-form textarea:disabled{opacity:.55;cursor:not-allowed;background:var(--color-paper-2)}
.contact-form ::placeholder{color:var(--color-rule)}
.contact-form .field-optional{font-weight:400;letter-spacing:0;text-transform:none}
.privacy-check{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:var(--space-sm);align-items:start;margin:0!important;color:var(--color-ink-soft)!important;font-weight:400!important;letter-spacing:0!important;line-height:1.55;text-transform:none!important}
.privacy-check input{width:1.05rem;height:1.05rem;margin:.18rem 0 0;accent-color:var(--color-ink)}
.privacy-check a{color:var(--color-ink);text-underline-offset:.2em}
.field-error,.form-status{min-height:1.2em;margin:var(--space-xs) 0 0;color:var(--color-focus);font-size:var(--text-xs)}
.contact-submit,.contact-secondary-action{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-xl);min-height:3.6rem;border:var(--rule-hairline) solid var(--color-ink);border-radius:0;padding:0 var(--space-lg);font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;line-height:1;text-transform:uppercase;white-space:nowrap;transition:color var(--dur-short),background-color var(--dur-short),transform var(--dur-micro)}
.contact-submit{width:min(100%,22rem);color:var(--color-paper);background:var(--color-ink)}
.contact-submit:hover{color:var(--color-ink);background:var(--color-accent)}
.contact-submit:focus-visible,.contact-secondary-action:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}
.contact-submit:active,.contact-secondary-action:active{transform:translateY(1px)}
.contact-submit:disabled{opacity:.55;cursor:not-allowed;background:var(--color-ink-soft)}
.contact-secondary-action[aria-disabled="true"]{opacity:.55;cursor:not-allowed;pointer-events:none}
.contact-closing{padding:10rem 7vw;text-align:center;color:var(--color-paper);background:var(--color-ink)}
.contact-closing .contact-eyebrow{justify-content:center}
.contact-closing blockquote{max-width:18ch;margin:0 auto;font:400 clamp(3rem,6vw,7rem)/.94 var(--font-display);letter-spacing:-.045em}
.contact-secondary-action{margin-top:var(--space-3xl);color:var(--color-paper);border-color:var(--color-paper)}
.contact-secondary-action:hover{color:var(--color-ink);background:var(--color-paper)}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr}.contact-details,.contact-form-panel{padding-block:7rem}.contact-form-panel{padding-inline:7vw}}
@media(max-width:700px){html,body{overflow-x:clip}.contact-hero{min-height:48rem;padding:7rem 7vw 10rem}.contact-hero-media{object-position:58% center}.contact-hero h1{font-size:clamp(4rem,19vw,6.2rem)}.contact-hero-note{position:relative;right:auto;bottom:auto;margin:var(--space-2xl) 0 0;z-index:1}.contact-details,.contact-form-panel{padding-block:6rem}.contact-details h2,.contact-form-heading h2{font-size:clamp(2.8rem,13vw,4.6rem)}.contact-identity,.contact-info-row{grid-template-columns:1fr;gap:var(--space-xs)}.contact-form{grid-template-columns:1fr}.contact-form .field:nth-of-type(4),.contact-form .field:nth-of-type(5),.contact-form .privacy-field,.contact-form .form-actions,.contact-form .form-status{grid-column:auto}.contact-submit{width:100%}.contact-closing{padding-block:7rem}.contact-secondary-action{max-width:100%}}
@media(prefers-reduced-motion:reduce){.contact-submit,.contact-secondary-action{transition:none;transform:none}}
