/* Provantis contact — commercial dossier route */
.contact-2026 { --dm-navy:#0f1b2d; --dm-gold:#b8902a; --dm-gold-lt:#e1c56d; --dm-ivory:#faf8f2; --dm-muted:#596273; --dm-line:rgba(15,27,45,.14); background:var(--dm-ivory); color:var(--dm-navy); }
.contact-2026 a { text-decoration:none; }
.contact-shell { width:min(1280px, calc(100% - 96px)); margin:0 auto; }
.contact-hero { background:var(--dm-navy); color:var(--dm-ivory); padding:92px 0 104px; position:relative; overflow:hidden; }
.contact-hero::after { content:""; position:absolute; width:330px; height:330px; right:8%; bottom:-190px; border:1px solid rgba(225,197,109,.32); transform:rotate(45deg); }
.contact-hero .contact-shell { display:grid; grid-template-columns:minmax(0,1fr) 342px; gap:10vw; align-items:end; position:relative; z-index:1; }
.contact-eyebrow,.contact-channel-label,.contact-note-label,.contact-boundary-label { margin:0; color:var(--dm-gold); font-size:11px; font-weight:500; letter-spacing:.18em; text-transform:uppercase; }
.contact-hero h1,.contact-route-head h2,.contact-form-intro h2 { margin:18px 0 0; font-weight:500; letter-spacing:-.055em; line-height:.93; }
.contact-hero h1 { max-width:720px; font-size:clamp(45px,6.2vw,78px); color:var(--dm-ivory); }
.contact-lead { max-width:610px; margin:27px 0 0; color:#acb4bf; font-size:16px; line-height:1.75; }
.contact-response-note { border:1px solid rgba(250,248,242,.22); padding:27px 26px 24px; background:rgba(15,27,45,.38); }
.contact-note-label { color:var(--dm-gold-lt); }.contact-note-value { margin:24px 0 7px; font-size:30px; line-height:1; letter-spacing:-.04em; }.contact-note-copy,.contact-note-small { margin:0; color:#acb4bf; font-size:12px; line-height:1.6; }.contact-note-rule { height:1px; background:rgba(250,248,242,.18); margin:22px 0 10px; }.contact-note-small { text-transform:uppercase; letter-spacing:.1em; font-size:10px; }
.contact-main { padding:82px 0 88px; }.contact-route-head { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:end; padding-bottom:30px; border-bottom:1px solid var(--dm-line); }.contact-route-head h2,.contact-form-intro h2 { font-size:clamp(32px,4vw,54px); color:var(--dm-navy); }.contact-route-head > p { margin:0; max-width:500px; color:var(--dm-muted); font-size:15px; line-height:1.72; }
.contact-channels { display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--dm-line); }.contact-channel { padding:31px 32px 34px 0; min-height:210px; }.contact-channel + .contact-channel { border-left:1px solid var(--dm-line); padding-left:32px; }.contact-channel-index { color:var(--dm-gold); font-size:35px; line-height:1; letter-spacing:-.05em; margin:0 0 35px; }.contact-channel-label { color:var(--dm-muted); margin-bottom:10px; }.contact-channel a { color:var(--dm-navy); display:inline-block; font-size:16px; font-weight:500; line-height:1.35; border-bottom:1px solid var(--dm-gold); padding-bottom:3px; }.contact-channel a:hover { color:var(--dm-gold); }.contact-channel p:last-child { color:var(--dm-muted); font-size:12px; line-height:1.65; margin:12px 0 0; max-width:300px; }
.contact-enquiry-section { background:#e9e5da; padding:88px 0 96px; }.contact-enquiry-grid { display:grid; grid-template-columns:minmax(250px,.64fr) minmax(0,1.36fr); gap:9vw; align-items:start; }.contact-form-intro { padding-top:5px; }.contact-form-intro > p:not(.contact-eyebrow) { margin:25px 0 0; color:var(--dm-muted); font-size:14px; line-height:1.75; max-width:350px; }.contact-boundary { margin-top:38px; border-top:1px solid var(--dm-line); padding-top:18px; }.contact-boundary-label { color:var(--dm-muted); margin-bottom:10px; }.contact-boundary p:last-child { margin:0; color:var(--dm-muted); font-size:12px; line-height:1.7; }
.contact-form-panel { background:var(--dm-ivory); border:1px solid rgba(15,27,45,.22); padding:34px; }.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:23px 20px; }.contact-field--full,.contact-pilot-intro,.contact-consent,.contact-submit { grid-column:1 / -1; }.contact-field label { display:block; color:var(--dm-navy); font-size:11px; font-weight:500; letter-spacing:.11em; line-height:1.4; margin-bottom:8px; text-transform:uppercase; }.contact-field input,.contact-field select,.contact-field textarea { box-sizing:border-box; width:100%; background:transparent; border:0; border-bottom:1px solid rgba(15,27,45,.42); border-radius:0; color:var(--dm-navy); font:400 14px/1.45 var(--font-sans, sans-serif); padding:10px 0; transition:border-color .16s ease, background-color .16s ease; }.contact-field textarea { min-height:88px; resize:vertical; }.contact-field select { cursor:pointer; }.contact-field input::placeholder,.contact-field textarea::placeholder { color:#7b8490; opacity:1; }.contact-field input:hover,.contact-field select:hover,.contact-field textarea:hover { border-bottom-color:var(--dm-gold); }.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus { border-bottom:2px solid var(--dm-gold); outline:none; padding-bottom:9px; }.contact-field input:focus-visible,.contact-field select:focus-visible,.contact-field textarea:focus-visible,.contact-submit button:focus-visible,.contact-channel a:focus-visible { outline:3px solid rgba(184,144,42,.55); outline-offset:4px; }
.contact-pilot-intro { border-top:1px solid var(--dm-line); padding-top:20px; }.contact-pilot-intro p { color:var(--dm-navy); font-size:12px; font-weight:500; letter-spacing:.13em; margin:0 0 6px; text-transform:uppercase; }.contact-pilot-intro span { color:var(--dm-muted); font-size:12px; line-height:1.6; }.contact-consent { color:var(--dm-muted); font-size:12px; line-height:1.6; }.contact-consent label { color:var(--dm-muted); }.contact-consent input { accent-color:var(--dm-gold); }.contact-submit { border-top:1px solid var(--dm-line); padding-top:24px; }.contact-submit button { appearance:none; background:var(--dm-navy); border:1px solid var(--dm-navy); border-radius:0; color:var(--dm-ivory); cursor:pointer; font:500 12px/1 var(--font-sans, sans-serif); letter-spacing:.14em; min-height:46px; padding:0 23px; text-transform:uppercase; transition:background-color .16s ease,border-color .16s ease,transform .16s ease; }.contact-submit button:hover { background:var(--dm-gold); border-color:var(--dm-gold); color:var(--dm-navy); transform:translateY(-2px); }.contact-submit button:active { transform:translateY(0); }
@media (max-width:800px) { .contact-shell { width:min(100% - 48px, 640px); }.contact-hero { padding:64px 0 70px; }.contact-hero .contact-shell,.contact-route-head,.contact-enquiry-grid { grid-template-columns:1fr; gap:35px; }.contact-response-note { max-width:360px; }.contact-main,.contact-enquiry-section { padding:58px 0 64px; }.contact-channels { grid-template-columns:1fr; }.contact-channel { min-height:0; padding:25px 0; }.contact-channel + .contact-channel { border-left:0; border-top:1px solid var(--dm-line); padding-left:0; }.contact-channel-index { margin-bottom:22px; }.contact-enquiry-grid { gap:42px; }.contact-form-panel { padding:26px 22px; } }
@media (max-width:540px) { .contact-shell { width:calc(100% - 32px); }.contact-hero h1 { font-size:43px; }.contact-form { grid-template-columns:1fr; gap:21px; }.contact-field--full,.contact-pilot-intro,.contact-consent,.contact-submit { grid-column:auto; }.contact-form-panel { padding:24px 18px; }.contact-route-head h2,.contact-form-intro h2 { font-size:34px; } }
@media (prefers-reduced-motion:reduce) { .contact-2026 *, .contact-2026 *::before, .contact-2026 *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; } }