/* ============================================================
   Loom Light Legal — Flagship homepage
   Scoped to .llx (.llx-flagship). Nothing here applies to
   any other page. Namespace 'llx-' is deliberately distinct from
   the site's existing 'lll-' global CSS so the two never collide.
   Generated for the Claude Design "Loom Light Legal - Homepage".
   ============================================================ */

.llx-flagship, .llx-flagship body {
  --llx-navy:#07091F; --llx-navy-deep:#05061A; --llx-navy-panel:#0B0E28;
  --llx-indigo:#17185F; --llx-indigo-el:#3731D4;
  --llx-gold:#D9BC69; --llx-champagne:#E8DAB7;
  --llx-ivory:#F5F0E7; --llx-ivory-warm:#EFE9DC; --llx-white:#FFFCF5;
  --llx-charcoal:#171725; --llx-slate:#6D6D78; --llx-body-light:#3C3C4A;
  --llx-display:'Libre Caslon Display',Georgia,'Times New Roman',serif;
  --llx-wordmark:'Cormorant Garamond',Georgia,serif;
  --llx-sans:'Source Sans 3',system-ui,-apple-system,'Segoe UI',sans-serif;
  --llx-gutter:clamp(32px,7vw,120px);
  --llx-shell:min(1240px, 100% - var(--llx-gutter));
  --llx-ease:cubic-bezier(.22,.61,.36,1);
  background:var(--llx-navy);
}
.llx-flagship .elementor-location-header,
.llx-flagship .elementor-location-footer,
.llx-flagship main,
.llx-flagship .site-main { background:transparent; }
.llx-flagship #content, .llx-flagship .site-main { padding:0; margin:0; max-width:none; }
.llx-flagship.llx-locked { overflow:hidden; }

/* ---- Elementor neutralisers, scoped ---- */
.elementor-widget:not(:last-child){ margin-block-end:0; }.elementor-widget-container{ margin:0; }p:last-child{ margin-bottom:0; }img{ display:block; max-width:100%; height:auto; }

/* ---- Shell ---- */
[id^="llx-shell"]{ width:var(--llx-shell); margin-inline:auto; }
.llx-sec{ position:relative; }

/* ---- Focus ---- */
.llx-flagship :focus-visible{ outline:2px solid var(--llx-indigo-el); outline-offset:3px; }
.llx-flagship .llx-on-dark :focus-visible{ outline-color:var(--llx-champagne); }

.llx-skip{ position:absolute; left:-9999px; top:0; z-index:500;
  background:var(--llx-champagne); color:var(--llx-navy);
  padding:14px 22px; font:600 14px/1 var(--llx-sans); letter-spacing:.06em; }
.llx-skip:focus{ left:12px; top:12px; }
.llx-vh{ position:absolute!important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

/* ---- Type primitives ---- */
.llx-eyebrow, .llx-eyebrow p{
  margin:0; font:600 11px/1.3 var(--llx-sans);
  letter-spacing:.28em; text-transform:uppercase; }
.llx-eyebrow--gold, .llx-eyebrow--gold p{ color:var(--llx-gold); }
.llx-eyebrow--indigo, .llx-eyebrow--indigo p{ color:var(--llx-indigo); }

.llx-h2 .elementor-heading-title{
  margin:0; font-family:var(--llx-display); font-weight:400;
  font-size:clamp(32px,4.1vw,56px); line-height:1.08;
  letter-spacing:-.015em; text-wrap:pretty; }
.llx-h2--dark .elementor-heading-title{ color:var(--llx-ivory); }
.llx-h2--light .elementor-heading-title{ color:var(--llx-charcoal); }

.llx-body p{ margin:0 0 1em; }
.llx-body p:last-child{ margin-bottom:0; }

/* ---- Buttons (Elementor button widget) ---- */
.llx-btn .elementor-button{
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:0; border:1px solid transparent; min-height:44px;
  font-family:var(--llx-sans); font-weight:600; letter-spacing:.06em;
  text-decoration:none;
  transition:background .4s ease,border-color .4s ease,color .4s ease,
             letter-spacing .4s ease,box-shadow .4s ease; }
.llx-btn .elementor-button-content-wrapper{ display:inline-flex; align-items:center; gap:12px; }
.llx-btn .elementor-button-icon{ color:var(--llx-gold); transition:transform .5s var(--llx-ease); }
.llx-btn .elementor-button:hover .elementor-button-icon{ transform:translateX(5px); }

.llx-btn--gold .elementor-button{
  background:var(--llx-gold); border-color:var(--llx-gold); color:var(--llx-navy);
  padding:19px 36px; font-size:15px; letter-spacing:.05em;
  box-shadow:0 18px 40px -18px rgba(217,188,105,.5); }
.llx-btn--gold .elementor-button:hover,
.llx-btn--gold .elementor-button:focus{
  background:var(--llx-champagne); border-color:var(--llx-champagne); color:var(--llx-navy);
  box-shadow:0 22px 50px -18px rgba(232,218,183,.6); }

.llx-btn--champagne .elementor-button{
  background:var(--llx-champagne); border-color:var(--llx-champagne); color:var(--llx-navy);
  padding:13px 24px; font-size:13.5px; }
.llx-btn--champagne .elementor-button:hover,
.llx-btn--champagne .elementor-button:focus{
  background:var(--llx-gold); border-color:var(--llx-gold); color:var(--llx-navy); letter-spacing:.085em; }
.llx-btn--champagne-lg .elementor-button{ padding:18px 34px; font-size:14px; letter-spacing:.07em; }
.llx-btn--champagne-lg .elementor-button:hover{ letter-spacing:.1em; }

.llx-btn--ghost .elementor-button{
  background:rgba(245,240,231,.06); border-color:rgba(232,218,183,.42); color:var(--llx-white);
  padding:19px 30px; font-size:15px; font-weight:500; letter-spacing:.04em; }
.llx-btn--ghost .elementor-button:hover,
.llx-btn--ghost .elementor-button:focus{
  border-color:var(--llx-gold); background:rgba(232,218,183,.13); color:var(--llx-white); }

.llx-btn--outline-indigo .elementor-button{
  background:transparent; border-color:rgba(23,24,95,.34); color:var(--llx-indigo);
  padding:15px 26px; font-size:13.5px; }
.llx-btn--outline-indigo .elementor-button:hover,
.llx-btn--outline-indigo .elementor-button:focus{
  border-color:var(--llx-indigo); background:rgba(23,24,95,.05); color:var(--llx-indigo); }
.llx-btn--outline-indigo .elementor-button-icon{ color:var(--llx-indigo-el); }

.llx-btn--indigo .elementor-button{
  background:var(--llx-indigo); border-color:var(--llx-indigo); color:var(--llx-ivory);
  padding:15px 26px; font-size:13.5px; }
.llx-btn--indigo .elementor-button:hover,
.llx-btn--indigo .elementor-button:focus{
  background:var(--llx-indigo-el); border-color:var(--llx-indigo-el); color:var(--llx-ivory); letter-spacing:.085em; }

/* ---- Inline phone link ---- */
.llx-phone a{
  display:inline-flex; align-items:center; min-height:44px;
  color:var(--llx-champagne); text-decoration:none;
  border-bottom:1px solid rgba(232,218,183,.3);
  transition:color .35s ease,border-color .35s ease; }
.llx-phone a:hover{ color:var(--llx-white); border-bottom-color:var(--llx-gold); }
.llx-phone p{ margin:0; }
/* ============================================================
   HEADER (flagship, front page only)
   ============================================================ */
#llx-header{
  position:sticky; top:0; z-index:120;
  background:transparent!important;
  border-bottom:1px solid transparent!important;
  transition:background .6s var(--llx-ease),border-color .6s ease,backdrop-filter .6s ease; }
