.v2 .contact-page { padding-block:32px var(--ds-section-gap); }
.v2 .contact-layout { display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); gap:clamp(24px,4vw,64px); align-items:start; }
.v2 .contact-form-card { grid-column:2; grid-row:1; padding:clamp(24px,3.3vw,48px); background:#fff; border:1px solid #e3e6e3; border-radius:var(--ds-radius); min-width:0; }
.v2 .contact-form-card>header { margin-bottom:32px; }
.v2 .contact-form-card h1 { font-size:var(--ds-display); line-height:1.1; margin-block:12px 16px; }
.v2 .contact-form-card>header p { color:var(--v2-muted); font-size:var(--ds-body); line-height:1.6; max-width:48ch; }
.v2 #contact-form fieldset { border:0; padding:0; margin:0 0 32px; min-width:0; }
.v2 #contact-form legend { font-size:var(--ds-body); font-weight:500; margin-bottom:20px; padding:0; }
.v2 .contact-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 16px; }
.v2 .contact-field { display:flex; flex-direction:column; gap:8px; margin-bottom:18px; min-width:0; }
.v2 .contact-field label { font-size:var(--ds-label); color:#3c4647; line-height:1.4; }
.v2 .contact-field label>span { color:#767f7d; font-size:var(--ds-meta); }
.v2 .contact-field :is(input,select,textarea) { font:400 1rem/1.5 var(--ds-font); color:var(--v2-fg); border:1px solid #d1d7d4; background:#fafbf9; border-radius:10px; padding:12px 14px; width:100%; min-width:0; min-height:48px; transition:border-color var(--ds-fast),background var(--ds-fast); }
.v2 .contact-field select { padding-right:24px; text-overflow:ellipsis; }
.v2 .contact-field textarea { resize:vertical; min-height:128px; }
.v2 .contact-field ::placeholder { color:#858f8c; opacity:1; }
.v2 .contact-field :is(input,select,textarea):focus { background:#fff; border-color:var(--v2-accent); outline:2px solid #1d54e226; outline-offset:2px; }
.v2 .contact-field [aria-invalid=true] { border-color:#a93732; }
.v2 .field-error { font-size:var(--ds-meta); color:#a02f28; line-height:1.5; }
.v2 .field-error:empty { display:none; }
.v2 .contact-consent { display:flex; align-items:start; gap:10px; font-size:var(--ds-label); cursor:pointer; margin-bottom:24px; }
.v2 .contact-consent input { width:18px; height:18px; margin:2px 0 0; flex:none; accent-color:var(--v2-accent); }
.v2 .contact-verification { overflow:hidden; display:grid; gap:8px; margin-bottom:24px; }
.v2 .contact-submit-row { display:flex; flex-direction:column; align-items:start; gap:20px; border-top:1px solid var(--v2-line); padding-top:24px; }
.v2 .contact-submit-row p,.v2 .contact-noscript { font-size:var(--ds-meta); color:var(--v2-muted); line-height:1.5; }
.v2 .contact-submit-row a,.v2 .contact-noscript a { text-decoration:underline; text-underline-offset:3px; }
.v2 .contact-submit-row .btn { min-width:200px; }
.v2 .contact-submit-row .btn:disabled { opacity:.65; cursor:wait; }
.v2 .contact-status { background:#fff0ec; border-radius:10px; color:#8b3028; padding:14px; margin-bottom:20px; font-size:var(--ds-label); }
.v2 .contact-page [hidden] { display:none!important; }
.v2 .contact-aside { grid-column:1; grid-row:1; min-width:0; }
.v2 .contact-intro { padding:clamp(28px,3vw,44px); border-radius:var(--ds-radius); color:#fff; display:flex; flex-direction:column; align-items:start; gap:28px; }
.v2 .contact-intro .library-label { color:#c3d3fa; }
.v2 .contact-intro h2 { font-size:var(--ds-heading); line-height:1.12; max-width:13ch; }
.v2 .contact-intro p { font-size:var(--ds-copy); line-height:1.6; color:#d7e2fd; max-width:36ch; }
.v2 .contact-intro>a { border-top:1px solid #ffffff40; padding-top:24px; margin-top:8px; width:100%; display:flex; justify-content:space-between; gap:16px; font-size:var(--ds-body); }
.v2 .contact-next { margin-top:40px; padding-inline:12px; }
.v2 .contact-next>h2 { font-size:var(--ds-compact-heading); }
.v2 .contact-next ol { list-style:none; padding:0; margin:24px 0 0; }
.v2 .contact-next li { display:grid; grid-template-columns:28px 1fr; gap:20px; border-top:1px solid var(--v2-line); padding-block:22px; }
.v2 .contact-next li>span { color:#687783; font-size:var(--ds-meta); padding-top:2px; }
.v2 .contact-next h3 { font-size:var(--ds-body); line-height:1.4; letter-spacing:-.015em; font-weight:500; }
.v2 .contact-next p { color:var(--v2-muted); font-size:var(--ds-label); line-height:1.6; margin-top:8px; max-width:40ch; }
.v2 .contact-proof { padding:28px 12px; border-top:1px solid var(--v2-line); }
.v2 .contact-proof>p { color:var(--v2-muted); font-size:var(--ds-label); margin-bottom:24px; }
.v2 .contact-proof>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:center; }
.v2 .contact-proof img { width:100%; height:52px; object-fit:contain; mix-blend-mode:multiply; }
@media(max-width:960px) { .v2 .contact-layout { grid-template-columns:1fr; max-width:760px; gap:32px; } .v2 .contact-form-card { grid-column:1; grid-row:1; } .v2 .contact-aside { grid-column:1; grid-row:2; } .v2 .contact-intro h2 { max-width:20ch; } .v2 .contact-intro p { max-width:48ch; } }
@media(max-width:560px) { .v2 .contact-page { padding-top:16px; } .v2 .contact-layout.library-wrap { padding-inline:16px; } .v2 .contact-form-card { padding:24px 20px; } .v2 .contact-form-card>header { margin-bottom:28px; } .v2 .contact-form-card h1 { font-size:2.5rem; } .v2 .contact-fields { gap:0 12px; } .v2 .contact-fields .contact-field:has([type=email]),.v2 .contact-fields .contact-field:has([name=company_name]),.v2 .contact-fields .contact-field:has([name=planning_timeline]),.v2 .contact-fields .contact-field:has([name=budget]),.v2 .contact-fields .contact-field:has([type=tel]),.v2 .contact-fields .contact-field:has([name=country]) { grid-column:1/-1; } .v2 .contact-submit-row .btn { width:100%; } .v2 .contact-proof>div { gap:18px; } }
@media(max-width:360px) { .v2 .contact-form-card { padding-inline:16px; } .v2 .g-recaptcha { transform:scale(.8); transform-origin:left top; width:304px; height:64px; } }
