.dels-contact { inset:0; padding:100px 0 40px; margin:0; width:100%; height:100dvh; max-width:none; max-height:none; border:0; background:rgb(0 0 0 / .65); color:#171812; --contact-surface:#dfddd4; --contact-rule:rgb(23 24 18 / .32); overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scroll-padding:28px; }
.dels-contact::backdrop { background:transparent; }
.dels-contact [hidden] { display:none !important; }
.contact-panel { position:relative; margin:0 auto; width:69.7%; max-width:1100px; padding:24px 24px 48px; background:var(--contact-surface); }
.contact-topbar { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; }
.contact-tabs { display:flex; gap:30px; }
.contact-tabs button,.contact-close,.contact-send,.contact-scheduling button { padding:0; border:0; color:inherit; background:transparent; font:inherit; cursor:pointer; }
.contact-tabs button { font-size:24px; line-height:1.1; }
.contact-tabs button[aria-selected=true] { text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
.contact-close { font-size:12px; line-height:1; text-transform:uppercase; margin-top:2px; }
.contact-panel h2 { font-size:clamp(54px,6.26vw,90px); line-height:.98; letter-spacing:-.045em; font-weight:400; max-width:7.2em; min-height:2.1em; margin:48px 0 96px; }
.contact-composition { display:grid; grid-template-columns:40% 60%; border-top:0; padding-top:1px; }
.contact-introduction { padding:16px 35px 0 0; font-size:18px; line-height:1.1; }
.contact-introduction > p { max-width:250px; margin:0; }
.contact-scheduling { margin-top:42px; max-width:250px; }
.contact-scheduling button { text-decoration:underline; text-underline-offset:4px; text-align:left; font-size:16px; cursor:default; opacity:.55; }
.contact-scheduling p { margin:10px 0 0; font-size:12px; line-height:1.3; }
.contact-form { min-width:0; font-size:18px; line-height:1.1; }
.contact-choice { display:grid; grid-template-columns:50% 50%; border:0; border-bottom:1px solid var(--contact-rule); padding:16px 0 32px; margin:0; min-width:0; }
.contact-choice legend { float:left; width:100%; padding:0 16px 0 0; }
.contact-choice > div { grid-column:2; min-width:0; }
.contact-option { display:flex; align-items:baseline; gap:14px; position:relative; width:fit-content; max-width:100%; margin:0 0 8px; cursor:pointer; }
.contact-option:last-child { margin-bottom:0; }
.contact-option input { appearance:none; width:14px; height:14px; flex:0 0 14px; margin:0; border:1px solid currentColor; border-radius:0; color:inherit; background:transparent; cursor:pointer; }
.contact-option input:checked { background:currentColor; }
.contact-option span { position:relative; }
.contact-option span::after,.contact-circle::after { content:''; position:absolute; pointer-events:none; border:1px solid currentColor; border-radius:50%; inset:-.3em -.55em; opacity:0; transform:rotate(-7deg) scale(.86); transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .18s; }
.contact-option:focus-within span::after,.contact-circle:focus-visible::after { opacity:1; transform:rotate(-7deg) scale(1); }
@media(hover:hover){.contact-option:hover span::after,.contact-circle:hover::after{opacity:1;transform:rotate(-7deg) scale(1);}}
.contact-circle { position:relative; }
.contact-close::before,.contact-send::before { content:''; position:absolute; inset:-16px -8px; }
.contact-tabs button { position:relative; }
.contact-tabs button::before { content:''; position:absolute; inset:-12px -6px; }
.contact-option::before { content:''; position:absolute; inset:-4px 0; }
.contact-details-heading { font:inherit; font-weight:400; margin:0; padding:16px 0; border-bottom:1px solid var(--contact-rule); }
.contact-field { display:grid; grid-template-columns:50% 50%; padding:16px 0; border-bottom:1px solid var(--contact-rule); min-width:0; min-height:68px; }
.contact-field > label { padding-right:20px; }
.contact-required { font-size:12px; }
.contact-input { min-width:0; }
.contact-field input,.contact-field textarea,.contact-field select { display:block; min-width:0; width:100%; resize:vertical; border:0; outline:none; background:transparent; color:inherit; font:inherit; line-height:1.2; padding:0; border-radius:0; }
.contact-field select { cursor:pointer; text-overflow:ellipsis; padding-right:15px; }
.contact-field select option { background:var(--contact-surface); color:#171812; }
.contact-field input::placeholder,.contact-field textarea::placeholder { color:#85867b; opacity:1; font-weight:300; }
.contact-field textarea { min-height:72px; }
.contact-field input:focus-visible,.contact-field textarea:focus-visible,.contact-field select:focus-visible { outline:1px solid currentColor; outline-offset:5px; }
.contact-tabs button:focus-visible,.contact-close:focus-visible,.contact-send:focus-visible { outline:1px solid currentColor; outline-offset:8px; }
.contact-option input:focus-visible { outline:1px solid currentColor; outline-offset:4px; }
.contact-country input { margin-top:16px; }
.contact-error { display:block; margin-top:12px; font-size:12px; line-height:1.3; }
.contact-field.is-invalid { border-bottom-width:1px; }
.contact-field.is-invalid input { text-decoration:underline dotted; text-underline-offset:4px; }
.contact-submit { margin:48px 0 0 50%; }
.contact-send { font-size:clamp(28px,2.78vw,40px); letter-spacing:-.03em; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:7px; }
.contact-status { font-size:14px; line-height:1.3; max-width:380px; margin:28px 0 0 50%; }
.contact-status:empty { display:none; }
.contact-status:focus { outline:1px solid currentColor; outline-offset:5px; }
.contact-open { overflow:hidden; }
.contact-entry { padding:155px 16px; min-height:100svh; }.contact-entry h1{font-size:90px;font-weight:400;letter-spacing:-.04em;margin:0 0 40px;}.contact-entry button{background:none;border:1px solid currentColor;padding:12px;color:inherit;}
@media(max-width:1000px){.contact-panel{width:calc(100% - 96px);}.contact-composition{grid-template-columns:34% 66%;}.contact-introduction{padding-right:24px;}.contact-choice,.contact-field{grid-template-columns:43% 57%;}.contact-submit,.contact-status{margin-left:43%;}}
@media(max-width:700px){
 .dels-contact{padding-top:160px;padding-bottom:32px;scroll-padding:20px;}
 .contact-panel{width:calc(100% - 64px);padding:8px 8px 40px;}
 .contact-topbar{gap:10px;align-items:center;}.contact-tabs{gap:24px;}.contact-tabs button{font-size:18px;}.contact-close{font-size:12px;margin-top:0;}
 .contact-panel h2{font-size:clamp(46px,14.1vw,55px);margin:40px 0 24px;min-height:2.95em;}
 .contact-composition{display:block;}.contact-introduction{padding:0 0 32px;font-size:16px;}.contact-introduction>p{max-width:250px;}
 .contact-scheduling{margin-top:24px;}.contact-scheduling button{font-size:14px;}.contact-scheduling p{margin-top:6px;}
 .contact-form{font-size:16px;}.contact-choice,.contact-field{grid-template-columns:37% 63%;padding:18px 0;}.contact-field{min-height:70px;}.contact-field>label{padding-right:12px;}
 .contact-option{gap:12px;margin-bottom:9px;line-height:1.15;}.contact-option input{width:14px;height:14px;flex-basis:14px;}
 .contact-choice{border-top:1px solid var(--contact-rule);padding:18px 0 28px;border-bottom:0;}.contact-choice>legend{padding-right:10px;}.contact-details-heading{border-top:1px solid var(--contact-rule);padding:18px 0;}
 [data-contact-form="client"] > .contact-choice:first-child{border-top:0;}
 .contact-submit{margin:36px 0 0 37%;}.contact-send{font-size:24px;}.contact-status{margin:28px 0 0 37%;font-size:13px;}.contact-field textarea{min-height:100px;}
 .contact-entry h1{font-size:54px;}
}
@media(prefers-reduced-motion:reduce){.dels-contact *{scroll-behavior:auto!important;}.contact-option span::after,.contact-circle::after{transition:none;}}

/* Recruitment route and compact international telephone control. */
.contact-employer-route { min-width:0; padding-top:16px; }
.contact-direct-label { font-size:12px; text-transform:uppercase; margin:0 0 18px; }
.contact-public-email,.contact-email-unconfigured { display:block; margin:0; font-size:clamp(24px,2.3vw,34px); line-height:1.12; letter-spacing:-.025em; color:inherit; overflow-wrap:anywhere; }
.contact-public-email { width:fit-content; text-decoration-thickness:1px; text-underline-offset:6px; }
.contact-email-unconfigured small { display:block; margin-top:10px; font-size:12px; letter-spacing:0; }
.contact-request-toggle { display:block; margin:38px 0 0; border:0; padding:8px 0; background:none; color:inherit; font:inherit; font-size:18px; text-decoration:underline; text-underline-offset:5px; cursor:pointer; }
.contact-request-toggle:focus-visible,.contact-public-email:focus-visible { outline:1px solid currentColor; outline-offset:6px; }
#contact-request-fields { display:flow-root; }
#contact-request-fields > form { padding-top:24px; }
.contact-fields > .contact-field:last-child { border-bottom:0; }
[data-contact-form="client"] > .contact-choice:last-of-type { border-bottom:0; }
[data-contact-form="client"] > .contact-details-heading { border-top:0; }
.contact-phone { display:flex; align-items:center; gap:12px; min-width:0; }
.contact-phone-prefix { position:relative; flex:0 0 78px; height:44px; display:flex; align-items:center; }
.contact-prefix-value { padding-right:18px; font-size:16px; white-space:nowrap; }
.contact-phone-prefix::after { content:'⌄'; position:absolute; right:4px; top:13px; pointer-events:none; font-size:14px; }
.contact-phone-prefix select { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.contact-phone-prefix:focus-within { outline:1px solid currentColor; outline-offset:3px; }
.contact-phone > input { flex:1; width:0; min-height:44px; }
.contact-phone-prefix input { width:calc(100% - 18px); font-size:16px; }
.contact-code-reset { position:absolute; right:0; top:0; width:20px; height:44px; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; }
@media(max-width:700px){.contact-employer-route{padding-top:0;}.contact-direct-label{margin-bottom:14px;}.contact-request-toggle{margin-top:26px;font-size:16px;}.contact-phone{gap:8px;}.contact-phone-prefix{flex-basis:70px;}}

/* Contact-specific refinements; page and transition tokens remain unchanged. */
.dels-contact { --contact-surface:#c5c2ae; }
.contact-field input:focus-visible,.contact-field textarea:focus-visible,.contact-field select:focus-visible { outline:0; box-shadow:0 1px 0 currentColor; }
.contact-phone-prefix:focus-within { outline:0; box-shadow:0 1px 0 currentColor; }
.contact-privacy { display:block; border:0; min-height:0; margin:36px 0 0 50%; padding:0; font-size:14px; line-height:1.3; }
.contact-privacy > label { display:flex; align-items:flex-start; gap:12px; padding:0; }
.contact-privacy input { appearance:none; flex:0 0 14px; width:14px; height:14px; margin:2px 0 0; border:1px solid currentColor; }
.contact-privacy input:checked { background:currentColor; }
.contact-privacy input:focus-visible { outline:0; box-shadow:0 2px 0 currentColor; }
.contact-privacy a { text-decoration:underline; text-underline-offset:3px; }
.contact-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.contact-budget-amount { display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.contact-budget-amount input { flex:1; width:0; min-height:30px; }
.contact-budget-amount > span { flex:0 0 auto; }
.contact-field .contact-option input { width:14px; height:14px; padding:0; }
.contact-field.contact-choice { min-height:0; }
.contact-fields > .contact-details-heading { border-top:0; }
@media(max-width:1000px){.contact-privacy{margin-left:43%;}}
@media(max-width:700px){
 [data-contact-mode="employer"] > h2 { min-height:0; margin-bottom:18px; }
 [data-contact-mode="employer"] .contact-introduction { padding-bottom:48px; }
 [data-contact-form="client"] .contact-fields { display:grid; grid-template-columns:minmax(0,1fr) fit-content(58%); }
 [data-contact-form="client"] .contact-fields > .contact-field { grid-column:1 / -1; grid-template-columns:subgrid; }
 [data-contact-form="client"] .contact-details-heading { grid-column:1 / -1; }
 [data-contact-form="client"] .contact-input { min-width:0; }
 [data-contact-form="client"] .contact-input > input,[data-contact-form="client"] .contact-input > textarea,.contact-budget-amount,.contact-phone { contain:inline-size; }
 .contact-fields > .contact-choice:first-child { border-top:0; }
 .contact-fields > .contact-choice[data-field-key="timeline"] { border-bottom:0; }
 .contact-privacy { margin-left:0; }
}
.contact-field .contact-option input { appearance:none; border:1px solid currentColor; border-radius:0; flex:0 0 14px; margin:0; background:transparent; }
.contact-field .contact-option input:checked { background:currentColor; }
.contact-field .contact-option input:focus-visible { outline:0; box-shadow:0 2px 0 currentColor; }
[data-contact-form="client"] .contact-fields > .contact-choice[data-field-key="timeline"] { border-bottom:0; }
.contact-field input:focus,.contact-field textarea:focus,.contact-field select:focus { outline:0; box-shadow:0 1px 0 currentColor; }
.contact-field .contact-option input:focus,.contact-privacy input:focus { outline:0; box-shadow:0 2px 0 currentColor; }
.contact-privacy a { display:inline-block; }

/* Compact phone geometry; fixed overlay and privacy placement are unchanged. */
.contact-phone { gap:4px; }
.contact-phone-prefix { flex:0 0 auto; width:max-content; min-width:44px; }
.contact-prefix-value { padding-right:12px; }
.contact-phone-prefix::after { right:0; top:50%; transform:translateY(-50%); line-height:1; font-size:12px; }
.contact-phone-prefix:has(input:not([hidden])) { width:calc(5ch + 20px); }
.contact-field:has(.contact-phone) > label { min-height:44px; display:flex; align-items:center; }
.contact-phone > input { min-width:0; }
.contact-budget-amount > input { border-bottom:1px solid var(--contact-rule); appearance:textfield; }
.contact-budget-amount > input:focus { border-bottom-color:currentColor; box-shadow:none; }
.contact-budget-amount > input::-webkit-inner-spin-button,.contact-budget-amount > input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
@media(max-width:700px){.contact-submit{margin-left:0;}}

/* Mobile value columns follow each form's editorial alignment. */
@media(max-width:700px){
 [data-contact-form="employer"] .contact-fields { display:grid; grid-template-columns:minmax(0,1fr) max-content minmax(0,calc(63% - 60px)); column-gap:4px; }
 [data-contact-form="employer"] .contact-fields > .contact-field { grid-column:1 / -1; grid-template-columns:subgrid; }
 [data-contact-form="employer"] .contact-field > label { grid-column:1; }
 [data-contact-form="employer"] .contact-input { grid-column:3; }
 [data-contact-form="employer"] .contact-input:has(.contact-phone) { grid-column:2 / -1; display:grid; grid-template-columns:subgrid; }
 [data-contact-form="employer"] .contact-phone { display:contents; }
 [data-contact-form="employer"] .contact-phone-prefix { grid-column:1; }
 [data-contact-form="employer"] .contact-phone > input { grid-column:2; width:100%; }
 [data-contact-form="employer"] .contact-input:has(.contact-phone) > .contact-error { grid-column:1 / -1; }
 [data-contact-form="client"] .contact-fields { grid-template-columns:minmax(0,1fr) minmax(0,calc(58% - 8px)); }
}