#llx-header.is-solid{
  background:var(--llx-navy)!important;
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom-color:rgba(217,188,105,.26)!important; }
#llx-header > .e-con-inner{
  width:var(--llx-shell); max-width:none; margin-inline:auto;
  display:flex; align-items:center; justify-content:space-between;
  gap:32px; min-height:clamp(68px,6vw,88px); padding:0; }

#llx-brandwrap{ flex:0 0 auto!important; width:auto!important; }
.llx-brand a, .llx-brand .elementor-heading-title{
  display:flex; align-items:center; gap:14px;
  color:var(--llx-ivory)!important; text-decoration:none;
  font-family:var(--llx-wordmark)!important; font-weight:600!important;
  font-size:clamp(15px,1.35vw,19px)!important; letter-spacing:.2em!important;
  text-transform:uppercase; white-space:nowrap; line-height:1.1; }
.llx-beam{ display:block; width:34px; height:16px; flex:0 0 auto;
  background:linear-gradient(90deg,var(--llx-gold) 0%,var(--llx-champagne) 100%);
  clip-path:polygon(0 50%,100% 0,100% 100%); }
.llx-beam--footer{ background:linear-gradient(90deg,var(--llx-gold) 0%,var(--llx-indigo) 100%); }

/* Primary nav (Elementor nav-menu widget) */
.llx-nav{ flex:0 1 auto!important; min-width:0; }
.llx-nav .elementor-nav-menu--main .elementor-item{
  padding:10px 0!important;
  font:500 14px/1.4 var(--llx-sans)!important; letter-spacing:.04em!important;
  color:var(--llx-ivory)!important; fill:var(--llx-ivory);
  border-bottom:1px solid transparent; transition:border-color .35s ease; }
.llx-nav .elementor-nav-menu--main .elementor-item:hover,
.llx-nav .elementor-nav-menu--main .elementor-item:focus,
.llx-nav .elementor-nav-menu--main .elementor-item.elementor-item-active{
  color:var(--llx-ivory)!important; border-bottom-color:var(--llx-gold); background:transparent!important; }
.llx-nav .elementor-nav-menu--main > .elementor-nav-menu > li{ margin-inline-end:clamp(14px,1.9vw,30px); }
.llx-nav .elementor-nav-menu--main > .elementor-nav-menu > li:last-child{ margin-inline-end:0; }
.llx-nav .elementor-nav-menu--main .sub-arrow i,
.llx-nav .elementor-nav-menu--main .sub-arrow svg{ color:var(--llx-gold); fill:var(--llx-gold); }

/* Practice Areas dropdown panel */
.llx-nav .elementor-nav-menu--dropdown{
  background:var(--llx-navy-panel)!important;
  border:1px solid rgba(217,188,105,.26);
  box-shadow:0 30px 70px -30px rgba(0,0,0,.9);
  padding:10px 0; }
.llx-nav .elementor-nav-menu--dropdown a.elementor-sub-item{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:12px 24px!important; font:400 14.5px/1.4 var(--llx-sans)!important;
  color:var(--llx-champagne)!important; background:transparent!important;
  transition:background .3s ease,color .3s ease; }
.llx-nav .elementor-nav-menu--dropdown a.elementor-sub-item::after{
  content:'\2192'; color:var(--llx-gold); font-size:12px; }
.llx-nav .elementor-nav-menu--dropdown a.elementor-sub-item:hover,
.llx-nav .elementor-nav-menu--dropdown a.elementor-sub-item:focus,
.llx-nav .elementor-nav-menu--dropdown a.elementor-sub-item.highlighted{
  background:rgba(55,49,212,.16)!important; color:var(--llx-ivory)!important; }

#llx-headactions{ flex:0 0 auto!important; width:auto!important; }
.llx-headphone a{ font:500 14px/1 var(--llx-sans); letter-spacing:.05em;
  white-space:nowrap; padding-bottom:2px; border-bottom-color:rgba(232,218,183,.28); }

/* Mobile toggle rendered by the nav-menu widget */
.llx-nav .elementor-menu-toggle{
  width:48px; height:48px; border-radius:0;
  background:transparent!important; border:1px solid rgba(232,218,183,.3);
  color:var(--llx-champagne)!important; transition:border-color .35s ease; }
.llx-nav .elementor-menu-toggle:hover{ border-color:var(--llx-gold); }
.llx-nav .elementor-menu-toggle i, .llx-nav .elementor-menu-toggle svg{ color:var(--llx-champagne); fill:var(--llx-champagne); }
.llx-nav .elementor-nav-menu--dropdown .elementor-item{
  min-height:56px; display:flex; align-items:center;
  font-family:var(--llx-display)!important; font-size:22px!important;
  letter-spacing:0!important; color:var(--llx-ivory)!important;
  border-bottom:1px solid rgba(245,240,231,.1)!important; }

@media (max-width:1179.98px){
  #llx-headactions{ display:none!important; }
}

/* ============================================================
   HERO
   ============================================================ */
#top{ position:relative; background:var(--llx-navy-deep); overflow:hidden;
  margin-top:calc(-1 * clamp(68px,6vw,88px)); padding:0!important; }
#top .llx-hero__img{ position:absolute; inset:0; width:100%; height:100%; z-index:0; }
#top .llx-hero__img img{
  width:100%; height:100%; object-fit:cover; object-position:64% 64%; }
#top::before, #top::after{ content:''; position:absolute; inset:0; z-index:1; pointer-events:none; }
#top::before{ background:linear-gradient(94deg,#05061A 0%,rgba(6,8,26,.96) 26%,
  rgba(6,8,26,.80) 44%,rgba(6,8,26,.34) 66%,rgba(6,8,26,.10) 100%); }
#top::after{ background:linear-gradient(184deg,rgba(5,6,26,.60) 0%,rgba(5,6,26,.04) 22%,
  rgba(5,6,26,.40) 74%,rgba(5,6,26,.86) 100%); }
#llx-heroinner{
  position:relative; z-index:2;
  width:var(--llx-shell)!important; max-width:none!important; margin-inline:auto;
  min-height:clamp(580px,78vh,880px);
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:clamp(110px,12vw,160px) 0 0!important; }
#llx-heroinner::after{
  content:''; position:absolute; left:50%; transform:translateX(-50%);
  bottom:0; width:100vw; height:1px;
  background:linear-gradient(90deg,var(--llx-gold),rgba(217,188,105,.12) 58%,transparent); }
#llx-herocopy{ max-width:640px; width:100%!important; padding:0!important; }

.llx-hero__kicker p{
  margin:0; display:inline-flex; align-items:center; gap:12px;
  font:600 11px/1.4 var(--llx-sans); letter-spacing:.26em;
  text-transform:uppercase; color:var(--llx-champagne); }
.llx-hero__kicker p::before{ content:''; display:block; width:26px; height:1px; background:var(--llx-gold); flex:0 0 auto; }

.llx-hero__h1 .elementor-heading-title{
  margin:0; font-family:var(--llx-display); font-weight:400;
  font-size:clamp(44px,5.4vw,76px); line-height:1.03; letter-spacing:-.02em;
  color:var(--llx-white); text-wrap:pretty; text-shadow:0 2px 40px rgba(5,6,26,.6); }

.llx-hero__intro p{
  margin:0; max-width:46ch; font:400 19px/1.66 var(--llx-sans);
  color:rgba(248,244,236,.94); }

#llx-heroactions{
  display:flex; flex-wrap:wrap; align-items:center; gap:14px 18px;
  padding:0!important; width:100%!important; }
#llx-heroactions .llx-phone a{
  padding:19px 8px; font:500 16px/1 var(--llx-sans); letter-spacing:.03em;
  color:var(--llx-ivory); border-bottom-color:rgba(232,218,183,.34); }

