.home-body{background:#fff}
.home-shell{max-width:1220px;margin:0 auto}
.home-section{padding:82px 24px;border-bottom:1px solid var(--line);background:#fff}
.home-heading{display:grid;grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr);gap:72px;align-items:end}
.home-heading h2{margin:0;font-size:46px;line-height:1.06;letter-spacing:0}
.home-heading p{margin:0;color:var(--muted);font-size:18px;line-height:1.58}
.home-text-link{display:inline-flex;color:var(--red);font-weight:900;text-decoration:none;border-bottom:1px solid currentColor}
.home-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 21px;border:1px solid var(--red);background:#fff;color:var(--red);font-weight:900;text-decoration:none;transition:background .18s ease,color .18s ease,border-color .18s ease}
.home-button:hover,.home-button:focus-visible,.home-button--primary{background:var(--red);color:#fff}
.home-button--primary:hover,.home-button--primary:focus-visible{background:var(--red-dark);border-color:var(--red-dark)}

.home-hero{border-bottom:1px solid var(--line);background:#fff}
.home-hero__inner{max-width:1220px;min-height:640px;margin:0 auto;padding:64px 0 54px;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(470px,.96fr);gap:70px;align-items:center}
.home-hero__copy{position:relative;min-width:0}
.home-hero__copy::before{content:"";position:absolute;left:-26px;top:3px;width:4px;height:54px;background:var(--red)}
.home-hero h1{max-width:720px;margin:0;font-size:70px;line-height:.98;letter-spacing:0}
.home-hero__lead{max-width:700px;margin:26px 0 0;color:#484c56;font-size:19px;line-height:1.62}
.home-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.home-hero__proof{display:flex;align-items:baseline;gap:16px;margin-top:46px;padding-top:20px;border-top:1px solid var(--line)}
.home-hero__proof strong{color:var(--red);font-size:24px}
.home-hero__proof span{color:var(--muted);font-size:14px}
.home-portraits{height:500px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:end;position:relative}
.home-portraits::before{content:"";position:absolute;left:-28px;right:-18px;bottom:42px;height:2px;background:var(--red);z-index:2}
.home-portraits figure{height:420px;margin:0;overflow:hidden;border-top:1px solid var(--line);background:#e8e8ea}
.home-portraits figure:nth-child(2){height:500px;border-top:5px solid var(--red)}
.home-portraits figure:nth-child(3){height:380px}
.home-portraits img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(.12) saturate(.84)}

.home-facts{padding:0 24px;background:#f5f5f6;border-bottom:1px solid var(--line)}
.home-facts__inner{max-width:1220px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-left:1px solid var(--line)}
.home-fact{min-height:154px;padding:27px 28px;border-right:1px solid var(--line);background:#fff}
.home-fact strong{display:block;color:var(--red);font-size:34px;line-height:1}
.home-fact span{display:block;margin-top:17px;color:#454953;font-size:14px;line-height:1.45}

.home-routes{background:#f6f6f7}
.route-list{margin-top:40px;border-top:1px solid var(--ink)}
.route-item{position:relative;display:grid;grid-template-columns:64px minmax(240px,.82fr) minmax(320px,1.18fr) 160px;gap:28px;align-items:center;min-height:142px;padding:22px 8px;border-bottom:1px solid var(--line);background:#fff;text-decoration:none}
.route-item:hover h3,.route-item:focus-visible h3{color:var(--red)}
.route-item__number{color:var(--red);font-size:12px;font-weight:900;letter-spacing:.12em}
.route-item h3{margin:0;font-size:27px;line-height:1.16}
.route-item p{margin:0;color:var(--muted);font-size:16px;line-height:1.55}
.route-item__action{justify-self:end;color:var(--red);font-size:14px;font-weight:900;border-bottom:1px solid currentColor}

.home-current{padding:82px 24px;border-bottom:1px solid var(--line);background:var(--theme-section,#fff)}
.home-current__inner{max-width:1220px;margin:0 auto;display:grid;grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr);border-top:2px solid var(--red);border-left:1px solid var(--line)}
.home-current__intro{padding:46px 42px;background:var(--graphite);color:#fff}
.home-current__intro h2{margin:0;font-size:43px;line-height:1.08}
.home-current__intro p:not(.eyebrow){margin:24px 0 0;color:#c6c8cf;font-size:17px;line-height:1.62}
.home-current__body{display:flex;min-width:0;flex-direction:column;padding:42px 46px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--theme-surface,#fff);color:var(--theme-text,var(--ink))}
.current-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.current-list li{position:relative;padding:18px 14px 18px 32px;border-bottom:1px solid var(--line);font-weight:800}
.current-list li::before{content:"";position:absolute;left:5px;top:26px;width:11px;height:1px;background:var(--red)}
.home-current__body .home-button{align-self:flex-start;margin-top:30px}

.practice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:40px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.practice-link{position:relative;min-height:190px;padding:27px 58px 27px 27px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;text-decoration:none}
.practice-link:nth-child(4n+2),.practice-link:nth-child(4n+3){background:#f8f8f9}
.practice-link h3{margin:0;font-size:24px;line-height:1.2}
.practice-link p{margin:20px 0 0;color:var(--muted);font-size:15px;line-height:1.55}
.practice-link::after{content:"";position:absolute;right:28px;top:32px;width:10px;height:10px;border-top:1px solid var(--red);border-right:1px solid var(--red);transform:rotate(45deg)}
.practice-link:hover h3,.practice-link:focus-visible h3{color:var(--red)}

.home-tools{padding:82px 24px;border-bottom:1px solid var(--line);background:#f5f5f6}
.home-tools__inner{max-width:1220px;margin:0 auto;display:grid;grid-template-columns:minmax(330px,.7fr) minmax(0,1.3fr);border:1px solid var(--line)}
.home-tools__intro{padding:48px 42px;background:var(--graphite);color:#fff}
.home-tools__intro h2{margin:0;font-size:44px;line-height:1.07}
.home-tools__intro>p:not(.eyebrow){margin:25px 0 0;color:#bec1ca;font-size:17px;line-height:1.62}
.home-tools__intro .home-text-link{margin-top:30px;color:#fff}
.tool-list{background:#fff}
.tool-link{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);gap:20px;min-height:128px;padding:25px 58px 24px 28px;border-bottom:1px solid var(--line);text-decoration:none}
.tool-link:last-child{border-bottom:0}
.tool-link__number{padding-top:3px;color:var(--red);font-size:11px;font-weight:900;letter-spacing:.12em}
.tool-link h3{margin:0;font-size:21px}
.tool-link p{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.5}
.tool-link::after{content:"";position:absolute;right:28px;top:50%;width:10px;height:10px;border-top:1px solid var(--red);border-right:1px solid var(--red);transform:translateY(-50%) rotate(45deg)}
.tool-link:hover h3,.tool-link:focus-visible h3{color:var(--red)}

.home-cases{background:#fff}
.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:40px}
.case-card{display:flex;min-width:0;flex-direction:column;border:1px solid var(--line);background:#fff;text-decoration:none}
.case-card:hover,.case-card:focus-visible{border-color:var(--red)}
.case-card__cover{aspect-ratio:4/3;overflow:hidden;border-bottom:1px solid var(--line);background:#f1f1f2}
.case-card__cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .22s ease}
.case-card:hover img{transform:scale(1.012)}
.case-card__copy{display:flex;min-height:260px;flex:1;flex-direction:column;padding:24px}
.case-card small{color:var(--red);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.case-card h3{margin:16px 0 0;font-size:23px;line-height:1.25}
.case-card strong{margin-top:auto;padding-top:26px;color:#4d515b;font-size:14px;border-top:1px solid var(--line)}

.home-knowledge{background:#f6f6f7}
.knowledge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:40px}
.knowledge-card{display:flex;min-width:0;flex-direction:column;border:1px solid var(--line);background:#fff;text-decoration:none}
.knowledge-card__cover{aspect-ratio:1200/760;overflow:hidden;border-bottom:1px solid var(--line)}
.knowledge-card__cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .22s ease}
.knowledge-card:hover img{transform:scale(1.012)}
.knowledge-card__copy{display:flex;min-height:190px;flex:1;flex-direction:column;padding:22px}
.knowledge-card small{color:var(--red);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.knowledge-card h3{margin:15px 0 0;font-size:21px;line-height:1.26}
.knowledge-card span{align-self:flex-start;margin-top:auto;padding-top:22px;color:var(--red);font-size:14px;font-weight:900;border-bottom:1px solid currentColor}

.home-contact{padding:82px 24px 28px;background:#fff}
.home-contact__inner{max-width:1220px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);border:1px solid var(--line)}
.home-contact__copy{padding:52px 46px;border-left:8px solid var(--graphite);background:#f6f6f7}
.home-contact h2{margin:0;font-size:44px;line-height:1.08}
.home-contact__copy>p:not(.eyebrow){margin:25px 0 0;color:#4e525d;font-size:18px;line-height:1.58}
.home-contact__note{margin-top:44px;padding-top:20px;border-top:1px solid var(--line);color:#7b7f88;font-size:13px}
.home-form{display:grid;align-content:start;gap:16px;padding:42px;background:#fff}
.home-form label{display:grid;gap:7px;color:#343741;font-size:13px;font-weight:800}
.home-form input,.home-form textarea{width:100%;padding:14px 16px;border:1px solid var(--line);background:#fafafa;color:var(--ink);font:inherit;resize:vertical}
.home-form input:focus,.home-form textarea:focus{outline:2px solid rgba(176,18,23,.15);border-color:var(--red)}
.home-form button{min-height:50px;border:1px solid var(--red);background:var(--red);color:#fff;font-weight:900;cursor:pointer}
.home-form button:hover,.home-form button:focus-visible{background:var(--red-dark);border-color:var(--red-dark)}
.home-form .form-status{min-height:20px;margin:0;color:var(--muted);font-size:13px}

@media(max-width:1280px){
  .home-hero__inner{margin-left:24px;margin-right:24px}.home-hero h1{font-size:60px}
}
@media(max-width:1000px){
  .home-section,.home-current,.home-tools,.home-contact{padding:62px 18px}
  .home-hero__inner{min-height:0;margin:0;padding:52px 18px;grid-template-columns:1fr;gap:42px}
  .home-hero h1{font-size:56px}.home-portraits{height:440px}
  .home-heading{grid-template-columns:1fr;gap:20px}
  .home-facts{padding:0 18px}.home-facts__inner{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-current__inner,.home-tools__inner,.home-contact__inner{grid-template-columns:1fr}
  .route-item{grid-template-columns:52px minmax(0,.92fr) minmax(260px,1.08fr);gap:20px}.route-item__action{grid-column:2;justify-self:start}
  .case-grid,.knowledge-grid{grid-template-columns:1fr}.case-card{display:grid;grid-template-columns:300px minmax(0,1fr)}.case-card__cover{height:100%;aspect-ratio:auto;border-right:1px solid var(--line);border-bottom:0}.case-card__copy{min-height:250px}
  .knowledge-card{display:grid;grid-template-columns:280px minmax(0,1fr)}.knowledge-card__cover{height:100%;aspect-ratio:auto;border-right:1px solid var(--line);border-bottom:0}
}
@media(max-width:700px){
  .home-heading h2,.home-current__intro h2,.home-tools__intro h2,.home-contact h2{font-size:34px}
  .home-hero__inner{padding-top:38px;gap:30px}.home-hero__copy::before{left:-18px;height:42px}.home-hero h1{font-size:34px;line-height:1.03}.home-hero__lead{font-size:17px}
  .home-hero__actions{align-items:stretch;flex-direction:column}.home-button{width:100%}.home-hero__proof{align-items:flex-start;flex-direction:column;gap:5px;margin-top:32px}
  .home-portraits{height:300px;gap:4px}.home-portraits figure{height:255px}.home-portraits figure:nth-child(2){height:300px}.home-portraits figure:nth-child(3){height:230px}.home-portraits::before{left:-8px;right:-8px;bottom:23px}
  .home-facts__inner{grid-template-columns:1fr}.home-fact{min-height:0}
  .route-item{grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start;padding:24px 8px}.route-item h3{font-size:23px}.route-item p,.route-item__action{grid-column:2}
  .home-current__intro,.home-current__body,.home-tools__intro{padding:34px 24px}.home-current__body .home-button{align-self:stretch}
  .practice-list{grid-template-columns:1fr}.practice-link{min-height:0}.practice-link:nth-child(n){background:#fff}.practice-link:nth-child(even){background:#f8f8f9}
  .tool-link{min-height:0;padding:22px 46px 22px 20px;grid-template-columns:34px minmax(0,1fr);gap:10px}
  .case-card,.knowledge-card{display:flex}.case-card__cover,.knowledge-card__cover{height:auto;aspect-ratio:4/3;border-right:0;border-bottom:1px solid var(--line)}.knowledge-card__cover{aspect-ratio:1200/760}.case-card__copy{min-height:230px}
  .home-contact__copy,.home-form{padding:30px 22px}.home-contact__copy{border-left:0;border-top:6px solid var(--graphite)}
}
@media(prefers-reduced-motion:reduce){.case-card__cover img,.knowledge-card__cover img{transition:none}}
