/* Firms page: Gerri's editorial style with a clear hiring journey. */
.firms-page h2{text-wrap:balance}
.firms-hero{min-height:min(900px,100svh)}
.firms-hero .hero-content{padding-top:clamp(75px,11vh,130px);padding-bottom:108px}
.firms-hero h1{font-size:clamp(58px,6.3vw,94px);line-height:1.07;max-width:1220px;margin-top:0}
.firms-hero .hero-introduction{max-width:730px;margin-top:32px}
.firms-hero .hero-description{max-width:730px;font-size:18px;line-height:1.7}
.firms-hero .hero-introduction .button{margin-top:29px}
.firms-hero .hero-reassurance{font-size:12px;margin-top:16px}
.section-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}
.firms-problem,.firms-control,.firms-faq{padding-block:112px}
.firms-copy p{font-size:17px;line-height:1.8;color:var(--muted)}
.firms-copy p+p{margin-top:23px}
.firms-network{background:#e6eae0;padding-block:100px;overflow:hidden}
.network-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center}
.firms-network h2{max-width:610px;margin-bottom:31px}
.network-art{position:relative;width:100%;aspect-ratio:1;max-width:500px;justify-self:center}
.network-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #b7c1ad;border-radius:50%}
.ring-one{width:36%;height:36%}.ring-two{width:66%;height:66%;border-style:dashed}.ring-three{width:96%;height:96%;opacity:.7}
.network-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:92px;width:92px;display:grid;place-items:center;border-radius:50%;background:#314334;color:#f5f3ed;font-size:55px;font-weight:550;letter-spacing:-5px;padding-right:7px;box-shadow:0 0 0 14px #31433408}
.network-node{position:absolute;transform:translate(-50%,-50%);width:39px;height:39px;border-radius:50%;background:#f5f6f0;border:1px solid #bec8b4;box-shadow:0 4px 12px #28362a07}
.network-node::before{content:'';position:absolute;width:8px;height:8px;border:1px solid #839379;border-radius:50%;left:14px;top:8px}
.network-node::after{content:'';position:absolute;width:16px;height:8px;border:1px solid #839379;border-bottom:0;border-radius:9px 9px 0 0;left:10px;top:21px}
.node-one{left:50%;top:2%}.node-two{left:82%;top:16%}.node-three{left:98%;top:50%}.node-four{left:72%;top:80%}.node-five{left:28%;top:93%}.node-six{left:4%;top:37%}.node-seven{left:33%;top:48%}
.firms-workflow{padding-block:112px}
.firms-workflow>h2{margin-bottom:50px}
.workflow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.step-visual{height:200px;margin-bottom:28px;display:flex;align-items:center;justify-content:center;background:#e9ece3;border:1px solid #dce1d4;border-radius:6px;overflow:hidden}
.brief-sheet{width:75%;max-width:250px;background:#f9faf6;border:1px solid #d0d8c7;border-radius:5px;padding:21px;transform:rotate(-4deg);box-shadow:5px 8px 0 #dbe0d3}
.sheet-lines{display:grid;gap:7px;margin-bottom:18px}.sheet-lines i{height:3px;background:#b5c0a9;width:42%}.sheet-lines i+ i{width:67%;background:#d2dac9}
.brief-fields{display:flex;flex-wrap:wrap;gap:7px}.brief-fields span{font-size:9px;padding:7px 9px;border:1px solid #d8dfcf;border-radius:4px;color:#526349}
.fit-circles{width:250px;height:130px;position:relative;display:flex;align-items:center;justify-content:center}
.fit-circles>span{width:130px;height:130px;border:1px solid #a7b39a;border-radius:50%;display:grid;place-items:center;font-size:10px;color:#536448;background:#f6f8f033}
.fit-circles>span+span{margin-left:-26px;background:#c4ceb52b}
.fit-circles i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#344835;color:white;font-style:normal;font-size:20px;letter-spacing:-2px;padding-right:2px}
.intro-connection{display:flex;align-items:center;position:relative;gap:19px}
.intro-connection::before{content:'';height:1px;background:#a9b39e;position:absolute;left:0;right:0}
.intro-connection span{position:relative;background:#f9faf5;border:1px solid #cbd4c1;border-radius:4px;padding:15px 10px;font-size:10px;color:#526448}
.intro-connection i{position:relative;display:grid;place-items:center;background:#344835;border-radius:50%;width:28px;height:28px;color:#f5f3ed;font-style:normal;font-size:14px}
.step-heading{display:flex;gap:12px;align-items:baseline}.step-number{font-size:10px;color:#7b896f;letter-spacing:.7px}
.workflow-step h3,.benefit-row h3{font-size:23px;font-weight:500;line-height:1.25;letter-spacing:-.65px;margin:0 0 16px}
.workflow-step>p{font-size:16px;line-height:1.8;color:var(--muted)}
.workflow-cta{text-align:center;margin-top:43px}
.firms-benefits{background:#eeeee7;padding-block:96px}
.benefit-row{display:flex;gap:22px;padding-block:25px;border-bottom:1px solid #d1d7c8}
.benefit-row:first-child{padding-top:0}.benefit-row:last-child{border:0;padding-bottom:0}
.benefit-mark{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;color:#637655}
.benefit-mark svg{display:block;width:23px;height:23px}
.benefit-row p{font-size:16px;line-height:1.8;color:var(--muted)}
.firms-control .control-promise{font-size:25px;line-height:1.5;letter-spacing:-.5px;color:var(--ink)}
.firms-pricing{padding-block:96px;background:#27332c;color:#f5f3ed}
.pricing-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%}
.price-details{font-size:17px;line-height:1.8;color:#d1d9c8;max-width:430px;margin:26px 0 29px}
.pricing-statement{margin:0;display:flex;flex-direction:column;align-items:center;font-weight:450;text-align:center}
.price-number{font-size:clamp(140px,15vw,215px);line-height:1;letter-spacing:-.08em;color:#c7d3b5}
.price-number>span{font-size:.62em;letter-spacing:-.06em;margin-left:5px}
.price-condition{font-size:clamp(24px,2.5vw,36px);letter-spacing:-.035em;line-height:1.2;margin-top:15px}
.firms-faq{grid-template-columns:.8fr 1.2fr;gap:9%}
.faq-item{border-bottom:1px solid var(--line)}.faq-item:first-child{border-top:1px solid var(--line)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;font-size:18px;font-weight:500;line-height:1.5;letter-spacing:-.3px;padding:23px 0}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:focus-visible{outline:2px solid #879774;outline-offset:5px;border-radius:3px}
.faq-plus{position:relative;width:17px;height:17px;flex-shrink:0;color:#6d7b60}
.faq-plus::before,.faq-plus::after{content:'';position:absolute;background:currentColor;width:13px;height:1px;left:2px;top:8px}.faq-plus::after{transform:rotate(90deg);transition:transform .2s}
.faq-item[open] .faq-plus::after{transform:rotate(0)}
.faq-answer{padding:0 35px 25px 0;color:var(--muted);font-size:16px;line-height:1.8}
.firms-closing{position:relative;text-align:center;background:linear-gradient(#16281dda,#16281dda),url('../assets/new-york.jpg') center 58%/cover;color:#fff;padding-block:100px}
.firms-closing h2{font-size:clamp(44px,5vw,72px);margin-bottom:33px}
@media(max-width:900px){.firms-hero{min-height:760px}.firms-hero .hero-content{padding-top:75px}.section-grid,.network-grid,.pricing-grid{gap:6%}.firms-problem,.firms-control,.firms-faq,.firms-workflow{padding-block:85px}.firms-network,.firms-benefits,.firms-pricing{padding-block:80px}.firms-copy p{font-size:16px}.workflow-grid{gap:20px}.step-visual{height:175px}.workflow-step h3{font-size:20px}.workflow-step>p{font-size:15px}.brief-sheet{padding:13px;width:85%}.brief-fields{gap:5px}.brief-fields span{padding:6px;font-size:8px}.fit-circles{transform:scale(.8)}.intro-connection{gap:7px}.intro-connection span{font-size:9px;padding:13px 6px}.step-heading{gap:8px}.network-center{width:75px;height:75px;font-size:45px}.firms-faq{grid-template-columns:.85fr 1.15fr}}
@media(max-width:650px){.firms-page .nav-attorneys{font-size:11px;margin-right:16px}.firms-page .header .nav-cta{font-size:11px;padding-inline:12px;gap:9px}.firms-page .nav-about{display:none}.firms-hero{min-height:0}.firms-hero .hero-content{padding-top:62px;padding-bottom:78px}.firms-hero h1{font-size:clamp(42px,10.5vw,65px);line-height:1.1}.firms-hero h1 br{display:none}.firms-hero .hero-description{font-size:16px;line-height:1.75}.firms-hero .hero-introduction{margin-top:25px}.firms-hero .hero-reassurance{font-size:10px}.section-grid,.network-grid,.pricing-grid,.firms-faq{grid-template-columns:1fr;gap:28px}.firms-problem,.firms-control,.firms-faq,.firms-workflow{padding-block:66px}.firms-network,.firms-benefits,.firms-pricing{padding-block:66px}.firms-page h2{font-size:39px}.firms-network h2{margin-bottom:25px}.network-grid{gap:35px}.network-art{max-width:310px}.network-node{width:32px;height:32px}.network-node::before{left:11px;top:6px}.network-node::after{left:7px;top:18px}.network-center{width:65px;height:65px;font-size:40px}.workflow-grid{grid-template-columns:1fr;gap:38px}.firms-workflow>h2{margin-bottom:33px}.step-visual{height:195px;margin-bottom:23px}.brief-sheet{max-width:230px;padding:20px}.brief-fields span{font-size:10px;padding:7px}.fit-circles{transform:none}.intro-connection{gap:23px}.intro-connection span{font-size:11px;padding:16px}.workflow-step h3{font-size:24px}.workflow-step>p{font-size:16px}.step-heading{gap:12px}.workflow-cta{margin-top:35px}.benefit-list{margin-top:6px}.benefit-row{gap:18px}.benefit-row h3{font-size:23px}.firms-control .control-promise{font-size:23px}.pricing-grid{text-align:center;gap:32px}.price-details{margin:25px auto}.price-number{font-size:155px}.price-condition{font-size:28px}.faq-item summary{font-size:17px;gap:20px;padding-block:21px}.faq-answer{font-size:15px;padding-right:10px}.firms-closing{padding-block:76px}.firms-closing h2{font-size:45px}}
@media(max-width:650px){
  .firms-hero h1{font-size:clamp(36px,9.6vw,46px);line-height:1.08;letter-spacing:-.055em}
  .firms-hero .hero-description{font-size:17px;line-height:1.6}
  .firms-hero .hero-introduction{margin-top:23px}
}
