/* ============================================================
   АЛЕКСАНДР ЛЫНДИН — design tokens
   Palette: тёмно-синий (по визитке), золото, белый/слоновая кость
   Variable names kept as --bordo-* for backwards compatibility
   with generated markup, but now hold the navy palette.
   Type: Fraunces (display) + Inter (body) + IBM Plex Mono (meta/index)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  --bordo-950:#0e1a2b;
  --bordo-900:#132540;
  --bordo-800:#1a3155;
  --bordo-700:#213e6b;
  --bordo-600:#2b4d80;
  --gold-600:#a8842f;
  --gold-500:#c9a227;
  --gold-300:#e3c976;
  --paper:#f7f5ef;
  --paper-2:#edeae0;
  --ink:#131b24;
  --ink-soft:#3d4650;
  --ink-mute:#828b93;
  --line:#dcd8cb;
  --white:#ffffff;

  --serif: "Fraunces", "Georgia", serif;
  --sans: "Inter", -apple-system, sans-serif;
  --mono: "IBM Plex Mono", monospace;

  --container: 1180px;
  --radius: 2px;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important; transition-duration:0.01ms !important;}
}

.wrap{max-width:var(--container); margin:0 auto; padding:0 32px;}

/* ---------- headline typography ---------- */
h1,h2,h3,.display{
  font-family:var(--serif);
  font-weight:600;
  color:var(--bordo-950);
  line-height:1.14;
  letter-spacing:-0.01em;
}
h1{font-size:clamp(2.1rem, 4.4vw, 4rem); font-weight:600; padding-top:.1em; overflow-wrap:break-word; word-break:break-word; hyphens:auto;}
h2{font-size:clamp(1.6rem, 2.8vw, 2.4rem); overflow-wrap:break-word; word-break:break-word;}
h3{font-size:1.3rem; font-weight:600; overflow-wrap:break-word; word-break:break-word;}
p{color:var(--ink-soft);}
.eyebrow{
  font-family:var(--mono);
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold-600);
  display:flex; align-items:center; gap:10px;
}
.eyebrow::before{
  content:""; width:26px; height:1px; background:var(--gold-600); flex:none;
}

/* ---------- header / nav ---------- */
.site-header{
  position:sticky; top:0; z-index:60;
  background:rgba(246,241,232,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.site-header .wrap{
  display:flex; align-items:center; justify-content:space-between;
  height:78px; gap:16px;
}
.brand{display:flex; align-items:center; gap:12px; min-width:0;}
.brand .logo-mark{width:34px; height:34px; flex:none; display:block;}
.brand .logo-mark svg{width:100%; height:100%; display:block;}
.brand-text{font-family:var(--serif); font-weight:600; font-size:1rem; color:var(--bordo-950); line-height:1.15; white-space:nowrap;}
.brand-text span{display:block; font-family:var(--mono); font-size:.6rem; letter-spacing:.14em; color:var(--ink-mute); font-weight:400; text-transform:uppercase; margin-top:2px;}

nav.main-nav{display:flex; align-items:center; gap:2px;}
nav.main-nav > ul{display:flex; align-items:center; gap:2px;}
nav.main-nav a.nav-link{
  font-size:.9rem; font-weight:500; padding:10px 14px; border-radius:var(--radius);
  color:var(--ink-soft); position:relative; white-space:nowrap;
}
nav.main-nav a.nav-link:hover{color:var(--bordo-800);}
nav.main-nav li.has-drop{position:relative;}
.drop{
  position:absolute; top:100%; left:0; margin-top:6px;
  background:var(--white); border:1px solid var(--line);
  min-width:320px; padding:10px; box-shadow:0 18px 40px rgba(44,16,18,.14);
  opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
}
li.has-drop:hover .drop{opacity:1; visibility:visible; transform:translateY(0);}
.drop a{
  display:flex; align-items:flex-start; gap:10px;
  padding:10px 12px; border-radius:var(--radius); font-size:.85rem; color:var(--ink-soft);
  white-space:normal;
}
.drop a:hover{background:var(--paper-2); color:var(--bordo-800);}
.drop a .idx{font-family:var(--mono); color:var(--gold-600); font-size:.76rem; padding-top:1px; flex:none;}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--sans); font-weight:600; font-size:.86rem;
  padding:13px 22px; border-radius:var(--radius);
  border:1px solid transparent; cursor:pointer; white-space:nowrap;
}
.btn-primary{background:var(--bordo-800); color:var(--white);}
.btn-primary:hover{background:var(--bordo-900);}
.btn-ghost{border-color:var(--bordo-800); color:var(--bordo-800);}
.btn-ghost:hover{background:var(--bordo-800); color:var(--white);}
.header-cta{flex:none;}

