html{scroll-behavior:smooth}.contact-page{background:#0c1115;color:#FFFFFF}.contact-page h1,.contact-page h2,.contact-page h3{font-weight:400;letter-spacing:-.045em;white-space:normal;margin:0}.contact-page h1{font-size:clamp(48px,5.8vw,88px);line-height:1.08}.contact-page h2{font-size:clamp(34px,3.5vw,52px);line-height:1.12}.contact-page em{font-style:normal;color:var(--brand-primary)}.contact-page .product-eyebrow{font-size:12px;letter-spacing:.15em;margin:0 0 28px}.ct-section{padding:85px var(--site-gutter)}.ct-hero{padding-top:125px;padding-bottom:85px}.ct-lead{font-size:17px;line-height:1.75;color:rgba(255,255,255,0.72);margin:28px 0;max-width:620px}.ct-button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:var(--brand-primary);color:#0c1115;font-size:14px;line-height:1.5;text-decoration:none;padding:16px 21px;border:0;transition:background .2s}.ct-button:hover{background:#CCF47B}.ct-help{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);gap:clamp(38px,6vw,90px);border-top:1px solid rgba(255,255,255,0.12)}.ct-tabs{display:flex;flex-direction:column}.ct-tab{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:24px 0;border:0;border-bottom:1px solid rgba(255,255,255,0.12);background:none;color:rgba(255,255,255,0.72);text-align:left;font:inherit;font-size:18px;line-height:1.5;cursor:pointer;transition:color .18s}.ct-tab span{font-size:17px}.ct-tab[aria-selected=true],.ct-tab:hover{color:var(--brand-primary)}.ct-panel{padding:clamp(26px,3vw,44px);background:#212632;border:1px solid rgba(255,255,255,0.12)}.ct-panel h2{font-size:clamp(28px,2.8vw,40px)}.ct-panel .ct-lead{font-size:16px;margin:24px 0 30px;min-height:84px}.ct-panel-copy.is-changing{animation:ct-fade .22s ease both}.ct-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}.ct-form label{display:flex;flex-direction:column;gap:9px;color:rgba(255,255,255,0.72);font-size:14px;line-height:1.5}.ct-form .ct-wide{grid-column:1/-1}.ct-form input:not([type=checkbox]),.ct-form textarea{width:100%;max-width:100%;min-width:0;color:#FFFFFF;background:#0e171c;border:1px solid rgba(255,255,255,0.12);border-radius:0;padding:13px 14px;font:inherit;font-size:16px;outline-offset:3px}.ct-form textarea{min-height:124px;resize:vertical}.ct-form .ct-privacy{flex-direction:row;align-items:flex-start;gap:12px;color:rgba(255,255,255,0.72);font-size:13px}.ct-privacy input{width:16px;height:16px;flex-shrink:0;margin:2px 0 0;accent-color:var(--brand-primary)}.ct-privacy a{color:inherit;text-underline-offset:3px}.ct-form .ct-button{justify-self:start}.ct-form-note{grid-column:1/-1;font-size:12px;line-height:1.65;color:rgba(255,255,255,0.72);margin:-8px 0 0}.ct-offices{border-top:1px solid rgba(255,255,255,0.12);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(40px,7vw,105px);scroll-margin-top:25px}.ct-offices .ct-lead{margin-bottom:22px}.ct-globe{position:relative;width:100%;max-width:640px;aspect-ratio:1/1;margin:0}.ct-globe canvas{display:block;width:100%;height:100%;max-width:100%}.ct-globe figcaption{text-align:center;font:10px/1.6 monospace;letter-spacing:.14em;color:rgba(255,255,255,0.72)}.ct-globe-caption{font-size:12px;line-height:1.6;color:rgba(255,255,255,0.72);margin:30px 0 0}.ct-office-list{align-self:center;padding-top:100px}.ct-office{border-top:1px solid rgba(255,255,255,0.12);padding:24px 0 28px}.ct-office-select{display:block;position:relative;width:100%;text-align:left;padding:0 0 0 18px;border:0;background:none;color:inherit;cursor:pointer}.ct-office-select::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:transparent;transition:background .2s}.ct-office-select[aria-pressed=true]::before{background:var(--brand-primary)}.ct-office-select>span{display:block;font:11px/1.6 monospace;color:rgba(255,255,255,0.72);letter-spacing:.06em;margin-bottom:10px}.ct-office-select strong{display:block;font-size:27px;line-height:1.25;font-weight:400;letter-spacing:-.03em;transition:color .2s}.ct-office-select[aria-pressed=true] strong,.ct-office-select:hover strong{color:var(--brand-primary)}.ct-office-select small{display:block;font-size:13px;line-height:1.6;color:rgba(255,255,255,0.72);margin-top:9px}.ct-office address{font-style:normal;font-size:15px;line-height:1.8;color:rgba(255,255,255,0.72);margin:20px 0 18px 18px}.ct-office>a{display:inline-block;margin-left:18px;font-size:13px;line-height:1.5;color:#FFFFFF;text-decoration:none;border-bottom:1px solid #CCF47B;padding-bottom:8px}.ct-office>a:hover{color:var(--brand-primary)}.contact-page :is(a,button,input,textarea):focus-visible{outline:2px solid var(--brand-primary);outline-offset:5px}@keyframes ct-fade{from{opacity:.4}to{opacity:1}}@media(max-width:1000px){.ct-section{padding-block:65px}.ct-hero{padding-top:105px}.ct-help{gap:35px;grid-template-columns:minmax(0,.38fr) minmax(0,.62fr)}.ct-tab{font-size:16px}.ct-offices{gap:36px;grid-template-columns:1.2fr 1fr}.ct-office-list{padding-top:80px}.ct-panel .ct-lead{min-height:110px}}@media(max-width:760px){.ct-section{padding-block:60px}.ct-hero{padding-top:85px}.contact-page h1{font-size:clamp(42px,8vw,62px)}.contact-page h2{font-size:36px}.ct-help,.ct-offices{grid-template-columns:1fr;gap:38px}.ct-tab{padding:18px 0}.ct-panel{padding:26px 22px}.ct-panel h2{font-size:32px}.ct-panel .ct-lead{min-height:0}.ct-office-list{padding-top:0;align-self:start}.ct-globe{max-width:540px;margin-inline:auto}.ct-globe-caption{margin-top:28px}.ct-form{gap:20px 16px}.ct-form-note{margin-top:0}}@media(max-width:440px){.ct-form{grid-template-columns:1fr}.ct-form label{grid-column:1/-1}.ct-button{font-size:13px;gap:16px}.contact-page h1{font-size:42px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.contact-page *, .contact-page *::before{animation:none!important;transition:none!important}}

.ct-globe canvas{touch-action:none;cursor:grab}.ct-globe canvas.is-dragging{cursor:grabbing}.ct-globe canvas:focus-visible{outline:1px solid #CCF47B;outline-offset:4px}

/* Official dark palette: color roles only. */
.ct-form label{color:#FFFFFF}.ct-form input::placeholder,.ct-form textarea::placeholder{color:rgba(255,255,255,.5)}.ct-button:hover{background:color-mix(in srgb,var(--brand-primary) 85%,white)}

/* =========================================================
   CONTACT FORM 7 — LAYOUT FIX
========================================================= */

.ct-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px 30px;
  width: 100%;
}

/* CF7 aggiunge i <p>: diventano loro gli elementi della griglia */
.ct-form > p {
  margin: 0;
  min-width: 0;
}

/* Rimuove i <br> generati da CF7 */
.ct-form > p > br,
.ct-form label > br {
  display: none;
}

/* Label */
.ct-form label {
  display: block;
  width: 100%;
  margin: 0;
}

/* Wrapper CF7 */
.ct-form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
  margin-top: 10px;
}

/* Campi */
.ct-form input[type="text"],
.ct-form input[type="email"],
.ct-form textarea {
  width: 100%;
  box-sizing: border-box;
}

/* =========================================================
   CAMPI FULL WIDTH
========================================================= */

/* Company */
.ct-form > p:has(#contact-company) {
  grid-column: 1 / -1;
}

/* Message */
.ct-form > p:has(#contact-message) {
  grid-column: 1 / -1;
}

/* Privacy */
.ct-form > p:has(#contact-privacy) {
  grid-column: 1 / -1;
}

/* Submit */
.ct-form > p:has(.wpcf7-submit) {
  grid-column: 1 / -1;
}

/* =========================================================
   COMPANY
========================================================= */

.ct-form #contact-company {
  width: 100%;
}

/* =========================================================
   MESSAGE
========================================================= */

.ct-form #contact-message {
  display: block;
  width: 100%;
  min-height: 170px;
  resize: vertical;
}

/* =========================================================
   PRIVACY
========================================================= */

.ct-form .ct-privacy {
  display: block;
}

.ct-form .ct-privacy .wpcf7-form-control-wrap {
  margin-top: 0;
}

.ct-form .ct-privacy .wpcf7-list-item {
  margin: 0;
}

.ct-form .ct-privacy .wpcf7-list-item > label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.ct-form .ct-privacy input[type="checkbox"] {
  flex: 0 0 auto;
  margin: 3px 0 0;
}

/* =========================================================
   SUBMIT
========================================================= */

.ct-form .wpcf7-submit {
  width: 100%;
}

/* =========================================================
   CF7 RESPONSE
========================================================= */

.wpcf7 .wpcf7-response-output {
  margin: 24px 0 0;
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

  .ct-form {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .ct-form > p,
  .ct-form > p:has(#contact-company),
  .ct-form > p:has(#contact-message),
  .ct-form > p:has(#contact-privacy),
  .ct-form > p:has(.wpcf7-submit) {
    grid-column: 1;
  }

}