.firm-site{background:var(--public-card)}.firm-site .public-shell{width:min(100%,1360px)}.firm-hero{padding-bottom:0}.firm-hero__grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(32px,5vw,72px);display:grid}.firm-hero h1{font-size:clamp(44px,5.4vw,76px);line-height:1.03}.firm-hero h1 span{color:var(--public-copy)}.firm-product{border:1px solid var(--public-line);background:var(--public-tint);border-radius:8px;min-width:0;margin:0;padding:12px}.firm-product__label{font-family:var(--font-mono);color:var(--revly-700);align-items:center;gap:8px;padding:4px 4px 14px;font-size:11px;display:flex}.firm-product__label span{background:var(--revly-600);border-radius:50%;width:7px;height:7px}.firm-product img{border:1px solid var(--public-line);border-radius:8px;width:100%;height:auto;display:block}.firm-product figcaption{color:var(--public-copy);padding:14px 4px 2px;font-size:13px}.firm-promises{border-block:1px solid var(--public-line);color:var(--public-copy);flex-wrap:wrap;justify-content:space-between;gap:16px;margin:64px 0 0;padding:24px 0;font-size:15px;list-style:none;display:flex}.firm-promises li:before{content:"✓";color:var(--revly-700);margin-right:10px}.firm-site .public-section{padding-block:clamp(56px,7vw,96px)}.firm-site .public-section h2{letter-spacing:-.04em;text-wrap:balance;margin:0;font-size:clamp(30px,3.6vw,44px);font-weight:650;line-height:1.1}.firm-heading{justify-content:space-between;align-items:end;gap:28px;margin-bottom:44px;display:flex}.firm-heading>p{max-width:320px;color:var(--public-copy);margin:0;font-size:18px;line-height:1.55}.firm-flow{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.firm-flow li{min-width:0;padding-right:24px;position:relative}.firm-flow li:not(:last-child):before{content:"";border-top:1px dashed var(--revly-300);position:absolute;top:28px;left:70px;right:14px}.firm-flow__mark{border:1px solid var(--public-line);background:var(--public-tint);width:56px;height:56px;color:var(--public-ink);border-radius:6px;place-items:center;margin-bottom:22px;display:grid}.firm-flow__mark--human{color:#fff;background:var(--public-ink);border-color:var(--public-ink)}.firm-flow h3,.firm-start__steps h3{letter-spacing:-.02em;margin:0 0 10px;font-size:19px;font-weight:600}.firm-flow p,.firm-start__steps p{color:var(--public-copy);margin:0;font-size:16px;line-height:1.55}.firm-flow a{color:var(--revly-700);margin-top:18px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.firm-flow a:hover{text-underline-offset:4px;text-decoration:underline}.firm-flow a:focus-visible,.firm-faq summary:focus-visible{outline:3px solid var(--revly-600);outline-offset:5px;border-radius:3px}.firm-control{grid-template-columns:1fr 1fr;gap:clamp(32px,7vw,100px);display:grid}.firm-control__lead{max-width:400px;color:var(--public-copy);margin:24px 0 0;font-size:18px;line-height:1.6}.firm-responsibility{margin:0}.firm-responsibility>div{border-top:1px solid var(--public-line);padding:22px 0}.firm-responsibility>div:first-child{border-top:0;padding-top:0}.firm-responsibility dt{font-size:20px;font-weight:600}.firm-responsibility dd{color:var(--public-copy);margin:8px 0 0;font-size:16px;line-height:1.6}.firm-start{background:var(--public-tint);border-block:1px solid var(--public-line)}.firm-start__steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin:0;padding:0;list-style:none;display:grid}.firm-start__steps .public-eyebrow{display:block}.firm-faq details{border-bottom:1px solid var(--public-line);padding:20px 0}.firm-faq details:first-child{padding-top:0}.firm-faq summary{cursor:pointer;font-size:18px;font-weight:600;line-height:1.5}.firm-faq p{color:var(--public-copy);margin:14px 0 0;font-size:16px;line-height:1.65}@media (max-width:800px){.firm-hero__grid,.firm-control{grid-template-columns:1fr}.firm-hero .public-hero__copy{max-width:none}.firm-heading{display:block}.firm-heading>p,.firm-heading>a{margin-top:20px;display:block}.firm-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 0}.firm-flow li:nth-child(2):before{display:none}.firm-start__steps{grid-template-columns:1fr;gap:28px}.firm-promises{margin-top:36px}}@media (max-width:480px){.firm-flow{grid-template-columns:1fr;gap:28px}.firm-flow li{padding:0 0 0 76px}.firm-flow__mark{position:absolute;top:0;left:0}.firm-flow li:not(:last-child):before{border-top:0;border-left:1px dashed var(--revly-300);display:block;inset:66px auto -18px 28px}.firm-promises{flex-direction:column}}
