/* Shared type scale for the home page, services and articles. */
:root{--copy-size:17px;--small-size:14px;--label-size:12px}
body,.page-content,.article-body{font-size:var(--copy-size)}
.button,.hero-actions .button,.team-intro .button,.contact-form .button{font-size:16px}
.text-link,.lawyer-card .text-link,.article-copy .text-link,
.blog-grid .article-copy .text-link,.page-content .blog-grid .article-copy .text-link{font-size:15px}
.eyebrow,.hero-eyebrow,.lawyer-card .eyebrow,.article-copy .eyebrow,
.blog-grid .article-copy .eyebrow,.page-content .blog-grid .article-copy .eyebrow{font-size:var(--label-size);line-height:1.5;letter-spacing:.1em}
.section{padding-top:40px;padding-bottom:40px}
.section-heading{margin-bottom:24px}
.section-aside{font-size:16px}
.header-inner{gap:24px;min-height:112px}
.brand{width:192px;flex-basis:192px;padding:18px 22.5px}
.main-menu{gap:20px}
.main-menu>a{font-size:16px}
.main-menu>.menu-cta{font-size:16px;margin-left:4px;padding:13px 17px}
.hero-intro{font-size:var(--copy-size);line-height:1.55;max-width:440px}
.hero-address{font-size:15px}
.hero-inner{padding-top:40px;padding-bottom:34px}
.practice-card{padding:22px 18px 18px;min-width:0;min-height:265px}
.practice-card h3{font-size:21px;line-height:1.25;min-height:53px}
.practice-card p,.process-grid p,.team-intro>p:not(.eyebrow),
.lawyer-card p:not(.eyebrow),.article-copy>p:not(.eyebrow),
.blog-grid .article-copy p:not(.eyebrow),.page-content .blog-grid .article-copy p:not(.eyebrow),
.page-content .article-copy p:not(.eyebrow),.service-reading .article-copy>p:not(.eyebrow),
.faq-grid>div:first-child>p:not(.eyebrow),.faq-answer,.contact-intro>p:not(.eyebrow),
.team-profile p,.article-help p:not(.eyebrow){font-size:var(--copy-size);line-height:1.55}
.practice-card>div{margin-bottom:16px}
.practice-card .card-arrow{margin-top:auto}
.process-grid h3{font-size:22px}
.process-grid li{gap:16px;padding-right:20px;min-width:0}
.process-grid li+li{padding-left:20px}
.team-grid{grid-template-columns:1fr 1.55fr 1.45fr}
.team-intro h2,.knowledge h2,.faq-grid h2,.contact-intro h2{font-size:32px}
.team-photo{height:250px}
.lawyer-card>img{width:95px;height:180px;flex-shrink:0}
.lawyer-card>div,.article-copy{min-width:0}
.lawyer-card h3{font-size:23px}
.lawyer-card{padding:16px;gap:16px}
.knowledge .article-card{flex-direction:column}
.knowledge .article-image{width:100%;flex:0 0 auto;aspect-ratio:16/8;overflow:hidden}
.knowledge .article-image img{height:100%;min-height:0}
.knowledge .article-copy{padding:20px;flex:1}
.knowledge .article-copy h3,.service-reading .article-copy h3{font-size:23px;line-height:1.3}
.knowledge .article-copy .text-link{margin-top:14px;align-self:flex-start}
.faq-list summary{font-size:20px;line-height:1.45}
.contact-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.15fr);gap:28px;align-items:start}
.form-field label{font-size:var(--small-size)}
input:not([type=hidden]),textarea{font-size:16px;padding:11px 12px}
.contact-form{gap:12px}
.form-note,.contact-small,.form-status{font-size:var(--small-size);line-height:1.55}
.contact-details address,.contact-details address>.email{font-size:16px;line-height:1.55}
.contact-details address>strong{font-size:18px}
.contact-details address>.email{overflow-wrap:anywhere;align-items:flex-start}
.location-link{font-size:16px}
.location-link small{font-size:var(--small-size)}
.site-footer{font-size:15px;padding:32px 0}
.footer-brand{width:127.5px;flex-basis:127.5px}
.footer-top{flex-wrap:wrap;gap:24px}
.footer-top p{font-size:15px;line-height:1.6;max-width:290px}
.footer-top nav{font-size:16px;gap:16px 22px;max-width:650px;flex-wrap:wrap}
.footer-top nav a,.footer-context nav a,.footer-bottom a{padding:6px 0}
.footer-context{font-size:14px;line-height:1.6;align-items:flex-start}
.footer-context nav{font-size:15px;flex-wrap:wrap}
.footer-bottom,.footer-bottom>span{font-size:14px;line-height:1.6}
.footer-bottom{flex-wrap:wrap;gap:12px 24px}
.breadcrumbs,.blog-categories a,.article-meta{font-size:var(--small-size)}
.article-toc li{font-size:15px}
.reference-context,.reference-list summary small{font-size:var(--small-size)}
.footer-context .social-links{flex:0 0 auto;gap:12px;align-items:center}
.footer-context .social-links a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #626b6e;border-radius:50%;color:#f7f5f0}
.footer-context .social-links a:hover,.footer-context .social-links a:focus-visible{color:#e3c575;border-color:#e3c575;background:#ffffff0a}
.social-icon{display:block;width:24px;height:24px;flex-shrink:0}
@media(min-width:701px) and (max-width:1180px){
  .main-menu{gap:0}
  .main-menu>a{font-size:18px}
  .main-menu>.menu-cta{font-size:16px;margin:10px 0}
  .hero-copy{width:49%}
  .hero h1{font-size:40px}
  .hero-actions{flex-wrap:wrap}
  .practice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .practice-card{min-height:245px}
  .process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
  .process-grid li:nth-child(3){border:0;padding-left:0}
  .team-grid{grid-template-columns:1fr 1.8fr}
  .contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-intro{grid-column:1;grid-row:1/3;min-width:0}
  .contact-form,.contact-details{grid-column:2}
  .footer-top nav{margin-left:0;max-width:none;width:100%}
}
@media(max-width:700px){
  :root{--copy-size:16px;--small-size:14px;--label-size:12px}
  .header-inner{min-height:102px}
  .brand{width:145.5px;flex-basis:145.5px;padding:13.5px 15px}
  .main-menu{gap:0}
  .main-menu>a{font-size:18px}
  .main-menu>.menu-cta{font-size:16px;margin:10px 0}
  .section{padding-top:30px;padding-bottom:30px}
  .section-heading h2,.process .section-heading h2,.team-intro h2,
  .knowledge .section-heading h2,.faq-grid h2,.contact-intro h2{font-size:29px;line-height:1.2}
  .hero,.hero-inner{min-height:630px}
  .hero-inner{padding-top:240px;padding-bottom:24px}
  .hero-intro{line-height:1.45}
  .hero h1{font-size:36px}
  .hero-address{font-size:14px}
  .practice-card{grid-template-columns:38px minmax(0,1fr) 18px;min-height:112px;padding:16px 13px;gap:12px}
  .practice-card h3{font-size:21px;min-height:0;max-width:none;line-height:1.2}
  .practice-card>div{margin-bottom:0}
  .practice-card .card-arrow{margin:0}
  .practice-grid{gap:10px}
  .process-grid li,.process-grid li+li{padding:0 0 22px 18px;gap:20px}
  .process-grid h3{font-size:22px}
  .section-aside{font-size:16px}
  .team-photo{height:210px}
  .lawyer-card{padding:15px 12px;gap:14px}
  .lawyer-card>img{width:95px;height:155px}
  .lawyer-card h3{font-size:23px}
  .knowledge .articles-grid{gap:14px}
  .knowledge .article-card{flex-direction:row}
  .knowledge .article-image{width:105px;flex:0 0 105px;aspect-ratio:auto}
  .knowledge .article-copy{padding:16px 13px}
  .knowledge .article-copy h3,.service-reading .article-copy h3{font-size:21px}
  .knowledge .article-copy .text-link{margin-top:10px}
  .faq-list summary{font-size:19px}
  .contact-grid{align-items:stretch}
  .contact-details{display:flex;flex-direction:column;gap:18px}
  .location-link{width:100%;min-height:80px;flex-wrap:nowrap;padding:18px}
  .footer-brand{width:108px;flex-basis:108px}
  .footer-top p{font-size:14px;flex:1;min-width:150px;margin-top:3px}
  .footer-top nav{font-size:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
  .footer-context{font-size:14px}
  .footer-context nav{font-size:16px;gap:12px 24px}
  .footer-bottom,.footer-bottom>span{font-size:14px}
}
@media(max-width:380px){
  .knowledge .article-card{flex-direction:column}
  .knowledge .article-image{width:100%;flex:0 0 auto;aspect-ratio:16/8}
  .hero h1{font-size:33px}
  .contact-form{grid-template-columns:1fr}
}

/* All profiles share one grid cell: longer copy reserves space for every slide. */
.lawyer-spotlight{min-width:0;display:flex;flex-direction:column;padding:16px;background:#fdfcf9;border:1px solid var(--line);border-radius:5px;position:relative}
.lawyer-slides{display:grid;flex:1;min-width:0}
.lawyer-slides .lawyer-card{grid-area:1/1;display:flex;min-width:0;min-height:0;align-items:center;border:0;border-radius:0;padding:0;background:none;gap:16px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s}
.lawyer-slides .lawyer-card.is-active{opacity:1;visibility:visible;pointer-events:auto}
.lawyer-slides .lawyer-card>img,.lawyer-monogram{width:95px;height:180px;flex:0 0 95px;object-fit:cover;object-position:center 20%;border-radius:3px}
.lawyer-monogram{display:grid;place-items:center;background:#eee9dc;color:#947332;border:1px solid var(--line);font:32px var(--serif)}
.lawyer-controls:not([hidden]){display:flex;align-items:center;gap:6px;border-top:1px solid var(--line);padding-top:8px;margin-top:14px}
.lawyer-counter{font-size:14px;color:var(--muted);margin-right:auto;letter-spacing:.05em}
.lawyer-controls button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--gold-dark);cursor:pointer}
.lawyer-controls button:hover{background:#f7edcf;border-color:#e2cf9b}
.lawyer-controls [data-lawyer-prev] .icon{transform:rotate(180deg)}
.carousel-play-icon,.is-paused .carousel-pause-icon{display:none}
.is-paused .carousel-play-icon{display:block}
.carousel-status{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(min-width:1181px){
  .team-grid{align-items:stretch}
  .team-intro{align-self:center}
  .team-photo{position:relative;height:auto;min-height:280px}
  .team-photo img{position:absolute;inset:0}
}
@media(min-width:701px) and (max-width:1180px){.lawyer-spotlight{grid-column:2}}
@media(max-width:700px){
  .lawyer-spotlight{padding:15px 12px;border-radius:0 0 4px 4px}
  .lawyer-slides .lawyer-card{gap:14px}
  .lawyer-slides .lawyer-card>img,.lawyer-monogram{height:155px}
}
@media(prefers-reduced-motion:reduce){.lawyer-slides .lawyer-card{transition:none}}