/* ---------- mobile burger + drawer ---------- */
.burger{
  display:none; width:42px; height:42px; border:1px solid var(--line);
  background:var(--white); align-items:center; justify-content:center;
  cursor:pointer; flex:none; border-radius:var(--radius);
  flex-direction:column; gap:4px;
}
.burger span{display:block; width:18px; height:1.6px; background:var(--ink);}
.mobile-nav{
  display:none; position:fixed; inset:78px 0 0 0; z-index:70;
  background:var(--paper); overflow-y:auto;
  padding:8px 0 40px;
}
.mobile-nav.open{display:block;}
.mobile-nav .wrap{padding:0 32px;}
.mobile-nav a{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 0; border-bottom:1px solid var(--line);
  font-family:var(--serif); font-size:1.15rem; color:var(--bordo-950); font-weight:500;
}
.mobile-nav .m-sub{padding-left:14px;}
.mobile-nav .m-sub a{font-family:var(--sans); font-size:.92rem; padding:14px 0; color:var(--ink-soft); font-weight:500;}
.mobile-nav .m-cta{margin-top:24px;}

/* ---------- hero ---------- */
.hero{
  position:relative; overflow:hidden;
  background:var(--bordo-950);
  color:var(--paper);
  padding:64px 0 0;
}
.hero .wrap{
  position:relative; z-index:2;
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(260px, .85fr);
  gap:40px;
  align-items:end;
}
.hero-copy{grid-column:1; grid-row:1; min-width:0;}
.hero-seal{
  position:absolute; left:-60px; bottom:-100px; width:420px; height:420px; opacity:.05;
  z-index:0; pointer-events:none; display:block;
}
.hero-seal svg{width:100%; height:100%; display:block;}
.hero-eyebrow{font-family:var(--mono); font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-300); margin-bottom:20px; display:flex; gap:10px; align-items:center;}
.hero-eyebrow::before{content:""; width:26px; height:1px; background:var(--gold-300); flex:none;}
.hero h1{color:var(--paper); font-weight:600; font-size:clamp(2rem, 3.6vw, 3.5rem); overflow-wrap:break-word; word-break:break-word; hyphens:auto;}
.hero h1 em{font-style:normal; color:var(--gold-300);}
.hero-lede{color:#c3ccd6; font-size:1.05rem; max-width:44ch; margin-top:20px;}
.hero-cta{display:flex; gap:14px; margin-top:30px; flex-wrap:wrap;}
.hero-photo{
  grid-column:2; grid-row:1;
  position:relative; overflow:hidden; aspect-ratio:4/4.9;
}
.hero-photo img{width:100%; height:100%; object-fit:cover; object-position:center 12%; filter:grayscale(.1) contrast(1.05);}
.hero-photo img.fit-contain{object-fit:contain; object-position:center center; background:var(--bordo-950);}
.hero-photo::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(14,26,43,0) 55%, rgba(14,26,43,.55) 100%);
}
.hero-stats{
  grid-column:1 / -1; grid-row:2;
  position:relative; z-index:2;
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,.14);
  margin-top:40px; padding-bottom:52px;
}
.hero-stats div{padding:22px 20px 22px 0; border-right:1px solid rgba(255,255,255,.14); display:flex; flex-direction:column; gap:4px; justify-content:flex-start;}
.hero-stats div:last-child{border-right:none;}
.hero-stats b{font-family:var(--serif); font-size:1.7rem; line-height:1.1; color:var(--gold-300); display:block; font-weight:600; white-space:nowrap;}
.hero-stats span{font-size:.78rem; color:#c9b8b0; line-height:1.4;}

/* sub-page hero (services index, about, individual services) — same
   component as the homepage hero, just shorter, no stats bar */
.hero--sub{padding-bottom:56px;}
.hero--sub .wrap{align-items:center;}
.hero--sub .hero-photo{aspect-ratio:4/3.6;}
.hero--sub .crumb{color:#c9b8b0; padding-top:0; margin-bottom:18px;}
.hero--sub .crumb a:hover{color:var(--gold-300);}
.hero--sub h1{max-width:16ch;}
.hero--no-photo .wrap{grid-template-columns:1fr;}
.hero--no-photo .hero-copy{max-width:64ch;}

/* generic section spacing */
.section{padding:76px 0;}

/* responsive video embed (VK video placeholder) */
.video-embed{
  position:relative; width:100%; aspect-ratio:16/9;
  background:var(--bordo-950); overflow:hidden;
}
.video-embed iframe{position:absolute; inset:0; width:100%; height:100%; border:0; display:block;}

/* golden bridge divider strip between hero and video — repeating span */
.bridge-divider{
  background-image:url("../img/bridge-divider.svg");
  background-repeat:repeat-x;
  background-position:bottom center;
  background-size:auto 84px;
  height:100px;
  opacity:.9;
}
.bridge-divider--alt{background-image:url("../img/bridge-divider-2.svg"); background-size:auto 70px; height:86px;}

/* per-page unique bridge dividers (8 more, none repeating) */
.bridge-divider--litigation{background-image:url("../img/bridges/bridge-4.svg"); background-size:263px 84px; height:100px;}
.bridge-divider--bankruptcy{background-image:url("../img/bridges/bridge-3.svg"); background-size:292px 84px; height:100px;}
.bridge-divider--family{background-image:url("../img/bridges/bridge-2.svg"); background-size:191px 84px; height:100px;}
.bridge-divider--mediation{background-image:url("../img/bridges/bridge-6.svg"); background-size:191px 84px; height:100px;}
.bridge-divider--deals{background-image:url("../img/bridges/bridge-9.svg"); background-size:341px 84px; height:100px;}
.bridge-divider--business{background-image:url("../img/bridges/bridge-1.svg"); background-size:337px 84px; height:100px;}
.bridge-divider--services{background-image:url("../img/bridges/bridge-5.svg"); background-size:296px 84px; height:100px;}
.bridge-divider--contacts{background-image:url("../img/bridges/bridge-8.svg"); background-size:261px 84px; height:100px;}

/* wavy repeating logo-letter divider before the footer */
.logo-divider{
  background-image:url("../img/logo-wave-divider.png");
  background-repeat:repeat-x;
  background-position:center;
  background-size:44px 24px;
  height:44px;
  opacity:.7;
}
.section-tight{padding:52px 0;}
.section-alt{background:var(--paper-2);}
.section-dark{background:var(--bordo-950); color:var(--paper); position:relative; overflow:hidden;}
.section-dark p{color:#c3ccd6;}
.section-dark h2, .section-dark h3{color:var(--paper);}

.hero .hero-seal + .wrap{position:relative; z-index:2;}

.head-row{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:36px; flex-wrap:wrap;}
.head-row p{max-width:52ch;}

/* ---------- services grid (index) ---------- */
.svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.svc-card{
  background:var(--paper); padding:32px 28px; position:relative;
  transition:background .2s ease;
}
.svc-card:hover{background:var(--white);}
.svc-card-head{display:flex; align-items:center; gap:14px; margin-bottom:16px;}
.svc-card .icon{
  width:32px; height:32px; flex:none; color:var(--bordo-700);
  display:flex; align-items:center; justify-content:center;
}
.svc-card .icon img{width:100%; height:100%; object-fit:contain;}
.svc-card h3{margin:0; font-size:1.12rem;}
.svc-card p{font-size:.9rem; margin-bottom:16px;}
.svc-card .more{font-size:.8rem; font-weight:600; color:var(--bordo-800); display:inline-flex; align-items:center; gap:6px;}
.svc-card .more svg{width:14px; height:14px;}

/* ---------- about / values ---------- */
.split{display:grid; grid-template-columns:.85fr 1.15fr; gap:56px; align-items:center;}
.split.rev{grid-template-columns:1.15fr .85fr;}
.split .img-box{aspect-ratio:4/5; overflow:hidden; background:var(--paper-2);}
.split img{width:100%; height:100%; object-fit:cover; object-position:center 12%; filter:grayscale(.1) contrast(1.03);}
.value-list{display:grid; gap:20px; margin-top:26px;}
.value-item{display:flex; gap:16px; align-items:flex-start;}
.value-item .icon{
  width:40px; height:40px; flex:none; color:var(--bordo-700);
  border-radius:50%; background:var(--paper-2);
  display:flex; align-items:center; justify-content:center; padding:9px;
}
.value-item .icon img{width:100%; height:100%; object-fit:contain;}
.value-item h4{font-family:var(--serif); font-size:1.02rem; color:var(--bordo-950); margin-bottom:4px; font-weight:600;}
.value-item p{font-size:.9rem;}

.timeline{border-left:1px solid var(--line); margin-top:8px;}
.tl-item{padding:0 0 32px 26px; position:relative;}
.tl-item::before{content:""; position:absolute; left:-5px; top:4px; width:9px; height:9px; border-radius:50%; background:var(--gold-500); border:2px solid var(--paper);}
.tl-item .yr{font-family:var(--mono); font-size:.78rem; color:var(--gold-600); display:block; margin-bottom:6px;}
.tl-item p{font-size:.92rem;}

/* ---------- service page ---------- */
.svc-hero{background:var(--bordo-950); color:var(--paper); padding:56px 0 48px;}
.svc-hero .eyebrow{color:var(--gold-300);}
.svc-hero .eyebrow::before{background:var(--gold-300);}
.svc-hero h1{color:var(--paper); margin-top:16px; max-width:22ch;}
.svc-hero p{color:#d8c9c2; max-width:60ch; margin-top:18px; font-size:1.02rem;}
.svc-tags{display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; align-items:center;}
.svc-tags a{
  font-size:.8rem; font-family:var(--mono); border:1px solid rgba(255,255,255,.25);
  padding:7px 13px; color:#e9ddd6;
}
.svc-tags a:hover{border-color:var(--gold-300); color:var(--gold-300);}

/* intro highlight cards — break up the opening wall of text on service pages */
.intro-lede{font-size:1.08rem; color:var(--ink-soft); max-width:70ch;}
.intro-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
  margin-top:32px;
}
.intro-card{background:var(--paper); padding:26px 24px;}
.intro-card .icon{
  width:52px; height:52px; color:var(--bordo-700); margin-bottom:16px;
  border-radius:50%; background:var(--paper-2);
  display:flex; align-items:center; justify-content:center;
}
.intro-card .icon svg{width:24px; height:24px;}
.intro-card .icon svg{width:100%; height:100%;}
.intro-card h4{font-family:var(--serif); font-weight:600; font-size:1.02rem; color:var(--bordo-950); margin-bottom:8px;}
.intro-card p{font-size:.88rem; margin:0;}

.sub-block{
  border-bottom:1px solid var(--line);
}
.sub-block:last-child{border-bottom:none;}
.sub-head{
  cursor:pointer; user-select:none;
  display:flex; align-items:center; gap:20px;
  padding:26px 12px; margin:0 -12px;
  border-radius:var(--radius);
  transition:background .15s ease;
}
.sub-head:hover{background:var(--paper-2);}
.sub-head:focus-visible{outline:2px solid var(--bordo-700); outline-offset:2px;}
.sub-head-text{flex:1 1 auto; min-width:0;}
.sub-head .num{font-family:var(--mono); color:var(--gold-600); font-size:.8rem; display:block; margin-bottom:4px;}
.sub-head h3{margin:0; font-size:1.2rem; line-height:1.32;}
.sub-head .chevron{
  flex:none; width:42px; height:42px; border-radius:50%;
  border:1.5px solid var(--line); color:var(--bordo-700);
  display:flex; align-items:center; justify-content:center;
  transition:transform .25s ease, background .2s ease, border-color .2s ease, color .2s ease;
}
.sub-head .chevron svg{width:18px; height:18px;}
.sub-head:hover .chevron{border-color:var(--bordo-700);}
.sub-block.is-open .sub-head .chevron{
  transform:rotate(180deg);
  background:var(--bordo-800); border-color:var(--bordo-800); color:var(--white);
}
.sub-body{
  display:grid; grid-template-rows:0fr;
  transition:grid-template-rows .3s ease;
  padding-left:72px;
}
.sub-block.is-open .sub-body{grid-template-rows:1fr;}
.sub-body-inner{overflow:hidden;}
.sub-body p{padding-top:6px;}
.sub-head .icon{
  width:52px; height:52px; color:var(--bordo-700); flex:none;
  border-radius:50%; background:var(--white); border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
}
.sub-head .icon svg{width:24px; height:24px;}

/* process steps — "как проходит работа" на страницах услуг */
.process-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-top:32px;}
.process-step{position:relative;}
.process-step .step-num{font-family:var(--mono); color:var(--gold-600); font-size:.8rem; letter-spacing:.08em;}
.process-step .icon{
  width:52px; height:52px; border-radius:50%; background:var(--paper-2); color:var(--bordo-700);
  display:flex; align-items:center; justify-content:center; margin:14px 0 16px;
}
.process-step .icon svg{width:24px; height:24px;}
.process-step h4{font-family:var(--serif); font-weight:600; font-size:1.05rem; color:var(--bordo-950); margin-bottom:8px;}
.process-step p{font-size:.9rem;}
.sub-body p{margin-bottom:14px; font-size:.98rem;}
.check-list{display:grid; grid-template-columns:repeat(2,1fr); gap:10px 20px; margin-top:18px;}
.check-list li{display:flex; gap:12px; align-items:flex-start; font-size:.93rem; color:var(--ink-soft);}
.check-list li svg{width:16px; height:16px; flex:none; margin-top:4px; color:var(--gold-600);}

/* ---------- CTA band ---------- */
.cta-band{
  background:var(--bordo-800); color:var(--paper);
  padding:56px 0; text-align:center;
  overflow:hidden;
}
.cta-band h2{color:var(--paper); margin-bottom:14px;}
.cta-band p{color:#e6d6cf; max-width:52ch; margin:0 auto 26px;}
.cta-band .btn-primary{background:var(--gold-500); color:var(--bordo-950);}
.cta-band .btn-primary:hover{background:var(--gold-300);}
.cta-band .btn-ghost{border-color:rgba(255,255,255,.4); color:var(--paper);}
.cta-band .btn-ghost:hover{background:var(--paper); color:var(--bordo-900);}

/* ---------- footer ---------- */
footer.site-footer{background:var(--bordo-950); color:#cdb9b2; padding:56px 0 26px;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; padding-bottom:38px; border-bottom:1px solid rgba(255,255,255,.12);}
.foot-brand .brand-text{color:var(--paper);}
.foot-brand p{color:#b09d95; font-size:.86rem; margin-top:14px; max-width:34ch;}
footer h5{font-family:var(--mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-300); margin-bottom:14px;}
footer ul li{margin-bottom:9px; font-size:.88rem;}
footer a:hover{color:var(--gold-300);}
.foot-bottom{display:flex; justify-content:space-between; padding-top:24px; font-size:.78rem; color:#8a7069; flex-wrap:wrap; gap:10px;}

/* ---------- request form ---------- */
.request-form{display:flex; flex-direction:column; gap:20px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.form-field{display:flex; flex-direction:column; gap:8px;}
.form-field label{font-size:.85rem; font-weight:600; color:var(--bordo-950);}
.form-field label .optional{font-weight:400; color:var(--ink-mute);}
.form-field input, .form-field textarea{
  font-family:var(--sans); font-size:.95rem; color:var(--ink);
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
  padding:13px 14px; resize:vertical;
}
.form-field input:focus, .form-field textarea:focus{
  outline:none; border-color:var(--bordo-700); box-shadow:0 0 0 3px rgba(26,49,88,.1);
}
.request-form .btn{padding:15px 22px; font-size:.95rem;}
.form-note{font-size:.8rem; color:var(--ink-mute); text-align:center; margin-top:-4px;}
.form-note a{color:var(--bordo-800); font-weight:600;}
.form-note.is-success{color:var(--bordo-800); font-weight:600;}

/* ---------- contacts page ---------- */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px;}
.contact-item{display:flex; gap:16px; padding:18px 0; border-bottom:1px solid var(--line);}
.contact-item .icon{width:20px; height:20px; color:var(--bordo-700); flex:none; margin-top:2px;}
.contact-item .icon svg{width:100%; height:100%;}
.contact-item b{display:block; font-size:.94rem; color:var(--bordo-950);}
.contact-item span{font-size:.86rem; color:var(--ink-mute); word-break:break-word;}
.map-box{background:var(--paper-2); border:1px solid var(--line); height:100%; min-height:300px; display:flex; align-items:center; justify-content:center; color:var(--ink-mute); font-family:var(--mono); font-size:.85rem; text-align:center; padding:20px;}

/* ---------- breadcrumb ---------- */
.crumb{font-family:var(--mono); font-size:.76rem; color:var(--ink-mute); padding:18px 0; letter-spacing:.02em; display:flex; flex-wrap:wrap;}
.crumb a:hover{color:var(--bordo-800);}
.crumb .sep{margin:0 8px; opacity:.5;}

/* ---------- responsive ---------- */
@media (max-width:980px){
  nav.main-nav{display:none;}
  .header-cta{display:none;}
  .burger{display:flex;}
  .hero{padding-top:40px;}
  .hero .wrap{grid-template-columns:1fr; gap:0;}
  .hero-copy{grid-column:1; grid-row:2;}
  .hero-photo{grid-column:1; grid-row:1; aspect-ratio:16/10; margin:0 -32px 28px; width:auto;}
  .hero--sub .hero-photo{margin:0 0 24px; width:100%; aspect-ratio:4/3.2;}
  .hero-stats{grid-column:1; grid-row:3; grid-template-columns:repeat(2,1fr); row-gap:22px; margin-top:32px; padding-bottom:36px;}
  .hero-stats div{border-right:none; padding:18px 14px 0 0; border-top:1px solid rgba(255,255,255,.14);}
  .hero-stats div:nth-child(odd){border-right:1px solid rgba(255,255,255,.14); padding-right:16px;}
  .split, .split.rev{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .split .img-box{aspect-ratio:16/10; max-width:440px; margin:0 auto;}
  .svc-grid{grid-template-columns:repeat(2,1fr);}
  .intro-grid{grid-template-columns:1fr;}
  .process-grid{grid-template-columns:1fr; gap:28px;}
  .sub-head{gap:14px; padding:20px 4px;}
  .sub-head .icon{width:42px; height:42px;}
  .sub-head .icon svg{width:20px; height:20px;}
  .sub-head h3{font-size:1.05rem;}
  .sub-head .chevron{width:36px; height:36px;}
  .sub-body{padding-left:0;}
  .check-list{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .contact-grid{grid-template-columns:1fr; gap:36px;}
  .section{padding:56px 0;}
}

@media (max-width:640px){
  .wrap{padding:0 20px;}
  .bridge-divider{background-size:auto 48px; height:56px;}
  .bridge-divider--alt{background-size:auto 42px; height:50px;}
  .bridge-divider--litigation{background-size:151px 48px; height:58px;}
  .bridge-divider--bankruptcy{background-size:167px 48px; height:58px;}
  .bridge-divider--family{background-size:109px 48px; height:58px;}
  .bridge-divider--mediation{background-size:109px 48px; height:58px;}
  .bridge-divider--deals{background-size:195px 48px; height:58px;}
  .bridge-divider--business{background-size:193px 48px; height:58px;}
  .bridge-divider--services{background-size:169px 48px; height:58px;}
  .bridge-divider--contacts{background-size:149px 48px; height:58px;}
  .logo-divider{background-size:29px 16px; height:32px;}
  .site-header .wrap{height:66px;}
  .brand .logo-mark{width:28px; height:28px;}
  .brand-text{font-size:.86rem;}
  .brand-text span{display:none;}
  .mobile-nav{inset:66px 0 0 0;}
  .mobile-nav .wrap{padding:0 20px;}
  .hero{padding-top:40px;}
  .hero-photo{margin:0 -20px 24px;}
  .hero--sub .hero-photo{margin:0 0 20px;}
  .hero-lede{font-size:.98rem;}
  .hero-cta{flex-direction:column; align-items:stretch;}
  .hero-cta .btn{width:100%;}
  .hero-stats{grid-template-columns:1fr 1fr;}
  .hero-stats b{font-size:1.5rem;}
  .svc-grid{grid-template-columns:1fr;}
  .section{padding:44px 0;}
  .section-tight{padding:36px 0;}
  .cta-band{padding:44px 0;}
  .foot-grid{grid-template-columns:1fr; gap:30px;}
  .foot-bottom{flex-direction:column;}
  .svc-tags{gap:8px;}
  .contact-item span{font-size:.84rem;}
}
