/* 1. tokens */
.lex-practice{
  --lex-practice-ground:#060c1c;
  --lex-practice-text:#fff;
  --lex-practice-muted:rgba(255,255,255,.7);
  --lex-practice-brand:#00a1e1;
  --lex-practice-brand-br:#51ceff;
  --lex-practice-brand-dk:rgba(0,161,224,.6);
  --lex-practice-w:1140px;
  font-family:Poppins,sans-serif;font-size:16px;font-weight:400;line-height:1.5;
  color:var(--lex-practice-text);
}
.lex-practice,.lex-practice *,.lex-practice *::before,.lex-practice *::after{box-sizing:border-box}

/* 2. resets at element weight so components always win */
:where(.lex-practice) img{max-width:100%;height:auto;border:0;vertical-align:middle;display:block}
:where(.lex-practice) h1,:where(.lex-practice) h2,:where(.lex-practice) h3,:where(.lex-practice) h4{margin:0;padding:0;color:#fff;font-family:Poppins,sans-serif}
:where(.lex-practice) p{margin:0 0 16px}
:where(.lex-practice) a{text-decoration:none;box-shadow:none;color:inherit}
:where(.lex-practice) video{max-width:100%;border:0}

/* 3. mirrors of the global theme rules that still reach bare tags in here,
      so the block renders the same in isolation. Ours carry a4l-customized. */
.lex-practice h1:not(.a4l-customized):not(.slide-title){color:#242424;font-size:40px;font-weight:700;line-height:60px}
.lex-practice h2:not(.a4l-customized):not(.slide-title){color:#242424;font-size:25px;font-weight:700;line-height:40px}
.lex-practice button:not(.a4l-customized):not(.cky-btn-close):not(.iti__selected-country){min-width:80px;padding:15px 10px;border-radius:32px;background-color:transparent;color:#fff;font-size:14px;font-weight:600;cursor:pointer}

/* 4. layout primitives */
.lex-practice-w{padding-inline:10px;max-width:var(--lex-practice-w);margin-inline:auto}
.lex-practice-split{display:flex;flex-wrap:wrap;align-items:center}
.lex-practice-feat--rev>.lex-practice-split{flex-direction:row-reverse}

/* 5. typography */
.lex-practice-h1{font-size:40px;font-weight:600;line-height:1.5em;text-align:center;margin-bottom:35px}
.lex-practice-h2{font-size:30px;font-weight:600;line-height:1.5em;text-align:center}
.lex-practice-h3{font-size:30px;font-weight:600;line-height:1.5em;margin:0 0 20px}

/* 6. buttons. gap not margin-left, so a wrapped fr/es label still gets spacing */
.lex-practice-btnrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;margin-top:60px;column-gap:20px;row-gap:12px}
.lex-practice-btnrow--g15{column-gap:15px}
.lex-practice-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;padding:15px 35px;border:2px solid transparent;border-radius:50px;font-size:20px;font-weight:600;line-height:1;text-align:center;transition:background-color .3s ease,color .3s ease,opacity .4s ease}
.lex-practice-btn--sm{padding:12px 24px;font-size:20px}
.lex-practice-btn--mint{background-color:var(--lex-practice-brand);border-color:var(--lex-practice-brand-br);color:#000;fill:#000}
.lex-practice-btn--mint:hover,.lex-practice-btn--mint:focus{background-color:var(--lex-practice-brand-dk);color:#000}
.lex-practice-btn--outline{border-radius:45px;background-color:rgba(45,131,190,0);border-color:#fff;color:#fff;fill:#fff}
.lex-practice-btn--outline:hover,.lex-practice-btn--outline:focus{background-color:#383d49;border-color:#fff;color:#fff}
.lex-practice-btn--link{min-width:0;padding:15px 30px;border-radius:10px;border-color:transparent;border-width:0;background-color:rgba(255,255,255,0);color:#777b84;fill:#777b84;font-size:20px}
.lex-practice-btn--link:hover,.lex-practice-btn--link:focus{color:var(--lex-practice-brand)}

/* 7. hero */
.lex-practice-hero{background-color:var(--lex-practice-ground);padding:60px 30px}
.lex-practice-hero__logo{display:flex;justify-content:center;padding-bottom:30px}
.lex-practice-hero__logo img{width:100%;max-width:300px}
.lex-practice-hero__sub{max-width:none;margin:0 auto 16px;font-size:18px;font-weight:400;line-height:1.5em;text-align:center}

/* 8. department carousel. The slides keep their authored class names -
      slide-card/-title/-text/-image and swiper-slide are a script contract. */
.lex-practice-depts{background-color:var(--lex-practice-ground);padding:60px 30px}
.lex-practice-depts>.lex-practice-w>.lex-practice-h2{padding-bottom:0px}

/* Swiper owns wrapper/slide layout - options go in data-swiper on the .swiper div */

/* 9. LEXA assistant */
.lex-practice-lexa{background-color:var(--lex-practice-ground);padding:60px 30px}
.lex-practice-lexa__logo{display:flex;justify-content:center;padding-bottom:15px}
.lex-practice-lexa__logo img{width:100%;max-width:402px}
.lex-practice-lexa__d{max-width:860px;margin:0 auto 16px;font-size:18px;font-weight:300;line-height:1.5em;text-align:center}

/* 11. feature rows */
.lex-practice-featintro{background-color:var(--lex-practice-ground);padding:60px 0 0}
.lex-practice-featintro>.lex-practice-w>.lex-practice-h2{padding:0 15%}
.lex-practice-feat{background-color:var(--lex-practice-ground);padding:60px 0}
.lex-practice-feat>.lex-practice-w{padding-inline:0}
.lex-practice-feat>.lex-practice-w{padding-inline:0}
.lex-practice-feat__media{width:50%;padding:30px;display:flex;flex-direction:column;justify-content:center}
.lex-practice-feat__body{width:50%;padding:30px;display:flex;flex-direction:column;justify-content:center}
.lex-practice-feat>.lex-practice-split{align-items:stretch}
.lex-practice-feat__d{font-size:18px;font-weight:400;line-height:1.5em;color:var(--lex-practice-text);margin:0}

/* 12. testimonials (shortcode) */
.lex-practice-stories{background-color:var(--lex-practice-ground);padding:60px 30px}

/* 13. marketplace / add-ons */
.lex-practice-mkt{background-color:var(--lex-practice-ground);padding:60px 30px}
.lex-practice-mkt>.lex-practice-w{padding-inline:0}
.lex-practice-mkt__head{padding:10px}
.lex-practice-mkt__head>.lex-practice-h2{margin:10px 0 0;padding:0 10%;text-align:center}
.lex-practice-trust>.lex-practice-w{padding-inline:0}
.lex-practice-mkt>.lex-practice-w>.lex-practice-split{margin-inline:0}
.lex-practice-mkt__media{width:50%;padding:30px 60px 30px 30px;display:flex;flex-direction:column;justify-content:center}
.lex-practice-mkt__body{width:50%;padding:30px 0 30px 60px;display:flex;flex-direction:column;justify-content:center}
.lex-practice-mkt>.lex-practice-w>.lex-practice-split{align-items:stretch}
.lex-practice-mkt__logo{display:flex;justify-content:center;padding-bottom:15px}
.lex-practice-mkt__logo img{width:100%;max-width:300px}
.lex-practice-mkt__d{font-size:18px;font-weight:300;line-height:24px}
.lex-practice-vidbox{overflow:hidden;border-radius:16px;width:480px;max-width:100%;aspect-ratio:1/1;margin-inline:auto}
.lex-practice-vidbox video{display:block;width:100%;height:100%;object-fit:cover}

/* 14. trust band */
.lex-practice-trust{background-color:var(--lex-practice-ground);padding:60px 30px}
.lex-practice-trust>.lex-practice-w{padding-inline:0}
.lex-practice-trust>.lex-practice-w>.lex-practice-h2{margin:10px 0 0;padding:0 15%;text-align:center}
.lex-practice-trust__grid{display:flex;flex-wrap:wrap;margin-top:15px}
.lex-practice-trust__it{flex:0 0 50%;max-width:50%;box-sizing:border-box;padding-block:30px;padding-inline:0 30px;text-align:start}
.lex-practice-trust__ico{display:flex;justify-content:flex-start;margin-bottom:10px}
.lex-practice-trust__ico img{width:30px;height:auto}
.lex-practice-trust__t{font-size:18px;font-weight:600;line-height:1.2em;margin:0 0 19px;padding-top:15px}
.lex-practice-trust__d{font-size:18px;font-weight:300;line-height:1.5em;margin:0;color:var(--lex-practice-text)}

/* 15. closing CTA */
.lex-practice-cta{background-color:var(--lex-practice-ground);padding:60px 30px}
.lex-practice-cta>.lex-practice-w{padding-inline:0}
.lex-practice-cta>.lex-practice-w>.lex-practice-h2{margin:10px 0 0;padding-bottom:40px}
/* live paints this CTA white with blue text, not the brand fill */
.lex-practice-cta .lex-practice-btn--mint{background-color:#fff;border-color:#fff;border-width:0;color:#2d83be;fill:#2d83be;border-radius:10px;padding:15px 90px;min-width:0}
.lex-practice-cta .lex-practice-btn--mint:hover,.lex-practice-cta .lex-practice-btn--mint:focus{background-color:#fff;color:#2d83be;opacity:.5}
.lex-practice-cta .lex-practice-btnrow{margin-top:0}

/* 16. FAQ. .lex-toggle keeps the script.js contract: it toggles .lex-active on
       the title and swaps the closed/opened icon spans. The open-state border
       rule is the one the export never captured (panel was collapsed). */
.lex-practice-faq{background-color:var(--lex-practice-ground);padding:60px 30px}
.lex-practice .lex-toggle .lex-toggle-item{margin-bottom:30px}
.lex-practice .lex-toggle .lex-tab-title{display:flex;align-items:center;padding:0 0 8px;border-block-end:0;font-weight:700;color:#fff;cursor:pointer}
.lex-practice .lex-toggle .lex-tab-title.lex-active{border-block-end:none}
.lex-practice .lex-toggle .lex-tab-content{border-block-end:2px solid rgba(255,255,255,.2);max-height:0;overflow:hidden;opacity:0;padding:16px 0 0 33px;color:#fff}
.lex-practice .lex-toggle .lex-tab-title.lex-active+.lex-tab-content{max-height:1000px;opacity:1;padding:16px 0 10px 33px}
.lex-practice .lex-toggle .lex-tab-title .lex-toggle-icon{display:inline-block;flex:none;width:16px}
.lex-practice .lex-toggle .lex-tab-title .lex-toggle-icon svg{width:16px;height:16px}
.lex-practice .lex-toggle .lex-tab-title .lex-toggle-icon .lex-toggle-icon-closed{display:block}
.lex-practice .lex-toggle .lex-tab-title .lex-toggle-icon .lex-toggle-icon-opened{display:none}

/* 17. tablet - max-width queries stack, so this is live at mobile too */
/* per-section heading sizes, measured off the source at 1440px */
.lex-practice-depts>.lex-practice-w>.lex-practice-h2{font-size:34px;margin-top:120px}
.lex-practice-featintro .lex-practice-h2{font-size:28px}
.lex-practice-mkt__head>.lex-practice-h2{font-size:34px}
.lex-practice-trust>.lex-practice-w>.lex-practice-h2{font-size:28px}
.lex-practice-cta>.lex-practice-w>.lex-practice-h2{font-size:24px}
.lex-practice-faq>.lex-practice-w>.lex-practice-h2{font-size:32px;line-height:1.25em}

@media (max-width:1200px){
  .lex-practice-w{max-width:1024px}
  .lex-practice-h1{font-size:26px}
  .lex-practice-h2{font-size:26px}
  .lex-practice-h3{font-size:22px;line-height:1.2em}
  .lex-practice-feat__d,.lex-practice-mkt__d,.lex-practice-hero__sub,.lex-practice-lexa__d{font-size:16px}
  .lex-practice-btn{font-size:20px}
  .lex-practice-trust,.lex-practice-mkt{padding:60px 30px}
}

/* 18. mobile */
@media (max-width:900px){
  .lex-practice-w{max-width:767px}
  .lex-practice-h1,.lex-practice-h2{font-size:22px;line-height:1.5em}
  .lex-practice-h3{font-size:20px}
  .lex-practice-feat__d,.lex-practice-mkt__d,.lex-practice-hero__sub,.lex-practice-lexa__d{font-size:15px}
  .lex-practice-hero,.lex-practice-depts,.lex-practice-lexa,.lex-practice-feat,.lex-practice-featintro,.lex-practice-trust,.lex-practice-mkt,.lex-practice-stories,.lex-practice-cta,.lex-practice-faq{padding:60px 15px}
  .lex-practice-feat__media,.lex-practice-feat__body,.lex-practice-mkt__media,.lex-practice-mkt__body{width:100%;padding:15px 0}
  .lex-practice-mkt__logo img{max-width:150px}
  /* the source marks these rows lex-reverse-mobile: media below the text */
  .lex-practice-feat--rev>.lex-practice-split{flex-direction:column-reverse}
  .lex-practice-trust__it{flex:0 0 100%;max-width:100%}
  /* two buttons per row stack with real spacing */
  .lex-practice-btnrow{flex-direction:column;align-items:center;column-gap:0;row-gap:15px}
  .lex-practice .lex-toggle .lex-tab-title{padding:0 0 8px}
  .lex-practice .lex-toggle .lex-tab-title.lex-active+.lex-tab-content{padding:16px 0 10px 33px}
}

/* two-panel card, measured off the source at 1440px: two 570px halves,
   dark panel radius 30px pad 72/64, light panel rgb(216,217,220) pad 90px */
.lex-practice-lexa__card{display:flex;flex-wrap:wrap;align-items:stretch;min-height:570px}
.lex-practice-lexa__text{flex:1 1 50%;min-width:0;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start;
background-color:#1d2332;border-start-start-radius:30px;border-end-start-radius:30px;padding:72px 64px}
.lex-practice-lexa__text .lex-practice-h2{text-align:start;font-size:36px;margin:0 0 20px}
.lex-practice-lexa__text .lex-practice-lexa__d{max-width:none;margin:0 0 19px;text-align:start;line-height:1.7}
.lex-practice-lexa__text .lex-practice-btnrow{justify-content:flex-start;margin-top:0;padding-top:15px}
.lex-practice-lexa__panel{flex:1 1 50%;min-width:0;box-sizing:border-box;
display:flex;align-items:center;justify-content:center;
background-color:#d8d9dc;border-start-end-radius:30px;border-end-end-radius:30px;padding:90px}
.lex-practice-lexa__panel img{width:100%;max-width:350px;height:auto}
@media (max-width:900px){
.lex-practice-lexa__card{flex-direction:column;min-height:0}
.lex-practice-lexa__text{flex:0 0 100%;border-radius:30px 30px 0 0;padding:40px 24px}
.lex-practice-lexa__text .lex-practice-h2{text-align:center}
.lex-practice-lexa__text .lex-practice-lexa__d{text-align:center}
.lex-practice-lexa__text .lex-practice-btnrow{justify-content:center}
.lex-practice-lexa__panel{flex:0 0 100%;border-radius:0 0 30px 30px;padding:150px 15px}
}
.lex-practice-h1+.lex-practice-hero__sub{margin-top:20px}
/* our img reset makes these display:block, so text-align cannot centre them */
.slide-image{margin-inline:auto}
/* live sets these via id-scoped rules (lex-el-e121) a flattened rebuild
   cannot match; restate them so the FAQ renders identically */
.lex-practice .lex-toggle .lex-toggle-icon{color:rgba(255,255,255,.6);fill:rgba(255,255,255,.6);margin-inline-end:16px}
.lex-practice .lex-toggle .lex-toggle-title{color:rgba(255,255,255,.6);font-weight:600;line-height:1.5em}
/* live fills the marketplace CTA green; the same --link class is a grey
   text link elsewhere, so scope the fill to that section */
.lex-practice-mkt .lex-practice-btnrow{padding-top:15px;margin-top:0;justify-content:flex-start}
.lex-practice-mkt .lex-practice-btn--link{background-color:#6ac3a6;color:#fff;fill:#fff;font-size:20px;font-weight:600;letter-spacing:0;border-style:solid;border-width:0;border-color:#fff;border-radius:10px;padding:15px 30px;min-width:0;transition:opacity .4s ease}
.lex-practice-mkt .lex-practice-btn--link:hover,.lex-practice-mkt .lex-practice-btn--link:focus{background-color:#6ac3a6;color:#fff;opacity:.5}
.lex-practice-mkt .lex-practice-h3{margin:0 0 10px;font-size:34px}
@media (max-width:900px){.lex-practice-mkt .lex-practice-h3{font-size:18px;line-height:1.2em}}
.lex-practice-stat__n span{text-align:start}
.department-solution-slider{overflow:hidden}
/* fr/es labels are longer: at 20px the pair wraps at 1200px, so trim just
   those locales at that breakpoint (en/ar keep live's 20px) */
@media (max-width:1300px){
html[lang|="fr"] .lex-practice-btn,html[lang|="es"] .lex-practice-btn{font-size:17px;padding-inline:26px}
}
.lex-practice-hero .lex-practice-btn{min-width:255px}

/* department slider arrows - from the 2026-09-14 export. Swiper's base
   positioning plus the site's own skin; both are absent from swiper's markup
   alone, which is why the arrows previously stacked at the top-left. */
.department-solution-slider{position:relative}
.department-solution-slider .swiper-button-prev,
.department-solution-slider .swiper-button-next{
position:absolute;top:50%;margin-top:-15px;z-index:10;cursor:pointer;
display:flex;align-items:center;justify-content:center;
width:30px;height:30px;border:1px solid #fff;border-radius:100px;
background-color:rgba(0,0,0,.3);color:#fff}
.department-solution-slider .swiper-button-prev{left:10px;right:auto}
.department-solution-slider .swiper-button-next{right:10px;left:auto}
.department-solution-slider .swiper-button-prev::after,
.department-solution-slider .swiper-button-next::after{
font-family:swiper-icons;font-size:12px;line-height:1;text-transform:none}
.department-solution-slider .swiper-button-prev::after{content:"prev"}
.department-solution-slider .swiper-button-next::after{content:"next"}
.department-solution-slider .swiper-button-prev:hover,
.department-solution-slider .swiper-button-next:hover{
color:#060c1c;background-color:#fff}
.department-solution-slider .swiper-button-prev.swiper-button-disabled,
.department-solution-slider .swiper-button-next.swiper-button-disabled{
opacity:.1;cursor:auto;pointer-events:none}

/* department cards - verbatim from the 2026-09-14 export. The older export
   carried these only as id-scoped rules, so a flattened rebuild lost them. */
.department-solution-slider .swiper-wrapper{padding-top:15px}
.department-solution-slider .slide-card{position:relative;border-radius:12px;padding-top:20px;
text-align:center;box-shadow:0 4px 12px rgba(0,0,0,.08);background-color:#373c49;
transition:transform .3s ease}
.department-solution-slider .slide-card:hover{transform:translateY(-10px)}
.department-solution-slider .slide-card-header{border-bottom:1px solid rgba(255,255,255,.2);padding:10px 0}
.department-solution-slider .slide-card-footer{position:relative;border-radius:0 0 12px 12px;overflow:hidden}
.department-solution-slider .slide-card::before{content:"";position:absolute;inset:0;opacity:0;
border-radius:12px;padding:2px;
background-image:linear-gradient(transparent 0%,transparent 15%,var(--lex-practice-brand) 100%);
-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
-webkit-mask-composite:xor;mask-composite:exclude;
transition:opacity .3s ease}
.department-solution-slider .slide-card:hover::before{opacity:1}
.department-solution-slider .slide-title{font-size:20px;padding-inline:10px;font-weight:600;
line-height:1.5;color:#fff!important}
.department-solution-slider .slide-text{font-size:12px;color:#fff;margin-bottom:25px;padding-inline:20px}
.department-solution-slider .slide-image{max-width:100%;height:auto;max-height:150px;
margin:50px auto;padding-inline:20px}
.lex-practice-faq .lex-toggle{margin-top:50px}
.lex-practice-featintro+.lex-practice-feat{padding-top:0}

/* PRACTICE showreel: poster + play button, iframe injected on click */
.lex-practice-ytbox{border-radius:16px;overflow:hidden;max-width:840px;margin:30px auto 0;aspect-ratio:16/9}
.lex-practice-ytbox__btn{display:block;position:relative;width:100%;height:100%;padding:0;border:0;
background:none;cursor:pointer;border-radius:16px;overflow:hidden}
.lex-practice-ytbox__poster{display:block;width:100%;height:100%;object-fit:cover}
/* darkening wash over the poster, matching live */
.lex-practice-ytbox__btn::before{content:"";position:absolute;inset:0;z-index:1;
background-image:linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.4))}
.lex-practice-ytbox__play{position:absolute;inset:0;z-index:2;margin:auto;width:78px;height:78px;
border:2px solid #fff;border-radius:50%;background:rgba(0,0,0,.35)}
.lex-practice-ytbox__play::after{content:"";position:absolute;inset:0;margin:auto;width:0;height:0;
border-style:solid;border-width:15px 0 15px 24px;border-color:transparent transparent transparent #fff}
.lex-practice-ytbox__btn:hover .lex-practice-ytbox__play{background:rgba(0,0,0,.55)}
.lex-practice-ytbox iframe{display:block;width:100%;height:100%;border:0}
@media (max-width:900px){.lex-practice-ytbox__play{width:56px;height:56px}
.lex-practice-ytbox__play::after{border-width:11px 0 11px 18px}}
.lex-practice button.lex-practice-ytbox__btn:not(.a4l-customized):not(.cky-btn-close):not(.iti__selected-country){border-radius:0;min-width:0;padding:0;background-color:transparent}
/* the LEXA card CTA is a different variant on live: white + purple, 10px */
.lex-practice-lexa__text .lex-practice-btn--mint{min-width:0;border-width:0;background-color:#fff;border-color:#fff;color:#a538df;fill:#a538df;border-radius:10px;padding:15px 30px}
/* the row is only 442px: ES/FR labels wrap at the default padding,
   so trim it here (not the font) and drop any min-width floor */
.lex-practice-lexa__text .lex-practice-btnrow>.lex-practice-btn{min-width:0;padding-inline:14px;white-space:nowrap}
.lex-practice-lexa__text .lex-practice-btnrow{column-gap:12px}
.lex-practice-lexa__text .lex-practice-btn--mint:hover,.lex-practice-lexa__text .lex-practice-btn--mint:focus{background-color:#fff;color:#a538df;opacity:.5}
/* Learn More brightens to white rather than fading */
.lex-practice-lexa__text .lex-practice-btn--link:hover,.lex-practice-lexa__text .lex-practice-btn--link:focus{color:#fff;fill:#fff;opacity:1}
.lex-practice-lexa>.lex-practice-w{padding-inline:0}

/* the theme sheet clips .slide-card, which would erase the hover ring on
   the card edge; root-scoped so it outranks that same-selector rule */
.lex-practice .department-solution-slider .slide-card{overflow:visible}

/* the theme sheet ships two .slide-card-footer rings (blue, then an
   orange one that wins) and loads after this file - on hover its orange
   ring painted over our blue card ring. Suppress it; we draw the ring on
   .slide-card. Root-scoped to outrank the theme's own selectors. */
.lex-practice .department-solution-slider .slide-card-footer::before,
.lex-practice .department-solution-slider .slide-card-footer:hover::before{background-image:none;opacity:0}

@media (max-width:900px){
  .lex-practice-trust>.lex-practice-w>.lex-practice-h2{font-size:20px}
}

@media (max-width:900px){
  .lex-practice-mkt__head>.lex-practice-h2{font-size:16px;margin-top:0;padding:0}
}