/* Contact page: clean editorial enquiry experience. */
.contact-v2{overflow:clip;background:#f8f8fc;color:#160e53}
.contact-v2-hero{display:block;min-height:0;padding:clamp(132px,12vw,170px) max(24px,calc((100vw - 1240px)/2)) clamp(54px,6vw,78px);background:#f8f8fc;color:#160e53}
.contact-v2-intro{max-width:760px}.contact-v2-intro .eyebrow{color:#4e22d0}.contact-v2-intro h1{max-width:12ch;margin:.7rem 0 1.25rem;color:#160e53;font-size:clamp(3.35rem,6.5vw,6.5rem);font-weight:560;line-height:.96;letter-spacing:-.06em}.contact-v2-intro>p:not(.eyebrow){max-width:650px;margin:0;color:#676096;font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.65}.contact-v2-intro>small{display:block;margin-top:24px;color:#7d77a6;font-size:.875rem;line-height:1.65}.contact-v2-visual{display:none}

.contact-v2-body{display:grid;grid-template-columns:minmax(300px,340px) minmax(0,1fr);gap:clamp(28px,4vw,56px);width:min(1240px,calc(100vw - 48px));margin:0 auto;padding:0 0 clamp(88px,9vw,130px);background:transparent;color:#160e53;align-items:start}
.contact-v2-side{position:sticky;top:112px;align-self:start;padding:30px;border-radius:22px;background:#160e53;color:#fff;box-shadow:none}.contact-v2-side .eyebrow{color:#fff}.contact-v2-shortcuts{display:grid;margin-top:22px;border-top:1px solid rgba(255,255,255,.18)}.contact-v2-shortcuts a{display:grid;grid-template-columns:34px minmax(0,1fr);gap:2px 12px;padding:18px 0;border:0;border-bottom:1px solid rgba(255,255,255,.18);border-radius:0;background:transparent;color:#fff;text-decoration:none;box-shadow:none}.contact-v2-shortcuts i{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:50%;background:#ff7800;color:#160e53;font-style:normal}.contact-v2-shortcuts span{color:#d4d2e6;font-size:.7rem;line-height:1.2;letter-spacing:.1em;text-transform:uppercase}.contact-v2-shortcuts strong{min-width:0;color:#fff;font-size:.91rem;font-weight:520;line-height:1.4;overflow-wrap:normal;word-break:normal}.contact-v2-shortcuts a:hover i,.contact-v2-shortcuts a:focus-visible i{background:#fff}.contact-v2-shortcuts a:focus-visible{outline:3px solid #ff7800;outline-offset:4px}.contact-v2-side-note{max-width:27ch;margin:28px 0 0;color:#d4d2e6;font-size:.9rem;line-height:1.65}

.contact-v2-form-shell{position:relative;overflow:hidden;padding:0;border:1px solid #e9e8f3;border-radius:22px;background:#fff;color:#160e53;box-shadow:0 10px 30px rgba(38,28,106,.06)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.contact-v2-form-shell:before{content:none}.contact-v2-form-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;padding:clamp(32px,4vw,50px) clamp(26px,4.5vw,58px) 26px;border:0}.contact-v2-form-head .eyebrow{color:#4e22d0}.contact-v2-form-head h2{margin:.55rem 0 0;color:#160e53;font-size:clamp(2rem,3.4vw,3.45rem);font-weight:560;line-height:1;letter-spacing:-.045em}.contact-v2-form-head ol{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 16px;margin:0;padding:0 0 4px;list-style:none}.contact-v2-form-head li{display:flex;gap:5px;color:#7d77a6;font-size:.66rem;line-height:1.2;letter-spacing:.08em;text-transform:uppercase}.contact-v2-form-head li b{color:#ff7800;font-weight:700}
.contact-v2-form{max-width:none;padding:0 clamp(26px,4.5vw,58px) clamp(36px,5vw,58px);border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.contact-v2-stage{min-width:0;margin:0!important;padding:clamp(30px,3.6vw,44px) 0!important;border:0!important;border-top:1px solid #e9e8f3!important;background:transparent!important}.contact-v2-stage legend{display:flex!important;align-items:center;gap:12px;width:auto;max-width:100%;margin:0 0 24px!important;padding:0!important;background:transparent!important;color:#160e53!important;font-size:clamp(1.25rem,2vw,1.55rem)!important;line-height:1.2}.contact-v2-stage legend span{flex:0 0 auto;display:grid!important;place-items:center;width:32px;height:32px;border:0!important;border-radius:50%;background:#ff7800!important;color:#160e53!important;font-size:.67rem!important;font-weight:700}.contact-v2-stage legend strong{color:#160e53!important;font-weight:600}.contact-v2-helper{margin:-10px 0 20px;color:#676096!important;font-size:.88rem;line-height:1.55}

.contact-v2-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.contact-v2-field-grid label,.contact-v2-message,.contact-v2-detail label{display:block!important;margin:0!important;color:#160e53!important;font-size:.86rem!important;font-weight:600!important}.contact-v2-field-grid label em,.contact-v2-message em{float:right;color:#7d77a6!important;font-size:.66rem;font-style:normal;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.contact-v2-field-wide{grid-column:1/-1}.contact-v2-field-grid input,.contact-v2-message textarea,.contact-v2-detail input{width:100%;box-sizing:border-box;margin-top:9px!important;padding:13px 15px!important;border:1px solid #d4d2e6!important;border-radius:12px!important;background:#f8f8fc!important;color:#160e53!important;font:400 1rem/1.45 var(--font-sans,Inter,sans-serif)!important;box-shadow:none!important;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.contact-v2-field-grid input:hover,.contact-v2-message textarea:hover,.contact-v2-detail input:hover{border-color:#a8a4c3!important;background:#fff!important}.contact-v2-field-grid input:focus,.contact-v2-message textarea:focus,.contact-v2-detail input:focus{outline:0!important;border-color:#ff7800!important;background:#fff!important;box-shadow:0 0 0 3px rgba(255,120,0,.16)!important}.contact-v2-field-grid input::placeholder,.contact-v2-message textarea::placeholder,.contact-v2-detail input::placeholder{color:#a8a4c3!important}

.contact-family-grid,.contact-budget-grid,.contact-method-grid{display:grid;gap:10px}.contact-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-budget-grid,.contact-method-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-family-grid label,.contact-budget-grid label,.contact-method-grid label,.contact-service-group label{position:relative;cursor:pointer}.contact-family-grid input,.contact-budget-grid input,.contact-method-grid input,.contact-service-group input{position:absolute!important;opacity:0!important;pointer-events:none}.contact-family-grid label>span,.contact-budget-grid label>span,.contact-method-grid label>span,.contact-service-group label>span{position:relative;display:flex!important;align-items:center;min-height:48px;box-sizing:border-box;padding:11px 38px 11px 14px!important;border:1px solid #d4d2e6!important;border-radius:12px!important;background:#fff!important;color:#160e53!important;font-size:.86rem!important;line-height:1.35;text-align:left!important;box-shadow:none!important;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.contact-family-grid label>span>i{flex:0 0 auto;width:8px;height:8px;margin-right:10px;border-radius:50%;background:#4e22d0;box-shadow:none}.contact-family-grid label:nth-child(2)>span>i,.contact-family-grid label:nth-child(6)>span>i{background:#ff7800}.contact-family-grid label:nth-child(3)>span>i{background:#11dfef}
.contact-family-grid b,.contact-budget-grid b,.contact-method-grid b,.contact-service-group b{position:absolute;top:50%;right:13px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#ff7800;color:#160e53;font-size:.68rem;opacity:0;transform:translateY(-50%) scale(.72);transition:opacity .18s ease,transform .18s ease}.contact-family-grid input:checked+span,.contact-budget-grid input:checked+span,.contact-method-grid input:checked+span,.contact-service-group input:checked+span{border-color:#ff7800!important;background:#fff5ec!important;color:#160e53!important}.contact-family-grid input:checked+span b,.contact-budget-grid input:checked+span b,.contact-method-grid input:checked+span b,.contact-service-group input:checked+span b{opacity:1;transform:translateY(-50%) scale(1)}.contact-family-grid input:focus-visible+span,.contact-budget-grid input:focus-visible+span,.contact-method-grid input:focus-visible+span,.contact-service-group input:focus-visible+span{outline:3px solid rgba(255,120,0,.35)!important;outline-offset:2px}.contact-family-grid label>span:hover,.contact-budget-grid label>span:hover,.contact-method-grid label>span:hover,.contact-service-group label>span:hover{border-color:#a8a4c3!important;transform:translateY(-1px)}
.contact-service-refinements{display:grid;gap:12px;margin-top:14px}.contact-service-group{padding:16px;border:1px solid #e9e8f3;border-radius:14px;background:#f8f8fc}.contact-service-group[hidden]{display:none}.contact-service-group>p{margin:0 0 11px;color:#676096;font-size:.76rem}.contact-service-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.contact-service-group label>span{min-height:43px!important;font-size:.8rem!important}

.contact-v2-message{margin-top:26px!important}.contact-v2-message small{display:block;margin-top:5px;color:#7d77a6!important;font-size:.75rem;font-weight:400}.contact-v2-message textarea{min-height:112px;resize:vertical}.contact-v2-detail{margin-top:14px!important}.contact-v2-detail[hidden]{display:none}.contact-v2-detail label>span{display:block}.contact-v2-consent{padding:28px 0 2px;color:#676096!important}.contact-v2-consent .check{display:flex!important;gap:11px;margin:0 0 12px!important;color:#676096!important;font:400 .82rem/1.55 var(--font-sans,Inter,sans-serif)!important}.contact-v2-consent .check input{flex:0 0 auto;width:18px;height:18px;margin:2px 0 0;accent-color:#ff7800}.contact-v2-consent .check span{color:inherit!important;font-size:inherit!important}.contact-v2-consent a{color:#160e53!important;text-decoration-color:#ff7800;text-underline-offset:3px}.contact-v2-consent .optional{color:#7d77a6!important}
.contact-v2-form .form-error{min-height:20px;margin:7px 0 0;color:#b21742;font-size:.8rem}.contact-v2-form .form-status{min-height:18px;margin:4px 0 16px;color:#676096;font-size:.8rem}.contact-v2-form>[data-form-submit]{min-width:168px;border:0;background:#ff7800!important;color:#160e53!important;box-shadow:none!important;cursor:pointer}.contact-v2-form>[data-form-submit]:disabled{cursor:wait;opacity:.68}

.contact-v2-result{min-height:520px;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(46px,7vw,78px);background:#fff;color:#160e53}.contact-v2-result[hidden]{display:none}.contact-v2-result>span:first-child{display:grid;place-items:center;width:48px;height:48px;margin-bottom:26px;border-radius:50%;background:#ff7800;color:#160e53;font-size:1.15rem}.contact-v2-failure>span:first-child{background:#ff4672}.contact-v2-result h2{max-width:15ch;margin:10px 0 15px;color:#160e53;font-size:clamp(2.25rem,5vw,4.25rem);line-height:1;letter-spacing:-.05em}.contact-v2-result>p:not(.eyebrow){max-width:490px;color:#676096;font-size:1rem;line-height:1.6}.contact-v2-result .button{margin-top:22px}.contact-v2-failure>div{display:flex;flex-wrap:wrap;gap:18px;margin-top:18px}.contact-v2-failure>div a{color:#160e53;text-underline-offset:4px}

@media(max-width:900px){.contact-v2-body{grid-template-columns:minmax(270px,310px) minmax(0,1fr);gap:24px}.contact-v2-form-head{grid-template-columns:1fr}.contact-v2-form-head ol{justify-content:flex-start}.contact-budget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.contact-v2-hero{padding:118px 20px 44px}.contact-v2-intro h1{font-size:clamp(3rem,13vw,4.2rem)}.contact-v2-body{display:block;width:calc(100vw - 32px);padding-bottom:calc(128px + env(safe-area-inset-bottom))}.contact-v2-side{position:static;margin-bottom:20px;padding:25px 22px}.contact-v2-side-note{max-width:none}.contact-v2-form-shell{border-radius:18px}.contact-v2-form-head{padding:28px 20px 20px}.contact-v2-form-head ol{display:none}.contact-v2-form{padding:0 20px 34px}.contact-v2-stage{padding:30px 0!important}.contact-v2-field-grid,.contact-family-grid,.contact-service-group>div{grid-template-columns:1fr}.contact-v2-field-wide{grid-column:auto}.contact-budget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-method-grid{grid-template-columns:1fr}}
@media(max-width:390px){.contact-v2-hero{padding-inline:16px}.contact-v2-body{width:calc(100vw - 24px)}.contact-v2-side,.contact-v2-form-head,.contact-v2-form{padding-inline:18px}.contact-budget-grid{grid-template-columns:1fr!important}}

/* Contact owns its presentation. These declarations isolate it from legacy
   reconstruction rules that are still loaded globally for other routes. */
.contact-v2 .contact-v2-body{display:grid!important;grid-template-columns:minmax(300px,340px) minmax(0,1fr)!important;gap:clamp(28px,4vw,56px)!important;width:min(1240px,calc(100vw - 48px))!important;margin:0 auto!important;padding:0 0 clamp(88px,9vw,130px)!important;background:transparent!important}
.contact-v2 .contact-v2-side{padding:30px!important;border-radius:22px!important;box-shadow:none!important}
.contact-v2 .contact-v2-shortcuts a{grid-template-columns:34px minmax(0,1fr)!important;gap:2px 12px!important;background:transparent!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.18)!important}
.contact-v2 .contact-v2-shortcuts strong{font-size:.91rem!important;overflow-wrap:normal!important;word-break:normal!important;white-space:nowrap!important}
.contact-v2 .contact-v2-form-shell{padding:0!important;border:1px solid #e9e8f3!important;border-radius:22px!important}
.contact-v2 .contact-v2-form-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;padding:clamp(32px,4vw,50px) clamp(26px,4.5vw,58px) 26px!important;border:0!important}
.contact-v2 .contact-v2-form{padding:0 clamp(26px,4.5vw,58px) 46px!important}
.contact-v2 .contact-v2-stage{padding:34px 0!important;border:0!important;border-top:1px solid #e9e8f3!important}
.contact-v2 .contact-v2-stage legend{padding:0!important;background:transparent!important}
@media(max-width:900px){.contact-v2 .contact-v2-body{grid-template-columns:minmax(270px,310px) minmax(0,1fr)!important;gap:24px!important}.contact-v2 .contact-v2-form-head{grid-template-columns:1fr!important}}
@media(max-width:760px){.contact-v2 .contact-v2-body{display:block!important;width:calc(100vw - 32px)!important;padding-bottom:calc(128px + env(safe-area-inset-bottom))!important}.contact-v2 .contact-v2-side{position:static!important;margin-bottom:20px!important;padding:25px 22px!important}.contact-v2 .contact-v2-form-shell{border-radius:18px!important}.contact-v2 .contact-v2-form-head{padding:28px 20px 20px!important}.contact-v2 .contact-v2-form-head ol{display:none!important}.contact-v2 .contact-v2-form{padding:0 20px 34px!important}.contact-v2 .contact-v2-stage{padding:30px 0!important}.contact-v2 .contact-v2-shortcuts strong{white-space:normal!important}}
@media(max-width:390px){.contact-v2 .contact-v2-body{width:calc(100vw - 24px)!important}.contact-v2 .contact-v2-side,.contact-v2 .contact-v2-form-head,.contact-v2 .contact-v2-form{padding-inline:18px!important}}
@media(prefers-reduced-motion:reduce){.contact-v2 *{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}}

/* Convergence pass: preserve the approved form, normalize hero scale and contrast. */
.contact-v2 .contact-v2-intro h1{max-width:14ch!important;font-size:clamp(3.15rem,5vw,5.25rem)!important;font-weight:500!important;line-height:.98!important;letter-spacing:-.055em!important;text-wrap:balance}
.contact-v2 .contact-v2-intro>p:not(.eyebrow){color:#e9e8f3!important}
.contact-v2 .contact-v2-intro>small{color:#d4d2e6!important}
.contact-v2 .contact-v2-form-head h2{max-width:18ch!important;font-size:clamp(2rem,3.2vw,3.35rem)!important;line-height:1.03!important}
.contact-v2 .contact-v2-shortcuts a,.contact-v2 .contact-v2-form [data-form-submit]{transition:transform .24s cubic-bezier(.22,.7,.2,1),border-color .24s cubic-bezier(.22,.7,.2,1),background-color .24s cubic-bezier(.22,.7,.2,1)}
.contact-v2 .contact-v2-form [data-form-submit]:hover{transform:translateY(-2px)}
.contact-v2 .contact-v2-form [data-form-submit]:focus-visible{outline:3px solid #4e22d0;outline-offset:4px}
@media(max-width:760px){.contact-v2 .contact-v2-intro h1{font-size:clamp(2.85rem,11.5vw,3.8rem)!important}}
@media(prefers-reduced-motion:reduce){.contact-v2 .contact-v2-shortcuts a,.contact-v2 .contact-v2-form [data-form-submit]{transition:none}.contact-v2 .contact-v2-form [data-form-submit]:hover{transform:none}}
