/* Scoped legal-firms partnership page; approved v4 cascade and shared assets. */
/* Approved cascade layer 1. */
:where(.legalPartnerSite) .wrap{max-width:1280px;margin-inline:auto;padding-inline:40px}
:where(.legalPartnerSite) .lang{font-size:12px;font-weight:600;color:#030f3f}
:where(.legalPartnerSite) .legalPartnerPage h1,:where(.legalPartnerSite) .legalPartnerPage h2,:where(.legalPartnerSite) .legalPartnerPage h3{text-transform:uppercase}
:where(.legalPartnerSite) .legalPartnerPage .eyebrow{font-size:12px;line-height:1.5;letter-spacing:.13em;font-weight:700;color:#0040e3;margin:0 0 22px}
:where(.legalPartnerSite) .legalPartnerPage h2{font-size:clamp(30px,3.4vw,46px);line-height:1.06;letter-spacing:-.035em;margin:0}
:where(.legalPartnerSite) .legalPartnerPage h3{font-size:20px;line-height:1.25;letter-spacing:-.025em;margin:0}
:where(.legalPartnerSite) .legalPartnerPage p{line-height:1.65}
:where(.legalPartnerSite) .lpHero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(340px,.8fr);gap:70px;align-items:center;padding-top:80px;padding-bottom:80px}
:where(.legalPartnerSite) .heroWords h1{font-size:clamp(42px,4.65vw,64px);line-height:1.03;letter-spacing:-.045em;margin:0;overflow-wrap:break-word}
:where(.legalPartnerSite) .heroWords h1 span{color:#0040e3}
:where(.legalPartnerSite) .lpLead{max-width:620px;font-size:19px;color:#475569;margin:28px 0 0;line-height:1.6}
:where(.legalPartnerSite) .lpActions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:32px}
:where(.legalPartnerSite) .rewardCard{background:#030f3f;color:#fff;padding:32px;border-radius:20px}
:where(.legalPartnerSite) .lpSection{padding-top:46px;padding-bottom:40px}
:where(.legalPartnerSite) .sectionTop{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;margin-bottom:34px}
:where(.legalPartnerSite) .sectionTop>p{margin:0;font-size:16px;color:#475569;max-width:440px}
:where(.legalPartnerSite) .caseGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #d6dfec}
:where(.legalPartnerSite) .case{padding:26px 22px 22px 0;display:flex;flex-direction:column;border-bottom:1px solid #d6dfec}
:where(.legalPartnerSite) .case+.case{border-left:1px solid #d6dfec;padding-left:22px}
:where(.legalPartnerSite) .num{font-size:12px;font-weight:700;letter-spacing:.12em;color:#0040e3}
:where(.legalPartnerSite) .case h3{margin-top:25px;min-height:50px}
:where(.legalPartnerSite) .case p{font-size:14px;color:#475569;margin:12px 0}
:where(.legalPartnerSite) .case a{margin-top:auto;padding-top:14px;font-size:12px;line-height:1.7}
:where(.legalPartnerSite) input:focus-visible{outline:3px solid #0040e3;outline-offset:2px}
:where(.legalPartnerSite) .lpFooter{background:#030f3f;color:#fff;padding:36px 0}
:where(.legalPartnerSite) .footerRow{display:flex;align-items:center;flex-wrap:wrap;gap:26px}
:where(.legalPartnerSite) .footerRow img{display:block}
:where(.legalPartnerSite) .footerRow p{font-size:12px;color:#b9c9e5;max-width:230px}
:where(.legalPartnerSite) .footerRow nav{margin-left:auto;display:flex;gap:16px;flex-wrap:wrap}
:where(.legalPartnerSite) .footerRow nav a{font-size:12px;color:#c6d1e6}
:where(.legalPartnerSite) .legalPartnerPage :target{scroll-margin-top:100px}
@media(max-width:1100px){
:where(.legalPartnerSite) .lpHero{gap:35px;grid-template-columns:1.15fr .85fr}
:where(.legalPartnerSite) .heroWords h1{font-size:48px}
:where(.legalPartnerSite) .caseGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
:where(.legalPartnerSite) .case:nth-child(3){border-left:0;padding-left:0}
:where(.legalPartnerSite) .case h3{min-height:0}
:where(.legalPartnerSite) .sectionTop{gap:35px}
}
@media(max-width:800px){
:where(.legalPartnerSite) .wrap{padding-inline:24px}
:where(.legalPartnerSite) .lpHero{grid-template-columns:1fr;padding-top:48px;padding-bottom:40px;gap:32px}
:where(.legalPartnerSite) .heroWords h1{font-size:52px;max-width:650px}
:where(.legalPartnerSite) .rewardCard{max-width:520px}
:where(.legalPartnerSite) .sectionTop{grid-template-columns:1fr;gap:28px}
:where(.legalPartnerSite) .sectionTop>p{max-width:600px}
:where(.legalPartnerSite) .lpSection{padding-top:36px;padding-bottom:28px}
:where(.legalPartnerSite) .footerRow nav{margin-left:0}
}
@media(max-width:480px){
:where(.legalPartnerSite) .wrap{padding-inline:20px}
:where(.legalPartnerSite) .headerRight{gap:10px}
:where(.legalPartnerSite) .headerCta{padding:0 12px;font-size:12px}
:where(.legalPartnerSite) .lang{font-size:12px}
:where(.legalPartnerSite) .siteHeader{gap:12px}
:where(.legalPartnerSite) .heroWords h1{font-size:clamp(36px,9.7vw,46px);letter-spacing:-.04em}
:where(.legalPartnerSite) .lpLead{font-size:17px}
:where(.legalPartnerSite) .lpActions{align-items:stretch;flex-direction:column}
:where(.legalPartnerSite) .lpActions .btn{width:100%;height:auto;min-height:52px;padding:14px 18px;font-size:14px;text-align:center}
:where(.legalPartnerSite) .rewardCard{padding:26px}
:where(.legalPartnerSite) .caseGrid{grid-template-columns:1fr}
:where(.legalPartnerSite) .case,:where(.legalPartnerSite) .case+.case{border-left:0;padding:24px 0}
:where(.legalPartnerSite) .case h3{margin-top:16px}
:where(.legalPartnerSite) .case p{margin-top:8px}
:where(.legalPartnerSite) .case a{padding-top:5px}
:where(.legalPartnerSite) .legalPartnerPage h2{font-size:32px}
:where(.legalPartnerSite) .sectionTop{margin-bottom:26px}
:where(.legalPartnerSite) .footerRow{gap:20px}
:where(.legalPartnerSite) .footerRow nav{gap:14px}
}
@media(prefers-reduced-motion:reduce){
html:has(> body.legalPartnerSite){scroll-behavior:auto}
}
@media(max-width:1100px){
:where(.legalPartnerSite) .siteHeader .navBurger{z-index:80}
:where(.legalPartnerSite) .siteHeader .navBurger input{width:100%;height:100%;z-index:1}
:where(.legalPartnerSite) .siteHeader:has(#navToggle:checked) .navBurgerIcon i{background:#fff}
}
/* Approved cascade layer 2. */
:where(.legalPartnerSite) .legalPartnerPage .case:first-child h3{color:#0040e3}
:where(.legalPartnerSite) .legalPartnerPage .case:first-child{background:linear-gradient(#edf3ff,transparent);padding-left:20px;padding-right:20px}
:where(.legalPartnerSite) .bookingBand{background:#030f3f;padding:64px 0}
:where(.legalPartnerSite) .bookingGrid{display:grid;grid-template-columns:1.25fr .8fr;gap:80px;align-items:center}
:where(.legalPartnerSite) .bookingCopy{color:#fff}
:where(.legalPartnerSite) .bookingCopy .eyebrow{color:#b9c9e5}
:where(.legalPartnerSite) .bookingCopy h2{font-size:clamp(32px,3.4vw,46px);line-height:1.1;overflow-wrap:break-word}
:where(.legalPartnerSite) .bookingCopy>p:last-child{font-size:17px;max-width:550px;color:#c6d1e6;margin:24px 0 0}
:where(.legalPartnerSite) .bookingGrid .contactCard{min-width:0}
:where(.legalPartnerSite) .bookingGrid .contactCard .contactQuote{font-size:21px;line-height:1.4}
:where(.legalPartnerSite) .bookingGrid .contactCardTop .role{margin-top:6px}
:where(.legalPartnerSite) .bookingGrid .contactButtons .btn{min-height:50px;height:auto;padding:14px 18px;text-align:center;line-height:1.4}
:where(.legalPartnerSite) .legalPartnerPage a:focus-visible{outline:3px solid #0040e3;outline-offset:5px}
:where(.legalPartnerSite) .bookingBand a:focus-visible{outline-color:white}
@media(max-width:1100px){
:where(.legalPartnerSite) .bookingGrid{gap:40px}
}
@media(max-width:800px){
:where(.legalPartnerSite) .bookingGrid{grid-template-columns:1fr}
:where(.legalPartnerSite) .bookingGrid{gap:28px}
:where(.legalPartnerSite) .bookingGrid .contactCard{max-width:560px}
:where(.legalPartnerSite) .bookingBand{padding:44px 0}
}
@media(max-width:480px){
:where(.legalPartnerSite) .legalPartnerPage .case:first-child{padding:24px 20px;border-radius:12px 12px 0 0}
:where(.legalPartnerSite) .bookingGrid .contactCard{padding:26px}
:where(.legalPartnerSite) .bookingCopy>p:last-child{font-size:16px}
:where(.legalPartnerSite) .bookingCopy h2{font-size:32px}
}
/* Approved cascade layer 3. */
:where(.legalPartnerSite) .legalPartnerPage .case:first-child{background:none;padding-left:0;padding-right:22px}
:where(.legalPartnerSite) .legalPartnerPage .case:first-child h3{color:inherit}
:where(.legalPartnerSite) .legalPartnerPage .lpHero{padding-top:58px;padding-bottom:38px;gap:52px}
:where(.legalPartnerSite) .legalPartnerPage .heroWords h1{font-size:clamp(38px,4vw,56px)}
:where(.legalPartnerSite) .legalPartnerPage .lpLead{font-size:18px;max-width:650px}
:where(.legalPartnerSite) .legalPartnerPage .caseGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
:where(.legalPartnerSite) .legalPartnerPage .case{padding:26px 28px 26px 0}
:where(.legalPartnerSite) .legalPartnerPage .case+.case{padding-left:28px}
:where(.legalPartnerSite) .legalPartnerPage .case:nth-child(3){padding-left:0;border-left:0}
:where(.legalPartnerSite) .legalPartnerPage .case h3{min-height:0;margin-top:14px;font-size:22px}
:where(.legalPartnerSite) .legalPartnerPage .case p{font-size:16px;line-height:1.6;margin-bottom:0;max-width:550px}
:where(.legalPartnerSite) .legalPartnerPage .case:first-child{padding-right:28px}
:where(.legalPartnerSite) .partnerRoute{padding:24px 0 0}
:where(.legalPartnerSite) .partnerRoute+.partnerRoute{border-top:1px solid #354064;margin-top:24px}
:where(.legalPartnerSite) .partnerRoute strong{display:block;font-size:28px;line-height:1.15;letter-spacing:-.03em}
:where(.legalPartnerSite) .partnerRoute p{margin:8px 0 0;color:#c6d1e6;font-size:15px}
:where(.legalPartnerSite) .bookingBand{padding:48px 0}
:where(.legalPartnerSite) .bookingGrid{gap:54px}
@media(max-width:800px){
:where(.legalPartnerSite) .legalPartnerPage .lpHero{gap:28px;padding-top:38px}
:where(.legalPartnerSite) .legalPartnerPage .heroWords h1{font-size:46px}
:where(.legalPartnerSite) .bookingGrid{gap:28px}
}
@media(max-width:580px){
:where(.legalPartnerSite) .legalPartnerPage .caseGrid{grid-template-columns:1fr}
:where(.legalPartnerSite) .legalPartnerPage .case,:where(.legalPartnerSite) .legalPartnerPage .case+.case,:where(.legalPartnerSite) .legalPartnerPage .case:first-child{border-left:0;padding:24px 0;background:none}
:where(.legalPartnerSite) .legalPartnerPage .case h3{font-size:21px}
:where(.legalPartnerSite) .legalPartnerPage .heroWords h1{font-size:clamp(34px,9vw,46px)}
:where(.legalPartnerSite) .legalPartnerPage .lpLead{font-size:17px}
}
/* Approved cascade layer 4. */
:where(.legalPartnerSite) .legalPartnerPage .parentProgramme{display:inline-block;margin-bottom:22px;color:#0040e3;font-size:16px;line-height:1.5;text-decoration:underline;text-underline-offset:4px}
:where(.legalPartnerSite) .legalPartnerPage .heroWords h1{overflow-wrap:break-word}
:where(.legalPartnerSite) .legalPartnerPage .partnerRoute:first-child{padding-top:0}
:where(.legalPartnerSite) .legalPartnerPage .partnerRoute p{font-size:17px;line-height:1.55}
:where(.legalPartnerSite) .legalPartnerPage .partnerRoute .rewardDuration{font-size:16px;line-height:1.5;margin-top:12px}
:where(.legalPartnerSite) .legalPartnerPage .case p{font-size:17px;line-height:1.6}
:where(.legalPartnerSite) .legalPartnerPage #scenarios{padding-bottom:58px}
:where(.legalPartnerSite) .legalPartnerPage .lpActions .btn{height:auto;min-height:52px;padding-top:13px;padding-bottom:13px}
@media(max-width:580px){
:where(.legalPartnerSite) .legalPartnerPage .case p{font-size:17px}
:where(.legalPartnerSite) .legalPartnerPage #scenarios{padding-bottom:36px}
:where(.legalPartnerSite) .legalPartnerPage .partnerRoute strong{font-size:26px}
}
/* Entry card on the existing referral programme; contractual copy is unchanged. */
.referralPage .referralLegalFirms{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;border:1px solid #d6dfec;border-radius:18px;padding:32px;margin-bottom:64px}
.referralPage .referralLegalFirms h2{font-size:clamp(26px,3vw,36px);line-height:1.15;margin:0 0 14px;text-transform:uppercase}
.referralPage .referralLegalFirms p{font-size:17px;line-height:1.6;color:#475569;max-width:760px;margin:0}
.referralPage .referralLegalFirmsLinks{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.referralPage .referralLegalFirmsLinks a{font-size:16px;line-height:1.5;color:#0040e3;text-decoration:underline;text-underline-offset:4px}
.referralPage .referralLegalFirmsLinks a:focus-visible{outline:3px solid #0040e3;outline-offset:5px}
@media(max-width:800px){.referralPage .referralLegalFirms{grid-template-columns:1fr;padding:24px;gap:24px;margin-bottom:44px}}