.llx-hero__reassure p{
  margin:0; display:flex; flex-wrap:wrap; gap:8px 18px;
  font:400 14px/1.5 var(--llx-sans); letter-spacing:.02em; color:rgba(232,218,183,.86); }
.llx-hero__reassure i{ color:rgba(217,188,105,.55); font-style:normal; }

.llx-facts{ margin:0; display:flex; flex-wrap:wrap;
  border-top:1px solid rgba(217,188,105,.4);
  background:linear-gradient(180deg,rgba(5,6,26,.55),rgba(5,6,26,.82)); }
.llx-facts > div{ flex:1 1 22%; min-width:140px; padding:26px clamp(18px,2vw,30px) 30px 0; }
.llx-facts dt{ font:600 10.5px/1.4 var(--llx-sans); letter-spacing:.24em;
  text-transform:uppercase; color:rgba(232,218,183,.78); }
.llx-facts dd{ margin:12px 0 0; font-family:var(--llx-display);
  font-size:19px; line-height:1.4; color:var(--llx-white); }
.llx-facts a{ color:inherit; text-decoration:none; border-bottom:1px solid rgba(217,188,105,.4); }
.llx-facts a:hover{ border-bottom-color:var(--llx-gold); }
@media (max-width:1179.98px){ .llx-facts > div{ flex-basis:46%; } }
@media (max-width:400px){ .llx-facts > div{ flex-basis:100%; } }

/* ============================================================
   PRACTICE INDEX
   ============================================================ */
#llx-index{ background:var(--llx-navy); padding:clamp(56px,6vw,90px) 0 clamp(60px,6.5vw,96px)!important; }
#llx-indexhead{
  display:flex; flex-wrap:wrap; gap:14px 40px;
  align-items:baseline; justify-content:space-between;
  margin-bottom:clamp(28px,3vw,42px); padding:0!important; width:100%!important; }
.llx-index__note p{ margin:0; max-width:46ch; font:400 15.5px/1.65 var(--llx-sans); color:rgba(248,244,236,.84); }
#llx-indexlist{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; }
#llx-indexlist > li{ flex:1 1 18%; min-width:0; }
.llx-index__item{
  display:block; height:100%; padding:26px 22px 26px 0;
  border-top:1px solid rgba(245,240,231,.16); background:transparent;
  color:var(--llx-ivory); text-decoration:none;
  transition:border-color .5s ease,background .5s ease; }
.llx-index__item:hover, .llx-index__item:focus-visible{
  border-top-color:rgba(217,188,105,.85); background:rgba(232,218,183,.045); }
.llx-index__top{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.llx-index__num{ font-family:var(--llx-display); font-size:13px; letter-spacing:.14em;
  color:rgba(232,218,183,.55); transition:color .5s ease; }
.llx-index__item:hover .llx-index__num, .llx-index__item:focus-visible .llx-index__num{ color:var(--llx-gold); }
.llx-index__arrow{ font-size:13px; color:var(--llx-gold); opacity:0;
  transform:translateX(-6px); transition:transform .5s var(--llx-ease),opacity .5s ease; }
.llx-index__item:hover .llx-index__arrow, .llx-index__item:focus-visible .llx-index__arrow{ opacity:1; transform:translateX(4px); }
.llx-index__title{ display:block; margin-top:14px; font-family:var(--llx-display);
  font-size:clamp(19px,1.8vw,24px); line-height:1.25; color:var(--llx-ivory); }
.llx-index__desc{ display:block; margin-top:10px; max-width:26ch;
  font:400 13.5px/1.6 var(--llx-sans); color:rgba(232,218,183,.7);
  opacity:.34; transform:translateY(3px);
  transition:opacity .5s ease,transform .5s var(--llx-ease); }
.llx-index__item:hover .llx-index__desc, .llx-index__item:focus-visible .llx-index__desc{ opacity:1; transform:none; }
@media (max-width:1179.98px){
  #llx-indexlist > li{ flex-basis:100%; }
  .llx-index__arrow{ opacity:1; transform:none; }
  .llx-index__desc{ opacity:1; transform:none; }
}
/* ============================================================
   PRACTICE AREAS
   ============================================================ */
#practice-areas{ position:relative; background:var(--llx-ivory); color:var(--llx-charcoal);
  padding:clamp(72px,8vw,132px) 0 clamp(76px,8vw,140px)!important; }
#practice-areas::before{ content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--llx-gold) 42%,var(--llx-champagne) 55%,transparent); }
#llx-pahead{ display:flex; flex-wrap:wrap; gap:clamp(32px,5vw,88px);
  align-items:flex-end; margin-bottom:clamp(46px,5vw,76px); padding:0!important; width:100%!important; }
#llx-paheadcol{ flex:1 1 440px!important; min-width:280px; width:auto!important; padding:0!important; }
.llx-practice__headnote{ flex:1 1 340px!important; min-width:260px; }
.llx-practice__headnote p{ margin:0; max-width:48ch; font:400 17px/1.72 var(--llx-sans); color:var(--llx-body-light); }

#llx-cards{ display:flex; flex-wrap:wrap; gap:clamp(14px,1.4vw,20px); padding:0!important; width:100%!important; }
[id^="llx-pcd"]{
  position:relative; flex:1 1 280px!important; min-width:260px;
  min-height:clamp(300px,24vw,340px);
  display:flex; flex-direction:column; justify-content:space-between;
  gap:clamp(30px,4vw,60px); padding:clamp(26px,2.6vw,36px)!important;
  background-color:var(--llx-navy); background-size:cover; background-repeat:no-repeat;
  border:1px solid rgba(217,188,105,.24); color:var(--llx-ivory);
  overflow:hidden; transition:border-color .55s ease,transform .55s var(--llx-ease); }
#llx-pcd1{ flex:1 1 540px!important; min-height:clamp(360px,32vw,460px); padding:clamp(32px,3.4vw,52px)!important; }
/* scrim + beam + top hairline */
[id^="llx-pcd"]::before{ content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(360deg,rgba(5,6,26,.97) 6%,rgba(5,6,26,.88) 38%,
    rgba(5,6,26,.52) 76%,rgba(5,6,26,.34) 100%); }
[id^="llx-pcd"]::after{ content:''; position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.42;
  background:linear-gradient(104deg,rgba(217,188,105,0) 26%,rgba(232,218,183,.16) 48%,
    rgba(217,188,105,.04) 62%,transparent 78%);
  transition:opacity .6s ease; }
.llx-card__rule{ position:absolute; top:0; left:0; width:100%; height:1px; z-index:2; opacity:0;
  background:linear-gradient(90deg,var(--llx-gold),rgba(217,188,105,0)); transition:opacity .55s ease; }
#llx-pcd1 .llx-card__rule{ opacity:1; }
[id^="llx-pcd"] > *{ position:relative; z-index:2; }
[id^="llx-pcd"]:hover, [id^="llx-pcd"]:focus-within{ border-color:rgba(217,188,105,.55); transform:translateY(-3px); }
[id^="llx-pcd"]:hover::after, [id^="llx-pcd"]:focus-within::after{ opacity:1; }
[id^="llx-pcd"]:hover .llx-card__rule, [id^="llx-pcd"]:focus-within .llx-card__rule{ opacity:1; }

.llx-card__index p{ margin:0; font-family:var(--llx-display); font-size:12.5px;
  letter-spacing:.18em; color:var(--llx-gold); }
[id^="llx-pcb"]{ padding:0!important; width:100%!important; }
.llx-card__title .elementor-heading-title{
  margin:0; font-family:var(--llx-display); font-weight:400;
  font-size:clamp(22px,2vw,27px); line-height:1.14; letter-spacing:-.01em; color:var(--llx-ivory); }
