.view-firms{background:#f8f7fa;color:#1d1824}
.view-firms .firm-directory{overflow:hidden;background:#fff}
.view-firms .directory-kicker{display:inline-flex;align-items:center;gap:8px;color:#6f3ee8;font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.view-firms .directory-kicker i{width:8px;height:8px;border-radius:50%;background:#35bd85;box-shadow:0 0 0 5px #35bd8518}
.view-firms .directory-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:0 18px;border-radius:10px;font-size:11px;font-weight:900;transition:transform .2s,box-shadow .2s,background .2s}
.view-firms .directory-button:hover{transform:translateY(-2px)}
.view-firms .directory-button--primary{background:#f6bd35;color:#211b16;box-shadow:0 13px 30px #d3902035}
.view-firms .directory-button--ghost{border:1px solid #d9d0e3;background:#fff;color:#2b2432}
.view-firms .directory-button--dark{background:#1e1925;color:#fff;box-shadow:0 13px 30px #19131e26}

.view-firms .directory-hero{position:relative;padding:34px 0 76px;background:radial-gradient(circle at 78% 30%,#e9deff 0,transparent 32%),linear-gradient(135deg,#fbfafc 0,#f5f1fb 100%)}
.view-firms .directory-hero:after{content:"";position:absolute;right:-110px;bottom:-160px;width:350px;height:350px;border:1px solid #7b4dea20;border-radius:50%;box-shadow:0 0 0 52px #7b4dea08,0 0 0 105px #7b4dea06}
.view-firms .directory-hero .breadcrumbs{position:relative;z-index:2;margin-bottom:44px;color:#837b89;font-size:10px}
.view-firms .directory-hero .breadcrumbs a{color:#4f4755}
.view-firms .directory-hero .breadcrumbs span{margin-left:9px}
.view-firms .directory-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:.86fr 1.14fr;gap:75px;align-items:center}
.view-firms .directory-hero__copy h1{max-width:650px;margin:18px 0 22px;font-size:clamp(50px,5.8vw,78px);line-height:.96;letter-spacing:-.065em}
.view-firms .directory-hero__copy h1 em{color:#7040e9;font-style:normal}
.view-firms .directory-hero__copy>p{max-width:610px;margin:0;color:#6f6875;font-size:14px;line-height:1.75}
.view-firms .directory-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:31px}
.view-firms .directory-hero__visual{position:relative;min-height:470px}
.view-firms .directory-hero__visual figure{margin:0;overflow:hidden;background:#ddd}
.view-firms .directory-hero__visual img{width:100%;height:100%;display:block;object-fit:cover}
.view-firms .directory-hero__main-image{position:absolute;inset:0 72px 32px 0;border-radius:28px;box-shadow:0 28px 70px #3d2f5026}
.view-firms .directory-hero__main-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,#17121fbb)}
.view-firms .directory-hero__main-image figcaption{position:absolute;z-index:1;left:28px;right:28px;bottom:24px;display:grid;color:#fff}
.view-firms .directory-hero__main-image figcaption b{font-size:16px}.view-firms .directory-hero__main-image figcaption span{margin-top:4px;color:#ded7e4;font-size:10px}
.view-firms .directory-hero__small-image{position:absolute;right:0;top:36px;width:170px;height:185px;border:7px solid #f7f4fa;border-radius:21px;box-shadow:0 20px 45px #2d213544}
.view-firms .directory-hero__note{position:absolute;right:4px;bottom:0;width:210px;padding:19px 21px;display:flex;align-items:center;gap:13px;border-radius:17px;background:#f5bd38;color:#211b16;box-shadow:0 18px 45px #bb7d2838}
.view-firms .directory-hero__note span{font-size:36px;font-weight:950;line-height:1}.view-firms .directory-hero__note p{margin:0;font-size:10px;font-weight:850;line-height:1.45}
.view-firms .directory-hero__seal{position:absolute;left:-24px;top:52px;display:flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid #ffffff88;border-radius:999px;background:#fffffff0;box-shadow:0 12px 34px #34264220;backdrop-filter:blur(8px)}
.view-firms .directory-hero__seal b{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#e6fbf2;color:#159764}.view-firms .directory-hero__seal span{font-size:8px;font-weight:850;line-height:1.35}

.view-firms .directory-editorial{padding:88px 0;border-bottom:1px solid #eae5ee;background:#fff}
.view-firms .directory-editorial__grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:24px 90px}
.view-firms .directory-editorial header h2{max-width:470px;margin:14px 0 0;font-size:clamp(35px,4.2vw,55px);line-height:1.02;letter-spacing:-.05em}
.view-firms .directory-editorial__copy{padding-top:20px;columns:2;column-gap:32px}
.view-firms .directory-editorial__copy p{margin:0;color:#6d6671;font-size:13px;line-height:1.82;break-inside:avoid}.view-firms .directory-editorial__copy p+p{margin-top:15px}
.view-firms .directory-editorial__steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:42px 0 0;padding:0;border-top:1px solid #e8e2eb;border-bottom:1px solid #e8e2eb;list-style:none}
.view-firms .directory-editorial__steps li{display:grid;grid-template-columns:auto 1fr;gap:17px;padding:23px 25px}.view-firms .directory-editorial__steps li+li{border-left:1px solid #e8e2eb}
.view-firms .directory-editorial__steps li>b{color:#7443e8;font-size:12px}.view-firms .directory-editorial__steps span{display:grid;gap:5px}.view-firms .directory-editorial__steps strong{font-size:12px}.view-firms .directory-editorial__steps small{color:#817986;font-size:9px;line-height:1.55}

.view-firms .featured-firm-section{padding:90px 0;background:linear-gradient(145deg,#f0eafd,#f9f7fb 60%,#eee8fa)}
.view-firms .featured-firm{display:grid;grid-template-columns:1.02fr .98fr;min-height:585px;border:1px solid #ddd3eb;border-radius:29px;background:#fff;overflow:hidden;box-shadow:0 30px 80px #3e285a17}
.view-firms .featured-firm__visual{position:relative;min-height:520px;background:#d6d0dc}
.view-firms .featured-firm__visual>img{width:100%;height:100%;display:block;object-fit:cover}.view-firms .featured-firm__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#130e1b10,#130e1b68)}
.view-firms .featured-firm__label{position:absolute;z-index:1;left:25px;top:25px;padding:9px 11px;border-radius:999px;background:#211a2ddd;color:#fff;font-size:8px;font-weight:900;letter-spacing:.1em;backdrop-filter:blur(8px)}
.view-firms .featured-firm__logo{position:absolute;z-index:2;right:25px;bottom:25px;width:94px;height:94px;padding:8px;display:grid;place-items:center;overflow:hidden;border:7px solid #ffffff44;border-radius:23px;background:#fff;box-shadow:0 13px 32px #17101e55}
.view-firms .featured-firm__logo img{width:100%;height:100%;display:block;object-fit:contain}.view-firms .featured-firm__logo b{color:#6d3de5;font-size:36px}
.view-firms .featured-firm__content{display:flex;flex-direction:column;padding:54px 48px}
.view-firms .featured-firm__content h2{margin:15px 0 16px;font-size:clamp(37px,4vw,55px);line-height:1;letter-spacing:-.055em}
.view-firms .featured-firm__lead{margin:0;color:#6d6672;font-size:12px;line-height:1.75}
.view-firms .featured-firm__services{display:flex;flex-wrap:wrap;gap:7px;margin:24px 0}.view-firms .featured-firm__services span{padding:8px 10px;border-radius:999px;background:#f0eaff;color:#6034cc;font-size:9px;font-weight:850}
.view-firms .featured-firm dl{display:grid;grid-template-columns:1fr 1.25fr;margin:0;border-block:1px solid #ece7ef}.view-firms .featured-firm dl div{display:grid;gap:5px;padding:16px 14px 16px 0}.view-firms .featured-firm dl div+div{padding-left:18px;border-left:1px solid #ece7ef}.view-firms .featured-firm dt{color:#918997;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.view-firms .featured-firm dd{margin:0;font-size:10px;font-weight:850;line-height:1.45}
.view-firms .featured-firm__actions{display:flex;align-items:center;gap:20px;margin-top:25px}.view-firms .featured-firm__quote{color:#6540c8;font-size:10px;font-weight:850;text-decoration:underline;text-underline-offset:4px}
.view-firms .featured-firm__disclaimer{margin-top:auto;padding-top:24px;color:#aaa2af;font-size:7px;line-height:1.5}

.view-firms .firms-list{padding:94px 0 105px;background:#fff}
.view-firms .firms-list__header{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;margin-bottom:32px}.view-firms .firms-list__header h2{margin:10px 0 7px;font-size:clamp(34px,4vw,50px);line-height:1.04;letter-spacing:-.05em}.view-firms .firms-list__header p{margin:0;color:#7a737f;font-size:12px}.view-firms .firms-list__header>a{display:flex;gap:15px;align-items:center;color:#6338d5;font-size:10px;font-weight:900;white-space:nowrap}
.view-firms .firm-search{display:grid;grid-template-columns:1fr 300px 170px;gap:8px;padding:9px;border:1px solid #ddd5e4;border-radius:16px;background:#faf8fc;box-shadow:0 14px 34px #3825490b}
.view-firms .firm-search label{display:flex;align-items:center;gap:9px;padding:0 14px;border:1px solid #e5dfea;border-radius:10px;background:#fff}.view-firms .firm-search label span{color:#7040e8;font-size:17px}.view-firms .firm-search input,.view-firms .firm-search select{width:100%;height:50px;border:0;background:#fff;color:#28212e;font:inherit;font-size:11px}.view-firms .firm-search input:focus,.view-firms .firm-search select:focus{outline:0}.view-firms .firm-search select{padding:0 12px;border:1px solid #e5dfea;border-radius:10px}.view-firms .firm-search button{border:0;border-radius:10px;background:#7140e8;color:#fff;font:inherit;font-size:10px;font-weight:900;cursor:pointer}.view-firms .firm-search button span{margin-left:10px}
.view-firms .firms-toolbar{display:flex;justify-content:space-between;align-items:center;margin:25px 0 17px;color:#79717d;font-size:10px}.view-firms .firms-toolbar b{color:#211b28;font-size:17px}.view-firms .firms-toolbar a{color:#6e3ddd;font-weight:850}
.view-firms .firm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.view-firms .firm-card{position:relative;min-width:0;padding:22px;border:1px solid #e3dce8;border-radius:19px;background:linear-gradient(180deg,#fff,#fdfcfe);box-shadow:0 15px 38px #3f2b520a;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}.view-firms .firm-card:hover{transform:translateY(-4px);border-color:#cdbde7;box-shadow:0 22px 50px #3f2b5218}.view-firms .firm-card:before{content:"";position:absolute;right:-52px;top:-63px;width:135px;height:135px;border-radius:50%;background:#7443e80b}
.view-firms .firm-card>header{position:relative;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.view-firms .firm-card__monogram{width:56px;height:56px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,#211a2c,#493869);color:#fff;font-size:22px;font-weight:900;box-shadow:0 10px 24px #25193428}.view-firms .firm-card:nth-child(3n+2) .firm-card__monogram{background:linear-gradient(145deg,#23444b,#27857f)}.view-firms .firm-card:nth-child(3n+3) .firm-card__monogram{background:linear-gradient(145deg,#503026,#b56e46)}
.view-firms .firm-card__status{max-width:135px;padding:7px 9px;border-radius:999px;background:#f0eaff;color:#6638d4;font-size:7px;font-weight:900;text-align:center;line-height:1.3}.view-firms .sponsored-label{position:absolute;left:0;top:0;padding:5px 8px;border-radius:0 0 8px 0;background:#f5bb37;color:#251d12;font-size:7px;font-weight:900}
.view-firms .firm-card__body{min-height:111px;padding-top:20px}.view-firms .firm-card__city{color:#7a4ae6;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.view-firms .firm-card h3{margin:8px 0 7px;font-size:20px;line-height:1.12;letter-spacing:-.03em}.view-firms .firm-card__body p{margin:0;color:#817986;font-size:10px;line-height:1.5}
.view-firms .firm-card__highlight{display:flex;align-items:baseline;gap:7px;padding:13px 0}.view-firms .firm-card__highlight b{color:#e39113;font-size:16px}.view-firms .firm-card__highlight span{color:#a098a4;font-size:8px}
.view-firms .firm-card__stats{display:flex;justify-content:space-between;gap:13px;margin:0 0 16px;padding:14px 0;border-block:1px solid #eee8f1;color:#5e5763;font-size:8px}.view-firms .firm-card__stats b{color:#221c28}
.view-firms .firm-card footer{display:grid;grid-template-columns:1fr 1fr;gap:8px}.view-firms .firm-card footer a{min-height:42px;display:flex;align-items:center;justify-content:center;padding:8px;border:1px solid #ddd4e4;border-radius:9px;color:#2c2532;font-size:9px;font-weight:850}.view-firms .firm-card footer a:last-child{border-color:#7140e8;background:#7140e8;color:#fff}.view-firms .firm-card footer.firm-card__actions--partner{grid-template-columns:1fr}.view-firms .firm-card footer.firm-card__actions--partner a{justify-content:space-between;padding-inline:14px}
.view-firms .listing-empty{grid-column:1/-1;padding:55px;border:1px dashed #cdbfe0;border-radius:20px;background:#faf7ff;text-align:center}.view-firms .listing-empty>span{width:50px;height:50px;display:grid;place-items:center;margin:0 auto 14px;border-radius:50%;background:#eee6ff;color:#7140e8;font-size:22px}.view-firms .listing-empty h2{margin:0 0 8px}.view-firms .listing-empty p{color:#7e7583}.view-firms .listing-empty .directory-button{margin-top:10px}

.view-firms .directory-cta{padding:58px 0;background:linear-gradient(120deg,#1c1723,#372651);color:#fff}.view-firms .directory-cta .container{display:flex;align-items:center;justify-content:space-between;gap:40px}.view-firms .directory-cta span{color:#c2aaff;font-size:9px;font-weight:900;letter-spacing:.12em}.view-firms .directory-cta h2{margin:9px 0 0;font-size:clamp(30px,3.5vw,45px);line-height:1.05;letter-spacing:-.04em}.view-firms .directory-cta a{min-width:230px;min-height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-radius:11px;background:#f4ba36;color:#211b17;font-size:11px;font-weight:900;box-shadow:0 14px 32px #100b1744}.view-firms .directory-cta a span{color:#211b17;font-size:18px;letter-spacing:0}

@media(max-width:1050px){
  .view-firms .directory-hero__grid{grid-template-columns:1fr 1fr;gap:35px}.view-firms .directory-hero__visual{min-height:410px}.view-firms .directory-editorial__grid{gap:30px}.view-firms .featured-firm__content{padding:42px 34px}.view-firms .firm-grid{grid-template-columns:1fr 1fr}.view-firms .firm-search{grid-template-columns:1fr 250px 155px}
}
@media(max-width:760px){
  .view-firms .directory-hero{padding:24px 0 50px}.view-firms .directory-hero .breadcrumbs{margin-bottom:30px}.view-firms .directory-hero__grid{grid-template-columns:1fr}.view-firms .directory-hero__copy h1{font-size:51px}.view-firms .directory-hero__copy>p{font-size:13px}.view-firms .directory-hero__visual{min-height:390px;margin-top:16px}.view-firms .directory-hero__seal{left:10px;top:22px}.view-firms .directory-hero__main-image{right:45px}.view-firms .directory-hero__small-image{width:125px;height:145px}.view-firms .directory-hero__note{width:190px}
  .view-firms .directory-editorial{padding:62px 0}.view-firms .directory-editorial__grid{grid-template-columns:1fr}.view-firms .directory-editorial__copy{padding-top:0;columns:1}.view-firms .directory-editorial__steps{grid-template-columns:1fr;margin-top:20px}.view-firms .directory-editorial__steps li+li{border-left:0;border-top:1px solid #e8e2eb}
  .view-firms .featured-firm-section{padding:58px 0}.view-firms .featured-firm{grid-template-columns:1fr}.view-firms .featured-firm__visual{min-height:370px}.view-firms .featured-firm__content{padding:36px 28px}.view-firms .featured-firm__disclaimer{margin-top:20px}
  .view-firms .firms-list{padding:65px 0 75px}.view-firms .firms-list__header{display:grid;align-items:start}.view-firms .firm-search{grid-template-columns:1fr}.view-firms .firm-search button{height:49px}.view-firms .firm-grid{grid-template-columns:1fr 1fr}.view-firms .directory-cta .container{display:grid}.view-firms .directory-cta a{min-width:0}
}
@media(max-width:560px){
  .view-firms .directory-hero__copy h1{font-size:43px}.view-firms .directory-hero__actions{display:grid}.view-firms .directory-hero__visual{min-height:325px}.view-firms .directory-hero__main-image{inset:0 24px 20px 0;border-radius:21px}.view-firms .directory-hero__main-image figcaption{left:19px;right:19px;bottom:17px}.view-firms .directory-hero__small-image{display:none}.view-firms .directory-hero__note{right:0;width:167px;padding:15px}.view-firms .directory-hero__note span{font-size:29px}.view-firms .directory-hero__seal{left:8px;top:15px}.view-firms .directory-editorial header h2{font-size:37px}
  .view-firms .featured-firm{border-radius:20px}.view-firms .featured-firm__visual{min-height:275px}.view-firms .featured-firm__label{left:17px;top:17px}.view-firms .featured-firm__logo{right:17px;bottom:17px;width:76px;height:76px;border-radius:18px}.view-firms .featured-firm__content{padding:30px 21px}.view-firms .featured-firm__content h2{font-size:37px}.view-firms .featured-firm dl{grid-template-columns:1fr}.view-firms .featured-firm dl div+div{padding-left:0;border-left:0;border-top:1px solid #ece7ef}.view-firms .featured-firm__actions{display:grid}.view-firms .featured-firm__quote{text-align:center}
  .view-firms .firms-list__header h2{font-size:37px}.view-firms .firms-toolbar{align-items:flex-start}.view-firms .firms-toolbar small{max-width:180px;text-align:right}.view-firms .firm-grid{grid-template-columns:1fr}.view-firms .firm-card__body{min-height:auto}.view-firms .listing-empty{padding:38px 20px}.view-firms .directory-cta{padding:48px 0}.view-firms .directory-cta h2{font-size:33px}
}
