.contact-page{--contact-ink:#17131f;--contact-muted:#625d68;--contact-surface:rgba(255,255,255,.76);--contact-line:rgba(30,21,47,.16);--contact-accent:#c7ff3c;--contact-violet:#3e207f;background:#f4f1ea;color:var(--contact-ink);transition:background .25s ease,color .25s ease}
.dark-mode.contact-page{--contact-ink:#f8f5ff;--contact-muted:#d8d0e6;--contact-surface:rgba(37,20,77,.68);--contact-line:rgba(255,255,255,.18);--contact-accent:#d8ff61;--contact-violet:#2f166f;background:#180932;color:var(--contact-ink)}
.contact-page .site-header{background:rgba(244,241,234,.82);border-color:rgba(23,19,31,.14);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.contact-page:not(.dark-mode) .site-header,.contact-page:not(.dark-mode) .site-header .logo,.contact-page:not(.dark-mode) .site-header nav a,.contact-page:not(.dark-mode) .nav-dropdown-toggle{color:#17131f}
.dark-mode.contact-page .site-header{background:rgba(24,9,50,.76);border-color:rgba(255,255,255,.15)}
.dark-mode.contact-page .site-header,.dark-mode.contact-page .site-header .logo,.dark-mode.contact-page .site-header nav a,.dark-mode.contact-page .nav-dropdown-toggle{color:#f8f5ff}
.contact-page .contact-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,.83fr) minmax(500px,1.17fr);gap:clamp(48px,7vw,120px);align-items:start;min-height:calc(100vh - 82px);padding-top:110px;padding-bottom:110px;overflow:hidden}
.contact-page .contact-hero:before,.contact-page .contact-hero:after{content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none;filter:blur(8px)}
.contact-page .contact-hero:before{width:42rem;height:42rem;left:-19rem;top:-14rem;background:radial-gradient(circle,rgba(201,255,65,.35),transparent 67%)}
.contact-page .contact-hero:after{width:46rem;height:46rem;right:-20rem;bottom:-25rem;background:radial-gradient(circle,rgba(123,84,226,.24),transparent 68%)}
.dark-mode.contact-page .contact-hero:before{background:radial-gradient(circle,rgba(216,255,97,.16),transparent 68%)}
.dark-mode.contact-page .contact-hero:after{background:radial-gradient(circle,rgba(123,84,226,.42),transparent 68%)}
.contact-hero>div{max-width:470px}
.contact-hero .eyebrow{margin:0 0 26px;color:var(--contact-ink);font-size:12px;letter-spacing:.11em}
.contact-hero .eyebrow span,.form-heading .eyebrow span{background:var(--contact-accent)}
.contact-hero h1{margin:0;color:var(--contact-ink);font-size:clamp(53px,5.6vw,90px);line-height:.87;letter-spacing:-.09em}
.contact-hero h1 em{font-family:"Playfair Display",Georgia,serif;font-weight:600}
.contact-hero>div>p:not(.eyebrow){max-width:410px;margin:30px 0 0;color:var(--contact-muted);font-size:16px;line-height:1.65}
.contact-reassurance{display:grid;grid-template-columns:28px 1fr;gap:12px 14px;max-width:430px;margin-top:48px;padding-top:22px;border-top:1px solid var(--contact-line)}
.contact-reassurance span{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:rgba(62,32,127,.12);color:var(--contact-violet);font:700 13px/1 Manrope,Arial,sans-serif}
.dark-mode.contact-page .contact-reassurance span{background:rgba(216,255,97,.14);color:var(--contact-accent)}
.contact-reassurance p{margin:0;color:var(--contact-muted);font-size:14px;font-weight:600;line-height:1.45}
.project-form{position:relative;min-height:554px;padding:clamp(24px,3vw,38px);border:1px solid rgba(255,255,255,.64);border-radius:22px;background:var(--contact-surface);color:var(--contact-ink);box-shadow:0 28px 80px rgba(27,13,57,.18),inset 0 1px 0 rgba(255,255,255,.72);backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%)}
.dark-mode.contact-page .project-form{border-color:rgba(227,217,255,.28);box-shadow:0 30px 78px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.1)}
.form-heading{display:flex;justify-content:space-between;gap:32px;align-items:flex-start;padding-bottom:23px;border-bottom:1px solid var(--contact-line)}
.form-heading .eyebrow{margin:0;color:var(--contact-ink);font-size:12px;letter-spacing:.1em}
.form-heading>p:last-child{max-width:210px;margin:0;color:var(--contact-muted);font-size:12px;line-height:1.45}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 16px;padding-top:24px}
.form-grid label{display:grid;gap:7px;color:var(--contact-ink);font:700 11px Manrope,Arial,sans-serif}
.field-label{display:inline-flex;align-items:baseline;gap:3px}.field-required{display:inline;color:var(--contact-violet);font-size:13px;line-height:1;vertical-align:middle}
.dark-mode.contact-page .field-required{color:var(--contact-accent)}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:46px;padding:11px 13px;border:1px solid var(--contact-line);border-radius:8px;background:rgba(255,255,255,.7);color:var(--contact-ink);font:500 13px Manrope,Arial,sans-serif;outline:0;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.dark-mode.contact-page .form-grid input,.dark-mode.contact-page .form-grid select,.dark-mode.contact-page .form-grid textarea{background:rgba(255,255,255,.07);color:var(--contact-ink)}
.dark-mode.contact-page .form-grid select option{background:#27134f;color:#fff}
.form-grid .select-field{position:relative}
.form-grid .select-field select,.country-select select{appearance:none;-webkit-appearance:none;padding-right:42px;background-image:none}
.form-grid .select-field::after,.country-select::after{position:absolute;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;content:"";pointer-events:none;transform:rotate(45deg)}
.form-grid .select-field::after{right:19px;bottom:21px}
.form-grid input::placeholder,.form-grid textarea::placeholder{color:color-mix(in srgb,var(--contact-muted) 82%,transparent);opacity:1}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--contact-violet);box-shadow:0 0 0 3px rgba(89,50,179,.15)}
.dark-mode.contact-page .form-grid input:focus,.dark-mode.contact-page .form-grid select:focus,.dark-mode.contact-page .form-grid textarea:focus{border-color:var(--contact-accent);box-shadow:0 0 0 3px rgba(216,255,97,.15)}
.phone-field{display:grid;grid-template-columns:78px minmax(0,1fr);gap:8px}.country-select{position:relative;display:block;min-width:0}.phone-field select{padding-right:25px;padding-left:9px;font-size:12px}.country-select::after{top:50%;right:10px;margin-top:-5px}
.form-full{grid-column:1 / -1}
.form-grid textarea{min-height:118px;resize:vertical}
.form-submit{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:9px;margin-top:24px;padding-top:24px;border-top:1px solid var(--contact-line);text-align:center}
.form-submit .button{min-width:224px;justify-content:center;border:0;background:#211d25;color:#fff;box-shadow:0 12px 24px rgba(19,16,23,.18);transition:transform .2s ease,opacity .2s ease,box-shadow .2s ease}
.form-submit .button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 16px 28px rgba(19,16,23,.24)}
.form-submit .button:disabled{cursor:not-allowed;opacity:.45}
.dark-mode.contact-page .form-submit .button{background:var(--contact-accent);color:#201043}
.form-submit-message{display:none;flex-basis:100%;margin:0;color:#b52525;font-size:11px;line-height:1.4}
.form-submit-message.is-visible{display:block}
.dark-mode.contact-page .form-submit-message{color:#ffaaa3}
.project-form.is-submitted{min-height:420px;display:grid;place-items:center}
.project-form.is-submitted .form-heading,.project-form.is-submitted .form-grid,.project-form.is-submitted .form-submit{display:none}
.form-success[hidden]{display:none}
.form-success{display:grid;max-width:390px;justify-items:center;text-align:center}
.form-success-check{display:grid;width:66px;height:66px;place-items:center;border-radius:50%;background:#2fa663;color:#fff;font:700 37px/1 Manrope,Arial,sans-serif;box-shadow:0 14px 30px rgba(47,166,99,.25)}
.form-success h2{margin:24px 0 12px;color:var(--contact-ink);font-size:36px;letter-spacing:-.075em}
.form-success p{margin:0;color:var(--contact-muted);font-size:15px;line-height:1.6}
.dark-mode.contact-page .form-success-check{background:var(--contact-accent);color:#24104d}
.contact-page footer,.contact-page:not(.dark-mode) footer,.dark-mode.contact-page footer{background:linear-gradient(120deg,#0d071f,#25124c);color:#d7cfe7}
.contact-page footer .logo,.contact-page footer a{color:#f8f5ff}
.contact-page footer .footer-label{color:var(--contact-accent)}
@media(max-width:860px){.contact-page .contact-hero{grid-template-columns:1fr;gap:48px;min-height:auto;padding-top:104px}.contact-hero>div{max-width:600px}.project-form{width:100%;max-width:680px}.contact-hero h1{font-size:clamp(51px,10.4vw,74px)}}
@media(max-width:600px){.contact-page .contact-hero{gap:38px;padding-top:84px;padding-bottom:74px}.contact-hero .eyebrow{font-size:11px}.contact-hero>div>p:not(.eyebrow){font-size:15px}.contact-reassurance{margin-top:38px}.project-form{min-height:0;padding:22px 18px;border-radius:18px}.form-heading{display:block}.form-heading>p:last-child{margin-top:10px}.form-grid{grid-template-columns:1fr;gap:15px;padding-top:21px}.form-full{grid-column:auto}.form-submit{margin-top:22px;padding-top:22px}.project-form.is-submitted{min-height:340px}.form-success h2{font-size:32px}.form-success p{font-size:14px}}