.llx-card__title .elementor-heading-title a{ color:inherit; text-decoration:none; }
/* make the whole card clickable from the title link, keeping one focusable target */
.llx-card__title .elementor-heading-title a::after{ content:''; position:absolute; inset:0; z-index:3; }
#llx-pcd1 .llx-card__title .elementor-heading-title{ font-size:clamp(30px,3.2vw,42px); }
.llx-card__copy p{ margin:16px 0 0; max-width:40ch; font:400 16px/1.66 var(--llx-sans); color:rgba(248,244,236,.93); }
.llx-card__cta p{ margin:26px 0 0; display:inline-flex; align-items:center; gap:12px;
  font:600 12.5px/1.4 var(--llx-sans); letter-spacing:.14em; text-transform:uppercase; color:var(--llx-champagne); }
.llx-card__cta i{ font-style:normal; color:var(--llx-gold); transition:transform .55s var(--llx-ease); }
[id^="llx-pcd"]:hover .llx-card__cta i, [id^="llx-pcd"]:focus-within .llx-card__cta i{ transform:translateX(6px); }

@media (max-width:1179.98px){
  [id^="llx-pcd"]{ flex:0 1 calc(50% - 10px)!important; }
  #llx-pcd1{ flex:1 1 100%!important; }
}
@media (max-width:640px){ [id^="llx-pcd"], #llx-pcd1{ flex:1 1 100%!important; } }

/* ============================================================
   DIFFERENCE
   ============================================================ */
#llx-diff{ position:relative; background:var(--llx-navy); color:var(--llx-ivory);
  padding:clamp(96px,10vw,168px) 0 clamp(76px,8vw,132px)!important;
  margin-top:-3vw; clip-path:polygon(0 3vw,100% 0,100% 100%,0 100%); }
#llx-diff::before{ content:''; position:absolute; top:0; right:0;
  width:min(80vw,1000px); height:min(56vw,660px); pointer-events:none;
  background:radial-gradient(74% 80% at 100% 0%,rgba(55,49,212,.26) 0%,rgba(23,24,95,.11) 44%,rgba(23,24,95,0) 72%); }
#llx-diff > .e-con-inner, #llx-diff [id^="llx-shell"]{ position:relative; z-index:1; }
#llx-diffhead{ max-width:760px; padding:0!important; width:100%!important; }
.llx-diff__lede p{ margin:26px 0 0; max-width:50ch; font:400 17px/1.72 var(--llx-sans); color:rgba(248,244,236,.88); }
#llx-commits{ display:flex; flex-wrap:wrap; margin-top:clamp(48px,5.5vw,86px);
  border-top:1px solid rgba(217,188,105,.3); padding:0!important; width:100%!important; }
[id^="llx-cmt"]{ flex:1 1 420px!important; min-width:280px;
  display:flex; flex-direction:row!important; gap:clamp(20px,2.4vw,38px);
  padding:clamp(32px,3.4vw,52px) clamp(20px,3vw,56px) clamp(32px,3.4vw,52px) 0!important;
  border-bottom:1px solid rgba(217,188,105,.16); align-items:flex-start; }
.llx-commit__num{ flex:0 0 auto!important; width:auto!important; }
.llx-commit__num p{ margin:0; font-family:var(--llx-display);
  font-size:clamp(26px,2.4vw,34px); line-height:1; color:var(--llx-gold); }
[id^="llx-cbd"]{ flex:1 1 auto!important; padding:0!important; }
[id^="llx-cbd"] .elementor-heading-title{
  margin:0; font-family:var(--llx-display); font-weight:400;
  font-size:clamp(21px,1.9vw,27px); line-height:1.24; letter-spacing:-.008em; color:var(--llx-ivory); }
[id^="llx-cbd"] .llx-commit__copy p{ margin:14px 0 0; max-width:44ch;
  font:400 15.5px/1.72 var(--llx-sans); color:rgba(248,244,236,.86); }

/* ============================================================
   ATTORNEY
   ============================================================ */
#attorney{ background:var(--llx-ivory-warm); color:var(--llx-charcoal); padding:clamp(72px,8vw,132px) 0!important; }
.llx-attorney__pull p{ margin:0 0 clamp(46px,5vw,74px); max-width:22ch;
  font-family:var(--llx-display); font-size:clamp(24px,2.7vw,36px);
  line-height:1.26; letter-spacing:-.01em; color:var(--llx-indigo); }
#llx-attgrid{ display:flex; flex-wrap:wrap; gap:clamp(36px,5vw,84px);
  align-items:flex-start; padding:0!important; width:100%!important; }
#llx-attfigure{ flex:1 1 340px!important; min-width:260px; max-width:460px; padding:0!important; }
#llx-attfigure .elementor-widget-image{ position:relative; }
#llx-attfigure .elementor-widget-image::after{
  content:''; position:absolute; left:0; bottom:0; width:100%; height:1px; z-index:2;
  background:linear-gradient(90deg,var(--llx-gold),transparent); }
#llx-attfigure img{ width:100%; aspect-ratio:4/5; object-fit:cover;
  object-position:50% 18%; background:#0A0D26; }
#llx-attbody{ flex:1 1 420px!important; min-width:280px; padding-top:6px!important; }
.llx-attorney__name .elementor-heading-title{
  margin:0; font-family:var(--llx-display); font-weight:400;
  font-size:clamp(34px,3.6vw,50px); line-height:1.08; letter-spacing:-.018em; color:var(--llx-charcoal); }
.llx-attorney__role p{ margin:16px 0 0; font:500 14px/1.4 var(--llx-sans);
  letter-spacing:.05em; color:var(--llx-slate); }
.llx-attorney__rule{ display:block; width:88px; height:1px; margin:30px 0;
  background:linear-gradient(90deg,var(--llx-gold),rgba(217,188,105,0)); }
.llx-attorney__bio p{ margin:0; max-width:48ch; font:400 17px/1.74 var(--llx-sans); color:#2E2E3C; }
#llx-attactions{ display:flex; flex-wrap:wrap; gap:14px 28px;
  margin-top:clamp(30px,3vw,42px); padding:0!important; width:100%!important; }

/* ============================================================
   WORKING WITH US
   ============================================================ */
#llx-process{ background:var(--llx-ivory); color:var(--llx-charcoal); padding:clamp(72px,8vw,132px) 0!important; }
#llx-prochead{ display:flex; flex-wrap:wrap; gap:clamp(28px,4vw,72px);
  align-items:flex-end; justify-content:space-between;
  margin-bottom:clamp(46px,5vw,78px); padding:0!important; width:100%!important; }
#llx-procheadcol{ flex:1 1 420px!important; min-width:280px; padding:0!important; }
#llx-proccost{ flex:0 1 300px!important; min-width:240px;
  padding:0 0 0 clamp(0px,2vw,28px)!important; border-left:1px solid rgba(23,24,95,.16); }
#llx-proccost .llx-process__costlabel p{ margin:0 0 12px;
  font:600 10.5px/1.4 var(--llx-sans); letter-spacing:.24em; text-transform:uppercase; color:var(--llx-slate); }
#llx-proccost .llx-process__costtext p{ margin:0; font-family:var(--llx-display);
  font-size:20px; line-height:1.42; color:var(--llx-charcoal); }
#llx-steps{ display:flex; flex-wrap:wrap; padding:0!important; width:100%!important; }
[id^="llx-stp"]{ position:relative; flex:1 1 22%!important; min-width:200px;
  padding:clamp(26px,2.6vw,36px) clamp(20px,2vw,32px) clamp(30px,3vw,44px) 0!important;
  border-top:1px solid rgba(217,188,105,.62); }
