:root{
  --contact-bg:#080b0d;
  --contact-panel:#0d1216;
  --contact-panel-2:#0a0f12;
  --contact-line:#20282f;
  --contact-text:#f6f7f8;
  --contact-muted:#a8b0b8;
  --contact-pink:#f16ca9;
  --contact-pink-strong:#ef4f98;
  --contact-pink-soft:#ffd7e8;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.page-contact-v20{margin:0;background:var(--contact-bg);color:var(--contact-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
a{color:inherit}
.contact-wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.contact-main{overflow:hidden}
.contact-hero{display:grid;grid-template-columns:.94fr 1.06fr;gap:74px;align-items:center;padding:76px 0 72px;min-height:660px}
.contact-kicker,.contact-section-kicker{margin:0 0 16px;color:#c8cfd3;font-size:12px;font-weight:850;letter-spacing:.18em;text-transform:uppercase}
.contact-copy h1{font-size:clamp(58px,6.2vw,88px);line-height:.94;letter-spacing:-.055em;margin:0 0 26px;max-width:620px}
.contact-accent{color:var(--contact-pink)}
.contact-copy>p:not(.contact-kicker){max-width:610px;margin:0;color:#cbd3d7;font-size:18px;line-height:1.58}
.contact-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:34px}
.contact-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 23px;border-radius:12px;font-size:16px;font-weight:800;text-decoration:none;border:1px solid #495861;background:transparent;color:var(--contact-text);transition:transform .22s ease,border-color .22s ease,background .22s ease}
.contact-btn:hover,.contact-btn:focus-visible{transform:translateY(-2px);border-color:#6a7c86;outline:none}
.contact-btn.primary{background:var(--contact-pink);border-color:var(--contact-pink);color:#080b0d}
.contact-btn.primary:hover,.contact-btn.primary:focus-visible{background:#ff7db6;border-color:#ff7db6}
.linkedin-btn svg{width:22px;height:22px;flex:none;color:#0A66C2}

.contact-form-shell{background:var(--contact-panel);border:1px solid #344049;border-radius:16px;padding:30px;box-shadow:0 24px 70px rgba(0,0,0,.26)}
.contact-form-shell h2{font-size:32px;line-height:1.08;letter-spacing:-.03em;margin:0 0 7px}
.contact-form-shell .form-intro{margin:0 0 24px;color:#aeb8bd;font-size:15px}
.contact-form{display:grid;gap:16px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:7px}
.field label{font-size:13px;font-weight:750;color:#e8ecee}
.field .required{color:var(--contact-pink)}
.field input,.field select,.field textarea{width:100%;border:1px solid #394750;border-radius:8px;background:#0a1014;color:#f5f7f8;font:inherit;font-size:15px;padding:12px 14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.field input,.field select{height:48px}
.field textarea{min-height:128px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#76838a}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--contact-pink);box-shadow:0 0 0 3px rgba(241,108,169,.12);background:#0c1317}
.field select{appearance:auto}
.contact-submit{width:100%;border:0;border-radius:9px;min-height:52px;background:var(--contact-pink);color:#080b0d;font:800 16px/1 inherit;cursor:pointer;transition:transform .22s ease,background .22s ease}
.contact-submit:hover,.contact-submit:focus-visible{transform:translateY(-2px);background:#ff7db6;outline:none}
.form-note{margin:0;text-align:center;color:#8f9aa0;font-size:12px}
.contact-divider{border:0;border-top:1px solid var(--contact-line);margin:0}
.contact-process{display:grid;grid-template-columns:.8fr 1.8fr;gap:58px;padding:58px 0 62px;align-items:start}
.contact-process h2,.contact-faq h2{margin:0;font-size:clamp(42px,4.3vw,62px);line-height:.98;letter-spacing:-.045em}
.contact-process-copy p:last-child,.faq-copy>p:last-child{color:#aeb8bd;font-size:16px;max-width:380px;margin-top:20px}
.process-steps{display:grid;grid-template-columns:repeat(3,1fr);position:relative}
.process-step{padding:6px 24px 8px;border-left:1px solid #2b343b;min-height:190px;position:relative}
.process-step:first-child{border-left:0}
.process-step::before{content:"";position:absolute;top:16px;left:58px;right:-5px;border-top:1px dashed #3b4750}
.process-step:last-child::before{display:none}
.step-top{display:flex;align-items:center;gap:14px;margin-bottom:14px;position:relative;z-index:1}
.step-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#10171c;border:1px solid #35434c;color:var(--contact-pink)}
.step-icon svg{width:22px;height:22px}
.step-no{color:#89959b;font-size:13px;font-weight:800;letter-spacing:.08em}
.process-step h3{font-size:18px;line-height:1.16;margin:0 0 9px}
.process-step p{font-size:14px;line-height:1.5;color:#aeb7bc;margin:0}
.contact-faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:64px;padding:58px 0 64px}
.faq-list{border-top:1px solid #303a41}
.faq-list details{border-bottom:1px solid #303a41}
.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 2px;font-size:17px;font-weight:750}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";color:var(--contact-pink);font-size:26px;font-weight:500;line-height:1}
.faq-list details[open] summary::after{content:"−"}
.faq-list details p{margin:0;padding:0 2px 20px;color:#abb5ba;font-size:15px;line-height:1.6;max-width:760px}
.contact-final{border-top:1px solid var(--contact-line);border-bottom:1px solid var(--contact-line);padding:42px 0 44px;text-align:center}
.contact-final h2{margin:0 0 10px;font-size:clamp(40px,4.5vw,60px);letter-spacing:-.045em;line-height:1}
.contact-final p{margin:0 0 24px;color:#aeb8bd;font-size:16px}
.contact-footer{padding:28px 0 32px}
.contact-footer-inner{display:grid;grid-template-columns:1fr auto auto;gap:38px;align-items:center}
.contact-footer-logo img{display:block;width:132px;height:auto}
.contact-footer-nav{display:flex;gap:24px;align-items:center}
.contact-footer-nav a,.contact-footer-linkedin{color:#c7cfd3;text-decoration:none;font-size:14px}
.contact-footer-nav a:hover,.contact-footer-linkedin:hover{color:#fff}
.contact-footer-linkedin{display:flex;align-items:center;gap:9px}
.contact-footer-linkedin svg{width:20px;height:20px}
.contact-active{color:#fff!important;position:relative}
.contact-active::after{content:"";position:absolute;left:16px;right:16px;bottom:4px;height:2px;background:var(--contact-pink);border-radius:2px}
@media(max-width:920px){
  .contact-hero{grid-template-columns:1fr;gap:44px;padding:52px 0 58px}
  .contact-copy h1{max-width:760px}
  .contact-process,.contact-faq{grid-template-columns:1fr;gap:32px}
  .process-steps{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:680px){
  .contact-wrap{width:min(100% - 30px,1180px)}
  .contact-hero{padding-top:38px}
  .contact-copy h1{font-size:52px}
  .contact-copy>p:not(.contact-kicker){font-size:16px}
  .contact-form-shell{padding:22px 18px}
  .form-row{grid-template-columns:1fr}
  .contact-actions{align-items:stretch;flex-direction:column}
  .contact-btn{width:100%}
  .process-steps{grid-template-columns:1fr}
  .process-step{border-left:0;border-top:1px solid #2b343b;padding:22px 0;min-height:0}
  .process-step:first-child{border-top:0}
  .process-step::before{display:none}
  .contact-footer-inner{grid-template-columns:1fr;align-items:start}
  .contact-footer-nav{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
