.rd-contact-page { background:#050b12; color:#fff; }
.rd-contact-page__hero { position:relative; isolation:isolate; display:flex; min-height:min(740px,82vh); align-items:flex-end; overflow:hidden; background:#050b12; }
.rd-contact-page__hero-image,.rd-contact-page__hero-overlay { position:absolute; inset:0; pointer-events:none; }
.rd-contact-page__hero-image { z-index:-2; background:center top/cover no-repeat; }
.rd-contact-page__hero-overlay { z-index:-1; background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.62) 48%,rgba(0,0,0,.16)),linear-gradient(0deg,#050b12,transparent 35%); }
.rd-contact-page__container { width:min(1200px,calc(100% - 40px)); margin:0 auto; }
.rd-contact-page__hero-content { padding:clamp(96px,14vh,150px) 0 clamp(72px,10vh,110px); }
.rd-contact-page__eyebrow { margin-bottom:12px; }
.rd-contact-page__title { max-width:900px; margin:0; color:#fff; font-size:clamp(3rem,5vw,4rem); font-weight:500; letter-spacing:-.035em; line-height:1.05; }
.rd-contact-page__main { padding:64px 0 120px; background:#000; }
.rd-contact-page__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:start; }
.rd-contact-page__content { display:flex; flex-direction:column; gap:40px; }
.rd-contact-page__copy-section h2 { margin:0 0 12px; font-size:clamp(2.3rem,4vw,3rem); font-weight:500; letter-spacing:-.04em; line-height:1.2; background:linear-gradient(90deg,#fff 6.96%,#50828e 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.rd-contact-page__copy-section p,.rd-contact-page__copy-section li { color:#cacfd8; font-size:16px; line-height:1.5; }
.rd-contact-page__copy-section p { margin:0 0 14px; }
.rd-contact-page__copy-section p:last-child { margin-bottom:0; }
.rd-contact-page__copy-section ul { display:flex; flex-direction:column; gap:10px; margin:0 0 14px; padding:0; list-style:none; }
.rd-contact-page__copy-section li { position:relative; padding-left:20px; }
.rd-contact-page__copy-section li::before { position:absolute; top:.62em; left:0; width:6px; height:6px; border-radius:50%; background:#5e949f; content:""; }
.rd-contact-page__copy-section a { color:#5e949f; text-decoration:none; }
.rd-contact-page__copy-section a:hover { color:#fff; }
.rd-contact-page__form { min-width:0; }
.rd-contact-page .frm-fluent-form { display:flex; flex-direction:column; gap:26px; }
.rd-contact-page .frm-fluent-form > fieldset { display:flex; flex-direction:column; gap:26px; min-width:0; margin:0; padding:0; border:0; }
.rd-contact-page .frm-fluent-form .ff-el-group { position:relative; margin:0; }
.rd-contact-page .frm-fluent-form .ff-el-input--label { margin-bottom:8px; }
.rd-contact-page .frm-fluent-form .ff-el-input--label label { color:rgba(255,255,255,.8); font:500 14px/20px Inter,ui-sans-serif,sans-serif; letter-spacing:-.01em; }
.rd-contact-page .frm-fluent-form .ff-el-input--label label .ff-el-required-asterisk { margin-left:3px; color:#f8333c; font-weight:400; }
.rd-contact-page .frm-fluent-form input[type="text"],.rd-contact-page .frm-fluent-form input[type="email"],.rd-contact-page .frm-fluent-form input[type="tel"],.rd-contact-page .frm-fluent-form textarea { width:100%; box-sizing:border-box; border:1px solid #525866; border-radius:12px; padding:10px 16px; background:#000; box-shadow:none; color:#fff; font:400 14px/20px Inter,ui-sans-serif,sans-serif; transition:border-color 180ms ease,background-color 180ms ease,box-shadow 180ms ease; }
.rd-contact-page .frm-fluent-form .rd-contact-form__field--email input,.rd-contact-page .frm-fluent-form .ff-el-group:has(input[name="first_name"]) input,.rd-contact-page .frm-fluent-form .ff-el-group:has(input[name="last_name"]) input,.rd-contact-page .frm-fluent-form .ff-el-group:has(input[name="phone"]) input,.rd-contact-page .frm-fluent-form .ff-el-group:has(input[name="company"]) input { padding-left:48px; }
.rd-contact-page .frm-fluent-form .rd-contact-form__field--email::before,.rd-contact-page .frm-fluent-form .ff-el-group:has(input[name="first_name"])::before,.rd-contact-page .frm-fluent-form .ff-el-group:has(input[name="last_name"])::before,.rd-contact-page .frm-fluent-form .ff-el-group:has(input[name="phone"])::before,.rd-contact-page .frm-fluent-form .ff-el-group:has(input[name="company"])::before { position:absolute; z-index:1; top:37px; left:16px; width:24px; height:24px; background-color:#717784; background-repeat:no-repeat; background-position:center; background-size:contain; content:""; pointer-events:none; transition:background-color 180ms ease; }
.rd-contact-page .frm-fluent-form .rd-contact-form__field--email::before { -webkit-mask:url("../../assets/images/contact/Envelope.svg") center/contain no-repeat; mask:url("../../assets/images/contact/Envelope.svg") center/contain no-repeat; }
.rd-contact-page .frm-fluent-form .ff-el-group:has(input[name="first_name"])::before,.rd-contact-page .frm-fluent-form .ff-el-group:has(input[name="last_name"])::before { -webkit-mask:url("../../assets/images/contact/UserList.svg") center/contain no-repeat; mask:url("../../assets/images/contact/UserList.svg") center/contain no-repeat; }
.rd-contact-page .frm-fluent-form .ff-el-group:has(input[name="phone"])::before { -webkit-mask:url("../../assets/images/contact/Phone.svg") center/contain no-repeat; mask:url("../../assets/images/contact/Phone.svg") center/contain no-repeat; }
.rd-contact-page .frm-fluent-form .ff-el-group:has(input[name="company"])::before { -webkit-mask:url("../../assets/images/contact/Buildings.svg") center/contain no-repeat; mask:url("../../assets/images/contact/Buildings.svg") center/contain no-repeat; }
.rd-contact-page .frm-fluent-form .ff-el-group:has(input:not(:placeholder-shown))::before { background-color:#fff; }
.rd-contact-page .frm-fluent-form input::placeholder,.rd-contact-page .frm-fluent-form textarea::placeholder { color:rgba(255,255,255,.5); opacity:1; }
.rd-contact-page .frm-fluent-form input:hover,.rd-contact-page .frm-fluent-form textarea:hover { border-color:#717784; background:#07090c; }
.rd-contact-page .frm-fluent-form input:focus,.rd-contact-page .frm-fluent-form textarea:focus { border-color:#fff; box-shadow:0 0 0 3px rgba(94,148,159,.2); outline:0; }
.rd-contact-page .frm-fluent-form textarea { min-height:120px; resize:vertical; line-height:1.5; }
.rd-contact-page .frm-fluent-form .ff-el-form-control { height:auto; }
.rd-contact-page .frm-fluent-form .rd-contact-form__name-row { gap:20px; }
.rd-contact-page .frm-fluent-form .rd-contact-form__field--interests .ff-el-input--content { display:grid; gap:4px; }
.rd-contact-page .frm-fluent-form .ff-el-form-check { margin:0; padding:2px 0; }
.rd-contact-page .frm-fluent-form .ff-el-form-check-label { display:flex; align-items:flex-start; gap:10px; color:rgba(255,255,255,.8); font:400 14px/21px Inter,ui-sans-serif,sans-serif; }
.rd-contact-page .frm-fluent-form .ff_tc_label { display:grid !important; grid-template-columns:24px minmax(0,1fr); align-items:center; min-height:24px; padding-inline-start:0; column-gap:10px; }
.rd-contact-page .frm-fluent-form .ff_tc_checkbox { display:flex !important; align-items:center; justify-content:center; width:24px; height:24px; }
.rd-contact-page .frm-fluent-form .ff_tc_checkbox input { position:static !important; top:auto !important; bottom:auto !important; display:block; margin:0; transform:translateY(-4px); }
.rd-contact-page .frm-fluent-form .ff_t_c { display:block; min-width:0; }
.rd-contact-page .frm-fluent-form .rd-contact-form__field--consent .ff_t_c::after { margin-left:3px; color:#f8333c; font-weight:400; content:"*"; }
.rd-contact-page .frm-fluent-form input[type="checkbox"] { appearance:none; -webkit-appearance:none; position:relative; width:24px; height:24px; min-width:24px; margin:0; padding:0; border:1px solid #525866; border-radius:4px; background:rgba(255,255,255,.05); cursor:pointer; transition:background-color .3s ease-out,border-color .3s ease-out; }
.rd-contact-page .frm-fluent-form input[type="checkbox"]:hover { border-color:rgba(255,255,255,.6); background:rgba(255,255,255,.1); }
.rd-contact-page .frm-fluent-form input[type="checkbox"]:focus-visible { outline:2px solid #fff; outline-offset:2px; }
.rd-contact-page .frm-fluent-form input[type="checkbox"]:checked { border-color:#fff; background-color:rgba(255,255,255,.05); background-image:url("../../assets/images/contact/Check.svg"); background-repeat:no-repeat; background-position:center; background-size:16px; }
.rd-contact-page .frm-fluent-form .ff-el-group--checkbox .ff-el-input-content,.rd-contact-page .frm-fluent-form .ff-el-group--gdpr_agreement .ff-el-input-content { margin-top:8px; }
.rd-contact-page .frm-fluent-form .ff-btn-submit { display:inline-flex; align-items:center; justify-content:center; width:auto; height:46px; min-width:0; min-height:0; box-sizing:border-box; border:1px solid #717784 !important; border-radius:12px; padding:10px 20px; background-color:rgba(255,255,255,.05) !important; -webkit-backdrop-filter:blur(7.5px); backdrop-filter:blur(7.5px); color:#fff !important; font:500 16px/24px Inter,ui-sans-serif,sans-serif; letter-spacing:-.32px; transition:background-color 180ms ease,border-color 180ms ease; }
.rd-contact-page .frm-fluent-form .ff-btn-submit:hover { border-color:#fff !important; background-color:rgba(255,255,255,.1) !important; }
.rd-contact-page .frm-fluent-form .ff-btn-submit:disabled { cursor:not-allowed; opacity:.6; }
.rd-contact-page .frm-fluent-form .text-danger,.rd-contact-page .frm-fluent-form .error { margin-top:4px; color:#f8333c; font-size:14px; line-height:20px; }
.rd-contact-page .ff-message-success { display:flex; min-height:520px; box-sizing:border-box; align-items:center; justify-content:center; margin:0; border:1px solid #525866; border-radius:20px; padding:clamp(40px,7vw,72px) clamp(24px,6vw,64px); background:radial-gradient(circle at 50% 22%,rgba(94,148,159,.16),transparent 44%),#05070a; color:#fff; text-align:center; }
.rd-contact-page .rd-contact-success { display:flex; width:100%; max-width:480px; flex-direction:column; align-items:center; }
.rd-contact-page .rd-contact-success__icon { position:relative; display:block; width:120px; height:120px; margin-bottom:32px; border:1px solid rgba(255,255,255,.18); border-radius:50%; background:rgba(94,148,159,.2); box-shadow:0 0 0 12px rgba(94,148,159,.07); }
.rd-contact-page .rd-contact-success__icon::before { position:absolute; top:45%; left:50%; width:34px; height:18px; border-bottom:5px solid #fff; border-left:5px solid #fff; content:""; transform:translate(-50%,-50%) rotate(-45deg); }
.rd-contact-page .rd-contact-success__title { margin:0 0 14px; color:#fff; font:500 clamp(2rem,4vw,2.75rem)/1.12 Inter,ui-sans-serif,sans-serif; letter-spacing:-.04em; }
.rd-contact-page .rd-contact-success__description { max-width:420px; margin:0 0 30px; color:#cacfd8; font:400 16px/1.6 Inter,ui-sans-serif,sans-serif; }
.rd-contact-page .rd-contact-success__cta { display:inline-flex; min-height:46px; box-sizing:border-box; align-items:center; justify-content:center; border:1px solid #717784; border-radius:12px; padding:10px 24px; background:rgba(255,255,255,.05); color:#fff; font:500 16px/24px Inter,ui-sans-serif,sans-serif; letter-spacing:-.02em; text-decoration:none; transition:background-color 180ms ease,border-color 180ms ease,transform 180ms ease; }
.rd-contact-page .rd-contact-success__cta:hover { border-color:#fff; background:rgba(255,255,255,.1); color:#fff; transform:translateY(-2px); }
.rd-contact-page .rd-contact-success__cta:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.rd-contact-page__setup-notice { padding:16px; border:1px solid #f0a946; border-radius:12px; color:#fff; background:rgba(240,169,70,.12); }
@media (max-width:900px) { .rd-contact-page__grid { grid-template-columns:1fr; } }
@media (max-width:768px) { .rd-contact-page__hero { min-height:680px; }.rd-contact-page__main { padding-bottom:80px; }.rd-contact-page__container { width:min(100% - 40px,1200px); }.rd-contact-page .frm-fluent-form .rd-contact-form__name-row { display:grid !important; grid-template-columns:minmax(0,1fr); gap:26px; }.rd-contact-page .ff-message-success { min-height:440px; }.rd-contact-page .rd-contact-success__icon { width:96px; height:96px; }.rd-contact-page .rd-contact-success__icon::before { width:28px; height:15px; border-width:0 0 4px 4px; } }