[id^="llx-stp"]::before{ content:''; position:absolute; top:-1px; left:0; width:1px; height:14px; background:var(--llx-gold); }
[id^="llx-stt"]{ display:flex; align-items:baseline; justify-content:space-between;
  gap:14px; padding:0!important; width:100%!important; }
.llx-step__num p{ margin:0; font-family:var(--llx-display); font-size:13px;
  letter-spacing:.16em; color:var(--llx-indigo); }
.llx-step__tag p{ margin:0; padding:5px 11px; border:1px solid rgba(23,24,95,.2);
  font:600 9.5px/1.4 var(--llx-sans); letter-spacing:.18em; text-transform:uppercase;
  color:var(--llx-slate); white-space:nowrap; }
.llx-step__title .elementor-heading-title{ margin:20px 0 0; font-family:var(--llx-display);
  font-weight:400; font-size:clamp(20px,1.75vw,24px); line-height:1.24;
  letter-spacing:-.008em; color:var(--llx-charcoal); }
.llx-step__copy p{ margin:14px 0 0; max-width:34ch; font:400 15px/1.7 var(--llx-sans); color:var(--llx-body-light); }
@media (max-width:1179.98px){ [id^="llx-stp"]{ flex-basis:46%!important; } }
@media (max-width:400px){ [id^="llx-stp"]{ flex-basis:100%!important; } }
/* ============================================================
   LOCATION
   ============================================================ */
#location{ position:relative; background:var(--llx-navy); color:var(--llx-ivory);
  padding:clamp(76px,8vw,136px) 0!important; }
#location::before{ content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--llx-gold) 46%,transparent); }
#llx-locgrid{ display:flex; flex-wrap:wrap; gap:clamp(36px,5vw,80px);
  align-items:flex-start; padding:0!important; width:100%!important; }
#llx-loccol{ flex:1 1 380px!important; min-width:280px; padding:0!important; }
#llx-loccol .llx-h2 .elementor-heading-title{ margin:0 0 clamp(36px,4vw,54px); font-size:clamp(32px,3.9vw,52px); }
.llx-locations{ margin:0; border-top:1px solid rgba(217,188,105,.28); }
.llx-locations > div{ padding:26px 0; border-bottom:1px solid rgba(245,240,231,.1); }
.llx-locations dt{ font:600 10.5px/1.4 var(--llx-sans); letter-spacing:.24em;
  text-transform:uppercase; color:var(--llx-gold); }
.llx-locations dd{ margin:12px 0 0; max-width:44ch; font:400 16.5px/1.68 var(--llx-sans); color:rgba(248,244,236,.9); }
.llx-locations a{ color:var(--llx-champagne); text-decoration:underline; text-underline-offset:3px; }
.llx-locations a:hover{ color:var(--llx-white); }
#llx-locfigure{ flex:1 1 440px!important; min-width:280px; padding:0!important; }
#llx-locframe{ position:relative; }
#llx-locframe img{ width:100%; aspect-ratio:16/10; object-fit:cover;
  object-position:50% 46%; background:var(--llx-navy-deep); }
#llx-locframe::after{ content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(190deg,rgba(7,9,31,.22) 0%,transparent 34%,rgba(7,9,31,.30) 100%); }
.llx-location__pin{ position:absolute; left:36%; top:44%; width:9px; height:9px;
  margin:-4px 0 0 -4px; z-index:2; background:var(--llx-gold); border-radius:50%;
  box-shadow:0 0 0 8px rgba(217,188,105,.16); }
.llx-location__caption p{ margin:18px 0 0; display:flex; flex-wrap:wrap; gap:10px 24px;
  font:400 12.5px/1.4 var(--llx-sans); letter-spacing:.06em; color:rgba(232,218,183,.66); }
.llx-location__caption i{ color:rgba(217,188,105,.5); font-style:normal; }

/* ============================================================
   FINAL CTA
   ============================================================ */
#contact{ position:relative; background:var(--llx-navy); color:var(--llx-ivory);
  padding:clamp(88px,9vw,152px) 0 clamp(120px,12vw,200px)!important; overflow:hidden; }
#contact::before{ content:''; position:absolute; left:0; top:0; width:78%; height:100%; pointer-events:none;
  background:radial-gradient(58% 74% at 0% 54%,rgba(232,218,183,.17) 0%,rgba(217,188,105,.07) 40%,rgba(217,188,105,0) 72%); }
#contact > .e-con-inner, #contact [id^="llx-shell"]{ position:relative; z-index:1; }
#llx-ctainner{ max-width:820px; padding:0!important; width:100%!important; }
#llx-ctainner .llx-h2 .elementor-heading-title{ font-size:clamp(38px,5.1vw,70px); line-height:1.05; letter-spacing:-.018em; }
.llx-cta__lede p{ margin:clamp(26px,3vw,38px) 0 0; max-width:56ch;
  font:400 17.5px/1.74 var(--llx-sans); color:rgba(248,244,236,.9); }
#llx-ctaactions{ display:flex; flex-wrap:wrap; align-items:center; gap:16px 28px;
  margin-top:clamp(34px,4vw,48px); padding:0!important; width:100%!important; }
#llx-ctaactions .llx-phone a{ font-size:16px; letter-spacing:.05em; padding:8px 0; }

/* ============================================================
   FOOTER (flagship, front page only)
   ============================================================ */
#llx-footer{ position:relative; background:var(--llx-ivory); color:var(--llx-charcoal);
  margin-top:-6vw; padding:clamp(88px,9vw,140px) 0 clamp(40px,4vw,60px)!important;
  clip-path:polygon(0 6vw,100% 0,100% 100%,0 100%); }
#llx-footgrid{ display:flex; flex-wrap:wrap; gap:clamp(36px,4vw,72px);
  padding:0!important; width:100%!important; align-items:flex-start; }
#llx-footbrand{ flex:1 1 30%!important; min-width:260px; padding:0!important; }
.llx-footer__mark a, .llx-footer__mark .elementor-heading-title{
  display:flex; align-items:center; gap:14px; text-decoration:none;
  font-family:var(--llx-wordmark)!important; font-weight:600!important; font-size:18px!important;
  letter-spacing:.2em!important; text-transform:uppercase; color:var(--llx-indigo)!important; line-height:1.1; }
.llx-footer__blurb p{ margin:26px 0 0; max-width:40ch; font:400 15.5px/1.72 var(--llx-sans); color:var(--llx-body-light); }
.llx-footer__contact ul{ list-style:none; margin:30px 0 0; padding:0;
  display:flex; flex-direction:column; gap:10px; font:400 15px/1.5 var(--llx-sans); color:#3A3A48; }
.llx-footer__contact a{ color:var(--llx-indigo); text-decoration:none;
  border-bottom:1px solid rgba(23,24,95,.2); padding-bottom:1px;
  transition:color .3s ease,border-color .3s ease; }
.llx-footer__contact a:hover{ color:var(--llx-indigo-el); border-bottom-color:var(--llx-indigo-el); }
.llx-footer__contact li.sp{ margin-top:6px; }
.llx-footer__contact li.hours{ margin-top:6px; color:var(--llx-slate); }

[id^="llx-fnv"]{ flex:0 1 18%!important; min-width:140px; padding:0!important; }
.llx-footer__navlabel .elementor-heading-title,
.llx-footer__navlabel p{ margin:0 0 22px; font:600 10.5px/1.4 var(--llx-sans)!important;
  letter-spacing:.24em!important; text-transform:uppercase; color:var(--llx-slate)!important; }
[id^="llx-fnv"] .elementor-nav-menu--main .elementor-item{
  padding:0!important; font:400 15px/1.5 var(--llx-sans)!important;
  color:#3A3A48!important; background:transparent!important;
  border-bottom:1px solid transparent; transition:color .3s ease,border-color .3s ease; }
[id^="llx-fnv"] .elementor-nav-menu--main .elementor-item:hover,
[id^="llx-fnv"] .elementor-nav-menu--main .elementor-item:focus,
[id^="llx-fnv"] .elementor-nav-menu--main .elementor-item.elementor-item-active{
  color:var(--llx-indigo)!important; border-bottom-color:var(--llx-gold); }
[id^="llx-fnv"] .elementor-nav-menu--main > .elementor-nav-menu > li{ margin:0 0 13px; }

#llx-footlegal{ margin-top:clamp(52px,6vw,88px); padding:30px 0 0!important;
  border-top:1px solid rgba(23,24,95,.16); width:100%!important; }
