#contact.contact-studio { position:relative; isolation:isolate; overflow:hidden; padding:110px 0 95px; background:#0d0d17; }
#contact.contact-studio:before { content:''; position:absolute; inset:0; pointer-events:none; z-index:-1; background:radial-gradient(ellipse 70% 30% at 50% 8%,#7c3de330,transparent 85%),radial-gradient(ellipse 50% 25% at 90% 44%,#2361b71c,transparent 75%),linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px); background-size:auto,auto,72px 72px,72px 72px; mask-image:linear-gradient(#000, #000 70%,transparent); }
#contact .contact-grid { display:flex; flex-direction:column; gap:0; max-width:1120px; }
#contact .contact-copy { text-align:center; max-width:1050px; margin:0 auto 45px; }
#contact .contact-kicker { font-size:10px; letter-spacing:.22em; color:#bd9ce9; font-weight:700; margin-bottom:22px; }
#contact .contact-copy h2 { max-width:none; font-size:clamp(37px,5.2vw,74px); line-height:1.1; letter-spacing:-.045em; margin:0 0 27px; color:#fcfaff; }
#contact .contact-gradient { background:linear-gradient(105deg,#d99afb 5%,#ab83ff 50%,#7fc7ff); background-clip:text; -webkit-background-clip:text; color:transparent; }
#contact .contact-copy>p { max-width:650px; margin:0 auto; color:#ded8e8; font-size:17px; line-height:1.75; }
#contact .contact-assurances { display:flex; justify-content:center; flex-wrap:wrap; gap:12px 25px; margin-top:25px; font-size:12px; color:#c7bed5; }
.contact-assurances>span { display:inline-flex; gap:8px; align-items:center; }.contact-assurances i { font-style:normal; color:#c899ff; }
#contact .contact-panel { width:100%; max-width:760px; padding:38px 40px; margin:0 auto; border-radius:30px; border:1px solid #cab1ea30; background:linear-gradient(145deg,#272330f2,#171621f5 55%,#1c1c29); box-shadow:0 30px 80px #0004,inset 0 1px #ffffff0a; }
#contact .contact-panel h3 { margin:0 0 24px; color:#f9f6ff; font-size:22px; letter-spacing:-.025em; }
#contact .form-grid { gap:20px; }
#contact .field label { font-size:12px; font-weight:600; color:#e4dfed; margin-bottom:9px; }
#contact .field input,#contact .field textarea { width:100%; border:1px solid #ffffff24; background:#ffffff07; border-radius:12px; min-height:54px; padding:14px 16px; color:#fff; font:inherit; font-size:15px; transition:border-color .2s,box-shadow .2s; }
#contact .field textarea { min-height:90px; resize:vertical; }
#contact .field input::placeholder,#contact .field textarea::placeholder { color:#aca3ba; opacity:1; }
#contact .field input:focus,#contact .field textarea:focus { outline:none; border-color:#bf99f0; box-shadow:0 0 0 3px #b987f21a; }
.contact-divider { position:relative; height:1px; margin:32px 0; background:linear-gradient(90deg,transparent,#b288e377,transparent); }.contact-divider span { position:absolute; left:50%; top:-2px; width:5px; height:5px; border-radius:50%; background:#cc9aff; box-shadow:0 0 12px #c290fa; }
.contact-interests { border:0; padding:0; margin:0 0 25px; min-width:0; }.contact-interests legend { font-size:20px; font-weight:700; color:#f3eff9; letter-spacing:-.02em; padding:0; }.contact-interests>p { color:#bdb4ca; font-size:13px; line-height:1.6; margin:10px 0 20px; }
.contact-choices { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.contact-choice { cursor:pointer; position:relative; margin:0; }.contact-choice input { position:absolute; opacity:0; width:1px; height:1px; }
.contact-choice-surface { display:flex; align-items:center; gap:12px; min-height:76px; height:100%; padding:15px; border:1px solid #ffffff24; border-radius:15px; background:#ffffff04; color:#e7e0f0; font-size:13px; line-height:1.45; font-weight:600; transition:background .2s,border-color .2s; }
.contact-choice-icon { display:grid; place-items:center; flex:0 0 33px; height:33px; border:1px solid #ffffff25; border-radius:10px; color:#d0a5ff; font-size:21px; font-weight:400; }
.contact-choice:hover .contact-choice-surface { border-color:#bc91ed88; background:#a36ce50c; }.contact-choice input:checked+.contact-choice-surface { border-color:#be97f4; background:linear-gradient(120deg,#9252cd33,#306d9525); }.contact-choice input:focus-visible+.contact-choice-surface { outline:2px solid #d9b6ff; outline-offset:4px; }
#contact .contact-panel>small { display:block; color:#ada4bb; font-size:11px; line-height:1.7; margin:8px 0 22px; }
#contact .contact-submit { width:100%; display:flex; align-items:center; justify-content:center; gap:15px; border-radius:40px; min-height:58px; font-size:15px; background:linear-gradient(105deg,#bd55e7,#835bea 58%,#528fea); box-shadow:0 8px 35px #9a4bd42b; }
#contact .contact-after { text-align:center; margin-top:30px; }#contact .contact-after p { margin:0 0 9px; color:#b6a9c5; font-size:12px; }#contact .contact-after>a { font-size:clamp(19px,2.2vw,26px); color:#e1c4ff; letter-spacing:-.02em; text-underline-offset:6px; }#contact .contact-after>a:hover { text-decoration:underline; }
@media(max-width:650px) { #contact.contact-studio { padding:65px 0; }#contact .contact-copy { margin-bottom:30px; }#contact .contact-copy>p { font-size:15px; }#contact .contact-assurances { font-size:10px; gap:10px 14px; }#contact .contact-panel { padding:26px 20px; border-radius:23px; }#contact .form-grid { grid-template-columns:1fr; }#contact .contact-choices { grid-template-columns:1fr; gap:10px; }.contact-choice-surface { min-height:63px; } }
@media(prefers-reduced-motion:reduce) { #contact input,#contact textarea,.contact-choice-surface { transition:none; } }
