/* Contact uses the same typography and rhythm as the reference catalogue. */
.contact-refined-page{--ct-ink:#10284d;--ct-muted:#65758b;--ct-line:#e1e6ee;--ct-blue:#315cf0}
.contact-refined-page main{background:#fff}
.contact-refined-page .contact-hero{padding:78px 0 72px;text-align:center;background:#fff;border-bottom:1px solid var(--ct-line)}
.contact-refined-page .contact-eyebrow{display:block;color:#2959c7;font-size:11px;font-weight:800;letter-spacing:.13em}
.contact-refined-page .contact-hero h1{margin:18px 0;color:var(--ct-ink);font-size:clamp(38px,4.3vw,64px);line-height:1.1;letter-spacing:-.055em;font-weight:700}
.contact-refined-page .contact-hero h1>span{position:relative;display:inline-block;color:var(--ct-blue);animation:contact-word-in .65s ease both}
.contact-refined-page .contact-hero h1>span:after{content:"";position:absolute;bottom:-9px;left:2%;width:96%;height:4px;border-radius:4px;background:#20bcc5;transform-origin:left;animation:contact-underline .7s .25s ease both}
.contact-refined-page .contact-hero p{max-width:620px;margin:28px auto 0;color:var(--ct-muted);font-size:15px;line-height:1.75}
.contact-refined-page .callback-page{padding:64px 0 76px;background:#fff}
.contact-refined-page .callback-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:88px;align-items:start}
.contact-refined-page .callback-intro{min-width:0;max-width:none}
.contact-refined-page .callback-intro h2{margin:15px 0 20px;color:var(--ct-ink);font-size:clamp(28px,2.8vw,39px);letter-spacing:-.045em;line-height:1.2;font-weight:750}
.contact-refined-page .callback-intro>p{margin:0;max-width:350px;color:var(--ct-muted);font-size:14px;line-height:1.8}
.contact-refined-page .contact-channels{margin-top:30px;border-top:1px solid var(--ct-line)}
.contact-refined-page .contact-channels>a{min-height:88px;display:flex;align-items:center;gap:15px;padding:16px 0;border-bottom:1px solid var(--ct-line);text-decoration:none;color:var(--ct-ink);transition:color .2s}
.contact-refined-page .contact-channel-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;background:#eff3ff;color:var(--ct-blue);border-radius:10px;font-size:17px}
.contact-refined-page .contact-channels>a>span:nth-child(2){min-width:0}
.contact-refined-page .contact-channels small{display:block;margin-bottom:4px;color:var(--ct-muted);font-size:12px}
.contact-refined-page .contact-channels strong{display:block;font-size:15px;font-weight:650;overflow-wrap:anywhere}
.contact-refined-page .contact-channels>a>i{margin-left:auto;color:#8393ac;font-size:11px}
.contact-refined-page .contact-channels>a:hover{color:var(--ct-blue)}
.contact-refined-page .callback-intro .contact-help-note{margin-top:23px;font-size:12px}
.contact-refined-page .contact-help-note a{display:block;color:#2959c7;text-decoration:none;font-weight:650}
.contact-refined-page .contact-help-note a:hover{text-decoration:underline}
.contact-refined-page .callback-form-shell{min-width:0;min-height:0;padding:0 0 0 42px;background:transparent;border:0;border-left:1px solid var(--ct-line);border-radius:0;box-shadow:none}
.contact-refined-page .contact-stepper{display:flex;align-items:center;gap:0;margin:0 0 32px;padding:0;list-style:none}
.contact-refined-page .contact-stepper li{position:relative;display:flex;align-items:center;gap:9px;flex:1;color:#78869a;font-size:12px}
.contact-refined-page .contact-stepper li:not(:last-child):after{content:"";height:1px;min-width:8px;flex:1;margin:0 12px;background:var(--ct-line)}
.contact-refined-page .contact-stepper li:last-child{flex:0}
.contact-refined-page .contact-stepper li>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border:1px solid var(--ct-line);border-radius:50%;font-size:12px;font-weight:650;background:#fff;transition:background .2s,color .2s}
.contact-refined-page .contact-stepper b{font-weight:600;white-space:nowrap}
.contact-refined-page .contact-stepper li[aria-current="step"]{color:var(--ct-ink)}
.contact-refined-page .contact-stepper li[aria-current="step"]>span{background:var(--ct-blue);color:#fff;border-color:var(--ct-blue);box-shadow:0 0 0 4px #315cf00d}
.contact-refined-page .contact-stepper li.is-complete>span{color:var(--ct-blue);background:#edf2ff;border-color:#d0dcfc}
.contact-refined-page .callback-step{display:block;animation:none}
.contact-refined-page form:not(.is-enhanced) .callback-step+.callback-step{margin-top:32px;padding-top:28px;border-top:1px solid var(--ct-line)}
.contact-refined-page form.is-enhanced .callback-step:not([hidden]){animation:contact-step-in .22s ease both}
.contact-refined-page .callback-step h2{margin:0 0 9px;color:var(--ct-ink);font-size:25px;line-height:1.3;font-weight:700;letter-spacing:-.035em}
.contact-refined-page .callback-step h2:focus{outline:none}
.contact-refined-page .contact-step-description{margin:0 0 26px;color:var(--ct-muted);font-size:13px;line-height:1.7}
.contact-refined-page .callback-form-shell .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 16px}
.contact-refined-page .callback-form-shell .form-group{min-width:0;margin:0}
.contact-refined-page .form-grid .full{grid-column:1/-1}
.contact-refined-page .callback-form-shell .form-group label,.contact-refined-page .callback-step legend{display:block;margin:0 0 8px;color:#263c59;font-size:13px;font-weight:600;line-height:1.5}
.contact-refined-page .form-group label small{font-size:11px;font-weight:400;color:var(--ct-muted)}
.contact-refined-page .form-control{width:100%;min-width:0;min-height:48px;padding:12px 14px;border:1px solid #cfdae8;border-radius:7px;color:var(--ct-ink);background:#fff;font:inherit;font-size:14px;box-shadow:none;transition:border-color .2s,box-shadow .2s}
.contact-refined-page textarea.form-control{min-height:126px;resize:vertical}
.contact-refined-page .form-control:focus{outline:none;border-color:#7999e9;box-shadow:0 0 0 3px #315cf010}
.contact-refined-page .form-control::placeholder{color:#8c98aa}
.contact-refined-page .callback-consent{display:flex;align-items:flex-start;gap:11px;margin:23px 0 0!important;color:var(--ct-muted);font-size:12px;line-height:1.75;cursor:pointer}
.contact-refined-page .callback-consent input{flex:0 0 17px;width:17px;height:17px;margin:3px 0 0;accent-color:var(--ct-blue)}
.contact-refined-page .callback-consent a{color:#2959c7;text-decoration:underline;text-underline-offset:2px}
.contact-refined-page .callback-step fieldset{margin:0 0 25px;padding:0;border:0;min-width:0}
.contact-refined-page .callback-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.contact-refined-page .callback-choice-grid label{position:relative;min-width:0;cursor:pointer}
.contact-refined-page .callback-choice-grid input{position:absolute;top:50%;right:14px;width:17px;height:17px;margin:-8px 0 0;opacity:1;pointer-events:auto;accent-color:var(--ct-blue)}
.contact-refined-page .callback-choice-grid span{min-height:54px;padding:14px 40px 14px 14px;display:flex;align-items:center;background:#fff;border:1px solid #d5deeb;border-radius:7px;color:#344964;font-size:13px;font-weight:500;line-height:1.5;transition:border-color .2s,background .2s}
.contact-refined-page .callback-choice-grid input:checked+span{color:#214bb1;background:#f4f7ff;border-color:#7f9be6;box-shadow:none}
.contact-refined-page .callback-choice-grid input:focus-visible+span{outline:2px solid var(--ct-blue);outline-offset:3px}
.contact-refined-page .callback-review{margin-top:26px;padding:20px 0 0;display:flex;gap:12px;border:0;border-top:1px solid var(--ct-line);border-radius:0;color:var(--ct-ink);background:transparent}
.contact-refined-page .callback-review i{color:var(--ct-blue);font-size:20px;margin-top:2px}
.contact-refined-page .callback-review strong{font-size:14px;font-weight:650}
.contact-refined-page .callback-review p{margin:5px 0 0;color:var(--ct-muted);font-size:13px;line-height:1.7}
.contact-refined-page .callback-actions{display:flex;align-items:center;gap:14px;margin-top:30px;padding-top:24px;border-top:1px solid var(--ct-line)}
.contact-refined-page .callback-actions .btn{min-height:46px;padding:12px 20px;border-radius:7px;font-size:13px}
.contact-refined-page .callback-actions .btn-primary{min-width:158px;color:#fff}
.contact-refined-page .callback-actions [data-step-back]{color:#50637e;background:transparent;border:1px solid #d5deeb}
.contact-refined-page .callback-actions [data-step-next],.contact-refined-page .callback-actions [data-step-submit]{margin-left:auto}
.contact-refined-page .callback-actions button:disabled{opacity:.65;cursor:wait}
/* Global .btn display rules must never reveal an inactive form control. */
.contact-refined-page [data-callback-form] [hidden]{display:none!important}
.contact-refined-page .contact-step-announcement,.contact-refined-page .contact-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.contact-refined-page main a:focus-visible,.contact-refined-page main button:focus-visible{outline:2px solid var(--ct-blue);outline-offset:3px}
.contact-refined-page .callback-success{min-height:350px;gap:0;padding:20px 0}
.contact-refined-page .callback-success>div{width:50px;height:50px;font-size:20px;box-shadow:none;color:var(--ct-blue);background:#edf2ff}
.contact-refined-page .callback-success>small{margin-top:23px;color:#2959c7;font-size:10px}
.contact-refined-page .callback-success h2{margin:12px 0;color:var(--ct-ink);font-size:29px;line-height:1.3;letter-spacing:-.04em}
.contact-refined-page .callback-success p{margin:0 0 23px;font-size:14px;line-height:1.8}
.contact-refined-page .callback-assurance{padding:60px 0 70px;background:#fff;border-top:1px solid var(--ct-line)}
.contact-refined-page .callback-assurance>.container{display:block}
.contact-refined-page .contact-assurance-heading{text-align:center;margin-bottom:35px}
.contact-refined-page .callback-assurance h2{margin:13px 0 0;color:var(--ct-ink);font-size:clamp(25px,2.5vw,34px);line-height:1.3;letter-spacing:-.04em}
.contact-refined-page .callback-assurance ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.contact-refined-page .callback-assurance li{display:flex;align-items:start;gap:15px;padding:10px 28px;background:none;border:0;border-radius:0}
.contact-refined-page .callback-assurance li+li{border-left:1px solid var(--ct-line)}
.contact-refined-page .callback-assurance li>span{display:block;flex:0 0 auto;width:auto;height:auto;background:none;color:var(--ct-blue);border-radius:0;font-size:12px;line-height:1.9;font-weight:650}
.contact-refined-page .callback-assurance li strong{display:block;color:var(--ct-ink);font-size:15px;line-height:1.6;font-weight:650}
.contact-refined-page .callback-assurance li p{margin:7px 0 0;color:var(--ct-muted);font-size:13px;line-height:1.8}
@keyframes contact-word-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes contact-underline{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes contact-step-in{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.contact-refined-page .callback-layout{gap:36px;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}.contact-refined-page .callback-form-shell{padding-left:28px}.contact-refined-page .contact-stepper b{font-size:11px}.contact-refined-page .contact-stepper li:not(:last-child):after{margin:0 8px}.contact-refined-page .callback-assurance li{padding:10px 15px}}
@media(max-width:760px){.contact-refined-page .contact-hero{padding:58px 0 54px}.contact-refined-page .contact-hero h1{font-size:clamp(34px,7vw,47px)}.contact-refined-page .contact-hero p{font-size:13px}.contact-refined-page .callback-page{padding:39px 0 48px}.contact-refined-page .callback-layout{grid-template-columns:minmax(0,1fr)!important;gap:32px}.contact-refined-page .callback-intro h2{font-size:29px}.contact-refined-page .callback-intro h2 br{display:none}.contact-refined-page .callback-intro>p{max-width:none}.contact-refined-page .contact-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}.contact-refined-page .contact-channels strong{font-size:13px}.contact-refined-page .contact-channels>a{gap:10px}.contact-refined-page .contact-channel-icon{flex-basis:34px;height:34px;font-size:14px}.contact-refined-page .contact-channels>a>i{display:none}.contact-refined-page .callback-form-shell{padding:30px 0 0;border:0;border-top:1px solid var(--ct-line)}.contact-refined-page .contact-stepper{margin-bottom:27px}.contact-refined-page .contact-stepper b{font-size:12px}.contact-refined-page .callback-assurance{padding:42px 0}.contact-refined-page .callback-assurance ol{grid-template-columns:minmax(0,1fr);gap:19px}.contact-refined-page .callback-assurance li{padding:0}.contact-refined-page .callback-assurance li+li{border-left:0}.contact-refined-page .contact-assurance-heading{text-align:left;margin-bottom:28px}}
@media(max-width:480px){.contact-refined-page .contact-channels{grid-template-columns:minmax(0,1fr);gap:0}.contact-refined-page .contact-channels>a{min-height:70px}.contact-refined-page .contact-stepper li{gap:6px}.contact-refined-page .contact-stepper b{font-size:11px}.contact-refined-page .contact-stepper li>span{flex-basis:26px;height:26px;font-size:11px}.contact-refined-page .contact-stepper li:not(:last-child):after{margin:0 6px}.contact-refined-page .callback-step h2{font-size:23px}.contact-refined-page .callback-actions .btn{padding:11px 14px}.contact-refined-page .callback-actions .btn-primary{min-width:0}}
@media(prefers-reduced-motion:reduce){.contact-refined-page .contact-hero h1>span,.contact-refined-page .contact-hero h1>span:after,.contact-refined-page form.is-enhanced .callback-step:not([hidden]){animation:none}.contact-refined-page .form-control,.contact-refined-page .contact-stepper li>span,.contact-refined-page .callback-choice-grid span,.contact-refined-page .contact-channels>a{transition:none}}