.llx-footer__disclaimer p{ margin:0; max-width:104ch; font:400 12.5px/1.75 var(--llx-sans); color:var(--llx-slate); }
.llx-footer__disclaimer strong{ font-weight:600; letter-spacing:.12em; color:#4A4A57; }
#llx-footbase{ display:flex; flex-wrap:wrap; gap:14px 26px; align-items:center;
  justify-content:space-between; margin-top:30px; padding:0!important; width:100%!important; }
.llx-footer__copy p{ margin:0; font:400 12.5px/1.5 var(--llx-sans); color:var(--llx-slate); }
.llx-footer__policies .elementor-nav-menu--main .elementor-nav-menu{ flex-wrap:wrap; gap:10px 22px; }
.llx-footer__policies .elementor-nav-menu--main .elementor-item{
  padding:0!important; font:400 12.5px/1.5 var(--llx-sans)!important;
  color:var(--llx-slate)!important; background:transparent!important;
  border-bottom:1px solid transparent; }
.llx-footer__policies .elementor-nav-menu--main .elementor-item:hover,
.llx-footer__policies .elementor-nav-menu--main .elementor-item:focus{
  color:var(--llx-indigo)!important; border-bottom-color:var(--llx-gold); }
@media (max-width:1179.98px){
  #llx-footbrand{ flex-basis:100%!important; }
  [id^="llx-fnv"]{ flex-basis:28%!important; }
}
@media (max-width:400px){ [id^="llx-fnv"]{ flex-basis:100%!important; } }

/* ============================================================
   BOOKING POPUP (Elementor Pro popup)
   ============================================================ */
#elementor-popup-modal-347 .dialog-widget-content{ background:var(--llx-ivory)!important; border-radius:0!important;
  border:1px solid rgba(217,188,105,.5); box-shadow:none; }
#elementor-popup-modal-347 .dialog-message{ padding:0!important; }
#elementor-popup-modal-347 .dialog-close-button{ color:var(--llx-indigo)!important; opacity:1;
  width:44px; height:44px; border:1px solid rgba(23,24,95,.24);
  inset-inline-end:clamp(22px,4vw,48px); inset-block-start:clamp(28px,4vw,44px);
  display:flex; align-items:center; justify-content:center;
  transition:border-color .3s ease,background .3s ease; }
#elementor-popup-modal-347 .dialog-close-button:hover{ border-color:var(--llx-indigo); background:rgba(23,24,95,.05); }
#llx-modalwrap{ position:relative; padding:clamp(28px,4vw,44px) clamp(22px,4vw,48px) clamp(28px,4vw,48px)!important; }
#llx-modalwrap::before{ content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,var(--llx-gold),var(--llx-champagne) 40%,rgba(217,188,105,0)); }
.llx-modal__eyebrow p{ margin:0 0 16px; font:600 10.5px/1.4 var(--llx-sans);
  letter-spacing:.24em; text-transform:uppercase; color:var(--llx-indigo); }
.llx-modal__title .elementor-heading-title{ margin:0; padding-inline-end:60px;
  font-family:var(--llx-display); font-weight:400;
  font-size:clamp(26px,3vw,38px); line-height:1.12; letter-spacing:-.014em; color:var(--llx-charcoal); }
.llx-modal__notice p{ margin:clamp(24px,3vw,32px) 0 0; padding:16px 18px;
  border-left:2px solid var(--llx-gold); background:rgba(217,188,105,.14);
  font:400 13.5px/1.66 var(--llx-sans); color:#4A4A57; }

/* Elementor form, restyled to the design's underline fields */
.llx-form .elementor-form-fields-wrapper{ margin:0 -13px; }
.llx-form .elementor-field-group{ padding-inline:13px; margin-bottom:22px; }
.llx-form .elementor-field-group > label{
  margin-bottom:9px; font:600 10.5px/1.4 var(--llx-sans)!important;
  letter-spacing:.2em; text-transform:uppercase; color:var(--llx-slate)!important; }
.llx-form .elementor-field-group.elementor-field-required > label::after{ content:' *'; color:#8C2F39; }
.llx-form .elementor-field-textual{
  width:100%; padding:13px 2px; height:auto; min-height:0;
  background:transparent; border:0; border-bottom:1px solid rgba(23,24,95,.28); border-radius:0;
  font:400 16px/1.5 var(--llx-sans); color:var(--llx-charcoal); box-shadow:none;
  transition:border-color .35s ease,box-shadow .35s ease; }
.llx-form textarea.elementor-field-textual{
  padding:13px 12px; background:rgba(255,255,255,.5);
  border:1px solid rgba(23,24,95,.2); line-height:1.6; resize:vertical; min-height:110px; }
.llx-form .elementor-field-textual:focus{
  border-bottom-color:var(--llx-indigo-el); box-shadow:0 1px 0 0 var(--llx-indigo-el); outline:2px solid transparent; }
.llx-form textarea.elementor-field-textual:focus{ border-color:var(--llx-indigo-el); box-shadow:0 0 0 1px var(--llx-indigo-el); }
.llx-form .elementor-field-description{ margin-top:8px; font:400 12.5px/1.5 var(--llx-sans); color:var(--llx-slate); }
.llx-form .elementor-field-type-acceptance{ margin-top:4px; padding-top:16px; border-top:1px solid rgba(23,24,95,.12); }
.llx-form .elementor-field-type-acceptance .elementor-field-option{ display:flex; align-items:flex-start; gap:13px; }
.llx-form .elementor-field-type-acceptance input[type=checkbox]{ flex:0 0 auto; width:18px; height:18px; margin-top:2px; accent-color:var(--llx-indigo); }
.llx-form .elementor-field-type-acceptance label{
  font:400 14px/1.65 var(--llx-sans)!important; letter-spacing:0!important;
  text-transform:none!important; color:#3A3A48!important; }
.llx-form .elementor-field-type-submit{ margin-top:8px; }
.llx-form .elementor-button[type=submit]{
  background:var(--llx-indigo); color:var(--llx-ivory); border:1px solid var(--llx-indigo);
  border-radius:0; min-height:56px; padding:17px 32px;
  font:600 14px/1 var(--llx-sans); letter-spacing:.07em; text-transform:none;
  transition:background .4s ease,letter-spacing .4s ease; }
.llx-form .elementor-button[type=submit]:hover,
.llx-form .elementor-button[type=submit]:focus{
  background:var(--llx-indigo-el); border-color:var(--llx-indigo-el); letter-spacing:.095em; }
.llx-form .elementor-message{ margin-top:18px; padding:14px 16px; border-radius:0;
  font:400 14px/1.6 var(--llx-sans); }
.llx-form .elementor-message-success{ background:#EAF3EE; color:#1E6E4B; border-left:3px solid #1E6E4B; }
.llx-form .elementor-message-danger{ background:#FBEDEC; color:#8C2F39; border-left:3px solid #8C2F39; }
.llx-form .elementor-message-danger::before{ content:'\26A0  '; font-weight:700; }
.llx-form .elementor-field-group .elementor-error .elementor-field-textual{ border-bottom-color:#8C2F39; }
.llx-form .elementor-field-group .elementor-error textarea.elementor-field-textual{ border-color:#8C2F39; }
.llx-modal__callback p{ margin:24px 0 0; font:400 14.5px/1.6 var(--llx-sans); }
.llx-modal__callback a{ color:var(--llx-indigo); text-decoration:none;
  border-bottom:1px solid rgba(23,24,95,.24); padding-bottom:2px; }
.llx-modal__callback a:hover{ color:var(--llx-indigo-el); border-bottom-color:var(--llx-indigo-el); }

/* ============================================================
   REVEAL + MOTION
   ============================================================ */
[data-llx-reveal]{ opacity:0; transform:translateY(20px);
  transition:opacity 1.05s var(--llx-ease),transform 1.05s var(--llx-ease); }
[data-llx-reveal].is-in{ opacity:1; transform:none; }
html.llx-no-js [data-llx-reveal]{ opacity:1; transform:none; }
.elementor-editor-active [data-llx-reveal]{ opacity:1!important; transform:none!important; }

@media (prefers-reduced-motion: reduce){
  .llx-flagship *, .llx-flagship *::before, .llx-flagship *::after{
    animation-duration:.001ms!important; transition-duration:.001ms!important; scroll-behavior:auto!important; }
  [data-llx-reveal]{ opacity:1!important; transform:none!important; }
}

@media (max-width:400px){
  .llx-flagship{ --llx-gutter:32px; }
  .llx-hero__h1 .elementor-heading-title{ font-size:clamp(34px,10vw,44px); }
}
/* ============================================================
   ADDENDA — arrow glyphs, card/index link patterns
   ============================================================ */

/* Arrow glyph without loading an icon font */
.llx-btn--arrow .elementor-button-text::after{
  content:'\2192'; display:inline-block; margin-inline-start:12px;
  color:var(--llx-gold); transition:transform .5s var(--llx-ease); }
.llx-btn--arrow .elementor-button:hover .elementor-button-text::after{ transform:translateX(5px); }
.llx-btn--outline-indigo.llx-btn--arrow .elementor-button-text::after{ color:var(--llx-indigo-el); }

/* --- Practice index rows built from containers + widgets --- */
#llx-indexlist{ display:flex; flex-wrap:wrap; padding:0!important; width:100%!important; }
[id^="llx-irw"]{
  position:relative; flex:1 1 18%!important; min-width:0;
  padding:26px 22px 26px 0!important;
  border-top:1px solid rgba(245,240,231,.16); background:transparent;
  transition:border-color .5s ease,background .5s ease; }
[id^="llx-irw"]::after{
  content:'\2192'; position:absolute; top:26px; right:22px;
  font-size:13px; line-height:1; color:var(--llx-gold);
  opacity:0; transform:translateX(-6px);
  transition:transform .5s var(--llx-ease),opacity .5s ease; }
[id^="llx-irw"]:hover, [id^="llx-irw"]:focus-within{
  border-top-color:rgba(217,188,105,.85); background:rgba(232,218,183,.045); }
[id^="llx-irw"]:hover::after, [id^="llx-irw"]:focus-within::after{ opacity:1; transform:translateX(4px); }
.llx-index__num p{ margin:0; font-family:var(--llx-display); font-size:13px;
  letter-spacing:.14em; color:rgba(232,218,183,.55); transition:color .5s ease; }
[id^="llx-irw"]:hover .llx-index__num p, [id^="llx-irw"]:focus-within .llx-index__num p{ color:var(--llx-gold); }
.llx-index__title .elementor-heading-title{
  margin:14px 0 0; font-family:var(--llx-display); font-weight:400;
  font-size:clamp(19px,1.8vw,24px); line-height:1.25; }
.llx-index__title .elementor-heading-title a{ color:var(--llx-ivory); text-decoration:none; }
.llx-index__title .elementor-heading-title a::after{ content:''; position:absolute; inset:0; z-index:3; }
.llx-index__desc p{ margin:10px 0 0; max-width:26ch;
  font:400 13.5px/1.6 var(--llx-sans); color:rgba(232,218,183,.7);
  opacity:.34; transform:translateY(3px);
  transition:opacity .5s ease,transform .5s var(--llx-ease); }
[id^="llx-irw"]:hover .llx-index__desc p, [id^="llx-irw"]:focus-within .llx-index__desc p{ opacity:1; transform:none; }
@media (max-width:1179.98px){
  [id^="llx-irw"]{ flex-basis:100%!important; }
  [id^="llx-irw"]::after{ opacity:1; transform:none; }
  .llx-index__desc p{ opacity:1; transform:none; }
}

/* --- Card CTA arrow --- */
.llx-card__cta p::after{ content:'\2192'; display:inline-block; margin-inline-start:12px;
  color:var(--llx-gold); transition:transform .55s var(--llx-ease); }
[id^="llx-pcd"]:hover .llx-card__cta p::after, [id^="llx-pcd"]:focus-within .llx-card__cta p::after{ transform:translateX(6px); }

/* --- Hero kicker rule already handled; hero facts inside HTML widget --- */
.llx-hero__facts .elementor-widget-container{ width:100%; }

/* --- Attorney figure ratio guard when Elementor emits width/height --- */
#llx-attfigure .elementor-widget-image a,
#llx-attfigure .elementor-widget-image figure{ display:block; margin:0; }

/* --- Location figure --- */
#llx-locframe .elementor-widget-image{ display:block; line-height:0; }
/* ============================================================
   QA PASS 1 — corrections after live comparison with the design
   ============================================================ */

/* Elementor's own widget spacing reset needs matching specificity */
.llx-flagship .elementor-widget:not(:last-child){ margin-block-end:0; }
.llx-flagship .elementor-element .elementor-widget-container{ margin:0; }

/* Footer: keep all four columns on one row and left-align the menus */
#llx-footbrand{ flex:1 1 300px!important; min-width:260px; max-width:38%; }
[id^="llx-fnv"]{ flex:0 1 180px!important; min-width:150px; }
[id^="llx-fnv"] .elementor-nav-menu--main .elementor-nav-menu{ align-items:flex-start; }
[id^="llx-fnv"] .elementor-nav-menu--main .elementor-item{ justify-content:flex-start; text-align:left; }
#llx-footbase .elementor-nav-menu--main .elementor-nav-menu{ justify-content:flex-end; }
@media (max-width:1024px){
  #llx-footbrand{ flex:1 1 100%!important; max-width:none; }
  [id^="llx-fnv"]{ flex:1 1 200px!important; }
}

/* Commitments: tighten the title/copy rhythm to the design */
[id^="llx-cbd"] .elementor-widget-heading + .elementor-widget-text-editor{ margin-top:0; }
.llx-commit__copy p{ margin:14px 0 0!important; }
[id^="llx-cmt"]{ align-items:flex-start; }
[id^="llx-cbd"]{ gap:0; }

/* Practice cards: honour the design's focal points */
#llx-pcd1{ background-position:50% 42%!important; }
#llx-pcd2{ background-position:50% 34%!important; }
#llx-pcd3{ background-position:52% 40%!important; }
#llx-pcd4{ background-position:50% 40%!important; }
#llx-pcd5{ background-position:50% 38%!important; }

/* Index rows: the design keeps the number and title tight */
[id^="llx-irw"]{ gap:0; }
[id^="llx-pcb"]{ gap:0; }
#llx-herocopy{ gap:0; }
#llx-ctainner{ gap:0; }
#llx-diffhead{ gap:0; }
#llx-loccol{ gap:0; }
#llx-attbody{ gap:0; }
#llx-paheadcol, #llx-procheadcol, #llx-proccost{ gap:0; }
[id^="llx-stp"]{ gap:0; }

/* Hero: restore the vertical rhythm the design's margins provide */
#llx-herocopy > .elementor-widget-heading .elementor-heading-title{ margin-top:0; }
#llx-heroactions{ margin-top:clamp(30px,3.2vw,42px); }
#llx-herocopy .llx-hero__intro p{ margin-top:clamp(24px,2.8vw,34px); }
#llx-herocopy .llx-hero__reassure p{ margin-top:22px; }

/* Attorney: the rule and bio spacing */
#llx-attbody .llx-attorney__rule{ margin:30px 0; }

/* Location list sits under the heading with the design's offset */
#llx-loccol .llx-locations{ margin-top:0; }
/* ============================================================
   QA PASS 2 — mobile header + drawer
   ============================================================ */
@media (max-width:1179.98px){
  #llx-header > .e-con-inner{ flex-wrap:nowrap!important; gap:16px; }
  #llx-brandwrap{ flex:0 1 auto!important; min-width:0; }
  .llx-brand .elementor-heading-title{ font-size:clamp(13px,3.4vw,17px)!important; }
  .llx-nav{ flex:0 0 auto!important; width:auto!important; margin-inline-start:auto; }
  .llx-nav .elementor-nav-menu__container{ margin-top:0!important; }

  /* Drawer panel, styled to the design's mobile menu */
  .llx-nav .elementor-nav-menu--dropdown{
    background:var(--llx-navy)!important;
    border:0; border-top:1px solid rgba(217,188,105,.2);
    box-shadow:0 30px 70px -30px rgba(0,0,0,.9);
    padding:8px clamp(16px,6vw,32px) clamp(20px,5vw,28px); }
  .llx-nav .elementor-nav-menu--dropdown .elementor-item{
    min-height:56px; display:flex; align-items:center; justify-content:space-between;
    padding:19px 0!important;
    font-family:var(--llx-display)!important; font-weight:400!important;
    font-size:clamp(20px,5.6vw,26px)!important; line-height:1.2!important;
    letter-spacing:0!important; color:var(--llx-ivory)!important;
    background:transparent!important;
    border-bottom:1px solid rgba(245,240,231,.1)!important; }
  .llx-nav .elementor-nav-menu--dropdown .elementor-item::after{
    content:'\2192'; font-family:var(--llx-sans); font-size:14px; color:var(--llx-gold); }
  .llx-nav .elementor-nav-menu--dropdown .elementor-item:hover,
  .llx-nav .elementor-nav-menu--dropdown .elementor-item:focus,
  .llx-nav .elementor-nav-menu--dropdown .elementor-item.elementor-item-active{
    color:var(--llx-gold)!important; background:transparent!important; }
  .llx-nav .elementor-nav-menu--dropdown .sub-menu .elementor-sub-item{
    min-height:46px; padding:12px 0 12px 16px!important;
    font-family:var(--llx-sans)!important; font-size:15px!important;
    color:var(--llx-champagne)!important; }
  .llx-nav .elementor-nav-menu--dropdown .sub-menu .elementor-sub-item::after{ content:none; }
}

/* Narrow mobile safety */
@media (max-width:400px){
  #llx-heroactions{ gap:12px 14px; }
  #llx-heroactions .elementor-widget-button{ width:100%; }
  #llx-heroactions .elementor-button{ width:100%; }
  .llx-hero__kicker p{ font-size:10px; letter-spacing:.2em; }
  [id^="llx-stt"]{ flex-wrap:wrap; }
}
/* QA PASS 3 — brand lockup must never wrap */
#llx-brandwrap{ flex-wrap:nowrap!important; }
#llx-brandwrap .elementor-widget-html{ flex:0 0 auto; }
.llx-brand .elementor-heading-title{ white-space:nowrap; }
@media (max-width:420px){ .llx-beam{ width:26px; height:12px; } .llx-brand .elementor-heading-title{ font-size:12.5px!important; letter-spacing:.16em!important; } }

/* ============================================================
   QA PASS 4 — booking form fields must read as the design's
   underline-only fields, not Elementor's default boxes.
   ============================================================ */
#llx-modalwrap .llx-form .elementor-field-textual,
#llx-modalwrap .llx-form input.elementor-field,
#llx-modalwrap .llx-form select.elementor-field{
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid rgba(23,24,95,.28)!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:13px 2px!important;
  height:auto!important; min-height:0!important;
  font:400 16px/1.5 var(--llx-sans)!important;
  color:var(--llx-charcoal)!important; }
#llx-modalwrap .llx-form textarea.elementor-field-textual{
  background:rgba(255,255,255,.55)!important;
  border:1px solid rgba(23,24,95,.2)!important;
  padding:13px 12px!important; min-height:110px!important;
  line-height:1.6!important; resize:vertical; }
#llx-modalwrap .llx-form .elementor-field-textual:focus,
#llx-modalwrap .llx-form select.elementor-field:focus{
  border-bottom-color:var(--llx-indigo-el)!important;
  box-shadow:0 1px 0 0 var(--llx-indigo-el)!important;
  outline:2px solid transparent!important; }
#llx-modalwrap .llx-form textarea.elementor-field-textual:focus{
  border-color:var(--llx-indigo-el)!important;
  box-shadow:0 0 0 1px var(--llx-indigo-el)!important; }
#llx-modalwrap .llx-form .elementor-field-group > label{ color:var(--llx-slate)!important; }
#llx-modalwrap .llx-form .elementor-field-group.elementor-field-required > label::after{ content:' *'; color:#8C2F39; }
#llx-modalwrap .llx-form select.elementor-field{ appearance:none; background-image:none!important; }
#llx-modalwrap .llx-form .elementor-select-wrapper::before{ color:var(--llx-indigo); }
#llx-modalwrap .llx-form .elementor-button[type=submit]{
  background:var(--llx-indigo)!important; color:var(--llx-ivory)!important;
  border:1px solid var(--llx-indigo)!important; border-radius:0!important; }
#llx-modalwrap .llx-form .elementor-button[type=submit]:hover{
  background:var(--llx-indigo-el)!important; border-color:var(--llx-indigo-el)!important; }
#elementor-popup-modal-347 .dialog-close-button svg{ width:14px; height:14px; fill:currentColor; }
/* QA PASS 5 — visually hidden utility + skip link (injected by flagship.js) */
.llx-vh{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;}
.llx-skip{position:absolute;left:-9999px;top:0;z-index:1000;background:var(--llx-champagne);color:var(--llx-navy);padding:14px 22px;font:600 14px/1 var(--llx-sans);letter-spacing:.06em;text-decoration:none;}
.llx-skip:focus{left:12px;top:12px;}

/* ============================================================
   QA PASS 6 — practice-index blurbs must be legible at rest.
   The design dims them to 34% until hover, which computes to
   ~1.4:1 against the midnight ground. Raised to a resting state
   that clears WCAG AA (~7.5:1); hover still brightens and lifts,
   so the interaction reads the same without hiding body copy.
   ============================================================ */
.llx-index__desc p{
  opacity:1!important;
  transform:none!important;
  color:rgba(232,218,183,.78)!important;
  transition:color .5s ease; }
[id^="llx-irw"]:hover .llx-index__desc p,
[id^="llx-irw"]:focus-within .llx-index__desc p{
  color:var(--llx-champagne)!important; }

/* The row number was also very faint at rest — same treatment. */
.llx-index__num p{ color:rgba(232,218,183,.72); }
/* QA PASS 6b — index blurbs matched to the section note's legibility */
.llx-index__desc p{ color:rgba(240,232,214,.88)!important; font-size:14px!important; }
.llx-index__num p{ color:rgba(232,218,183,.8); }