:root{
  --cream:#f6f0e6;
  --cream2:#fbf8f2;
  --cream3:#efe7da;
  --fir:#10271f;
  --fir2:#0d3128;
  --bronze:#a96d2b;
  --bronze-soft:#c89a63;
  --char:#22231f;
  --muted:#655f56;
  --line:#d8ccba;
  --max:1240px;
  --serif:"Iowan Old Style","Baskerville","Times New Roman",serif;
  --sans:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--char);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease}
.skip-link{position:absolute;left:-999px;top:8px;background:white;color:black;padding:10px 14px;z-index:1000}.skip-link:focus{left:8px}
.section-shell{width:min(calc(100% - 72px),var(--max));margin-inline:auto}

/* Header — restrained, architectural, Fir-family */
.site-header{background:rgba(250,247,241,.94);border-bottom:1px solid rgba(16,39,31,.08);position:sticky;top:0;z-index:20;backdrop-filter:blur(16px)}
.header-inner{height:94px;width:min(calc(100% - 56px),1440px);margin:auto;display:grid;grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:30px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--fir);padding-right:24px;border-right:1px solid var(--line)}
.brand-mark{width:38px;height:54px;object-fit:contain}.brand-text{display:flex;flex-direction:column;line-height:.8}.brand-text strong{font:400 46px/.8 var(--serif);letter-spacing:.025em}.brand-text small{font-size:9px;letter-spacing:.2em;margin-top:10px;font-weight:600}
.family-note{font-size:9px;line-height:1.6;letter-spacing:.12em;color:#3c413b;text-transform:uppercase;min-width:132px}.family-note span{font-weight:700;color:var(--fir)}
.main-nav{display:flex;justify-content:center;gap:28px}.main-nav a,.footer-nav a{color:var(--char);text-decoration:none;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.08em}.main-nav a:hover{color:var(--bronze)}
.header-cta{background:var(--fir);color:#fff;text-decoration:none;text-transform:uppercase;font-size:9px;letter-spacing:.08em;line-height:1.3;padding:16px 18px;text-align:center;min-width:142px;border:1px solid var(--fir)}.header-cta:hover{background:#17382d}
.phone{color:var(--fir);text-decoration:none;font-size:12px;white-space:nowrap;letter-spacing:.02em}.menu-button,.mobile-nav{display:none}

/* Hero — keep approved art, let it breathe */
.hero{position:relative;min-height:620px;width:100%;background:#e9dfd1;overflow:hidden;display:flex;align-items:center;isolation:isolate}.hero-bg{position:absolute;z-index:-2;top:0;left:0;width:100%;height:100%;min-width:100%;min-height:100%;object-fit:cover;object-position:55% 48%;display:block;background:#e9dfd1}.hero:after{content:"";position:absolute;z-index:-3;inset:0;background:#e9dfd1}.hero-overlay{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(247,242,233,.98) 0%,rgba(247,242,233,.94) 30%,rgba(247,242,233,.80) 48%,rgba(247,242,233,.28) 68%,rgba(247,242,233,0) 84%);pointer-events:none}.hero-content{position:relative;z-index:1;padding-top:70px;padding-bottom:72px}.hero-eyebrow{margin:0 0 18px;color:var(--bronze);text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:700}.hero h1{margin:0;color:var(--fir);font:400 clamp(48px,5vw,78px)/1.02 Georgia,'Times New Roman',serif;letter-spacing:-.025em;max-width:760px}.hero-rule{width:54px;height:2px;background:var(--bronze);margin:26px 0 24px}.hero-sub{max-width:560px;margin:0 0 30px;color:#35352f;font-size:18px;line-height:1.55}.hero-cta{display:inline-flex;align-items:center;gap:18px;background:var(--fir);color:white;text-decoration:none;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700;padding:18px 24px}.hero-cta span{color:#d7a75f;font-size:18px;line-height:1}.hero-cta:hover{background:#17372c}.hero-accessible,.hero-art{display:none}
.intro{position:relative;text-align:center;padding:96px 0 76px}
.intro:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.035;background-image:repeating-radial-gradient(ellipse at 18% 50%,transparent 0 18px,rgba(16,39,31,.65) 19px 20px,transparent 21px 35px);background-size:260px 170px}
.intro>*{position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:var(--bronze);font-weight:700;margin:0 0 20px}.intro h2{font:400 clamp(31px,3.15vw,50px)/1.2 var(--serif);letter-spacing:-.012em;color:var(--char);max-width:920px;margin:0 auto 26px}.intro-copy{font-size:14px;line-height:1.82;color:var(--muted);max-width:760px;margin:auto}

/* Section marker */
.section-rule{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;margin-bottom:44px}.section-rule span{height:1px;background:linear-gradient(90deg,transparent,var(--line))}.section-rule span:last-child{background:linear-gradient(90deg,var(--line),transparent)}.section-rule h2{margin:0;color:var(--bronze);font-size:11px;text-transform:uppercase;letter-spacing:.14em}

/* Practice — more editorial, less card-grid */
.practice{padding:18px 0 104px}.practice-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.practice-grid article{padding:44px 34px 26px;min-height:318px;border-left:1px solid var(--line)}.practice-grid article:first-child{border-left:0}.num{font-size:10px;letter-spacing:.12em;color:var(--bronze);display:block;margin-bottom:20px}.practice-grid h3{font:400 27px/1.16 var(--serif);margin:0;color:var(--fir);letter-spacing:-.01em}.mini-rule{width:30px;height:1px;background:var(--bronze);margin:20px 0}.practice-grid p{font-size:12.5px;line-height:1.78;color:var(--muted);min-height:92px;max-width:240px}.practice-grid a,.attorney a{color:var(--fir);text-underline-offset:5px;text-decoration-thickness:1px;font:400 14px var(--serif)}.practice-grid a:hover,.attorney a:hover{color:var(--bronze)}.practice-grid a span,.attorney a span{color:var(--bronze);padding-left:9px}

/* Attorneys — smaller portraits, more gallery-like */
.attorneys{display:grid;grid-template-columns:1fr 1fr;gap:86px;padding:6px 0 112px;border-bottom:1px solid var(--line)}.attorney{display:grid;grid-template-columns:minmax(180px,218px) 1fr;gap:34px;align-items:center}.portrait-wrap{overflow:hidden;border-radius:6px;background:#ddd;box-shadow:0 14px 38px rgba(58,46,34,.07)}.portrait-wrap img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}.attorney-copy{padding-right:8px}.attorney-copy h2{font:400 29px/1.13 var(--serif);letter-spacing:-.008em;color:var(--fir);margin:0 0 8px}.role{color:var(--bronze);font:italic 13px var(--serif);margin:0}.attorney-copy>p:not(.role){font-size:12.5px;line-height:1.85;color:var(--muted);margin:0 0 25px;max-width:310px}

/* Approach — Northwest sophistication via texture, not decoration */
.approach{position:relative;background:var(--fir);color:#fff;overflow:hidden;border-top:1px solid rgba(255,255,255,.04)}.topo{position:absolute;inset:-20%;opacity:.08;background-image:repeating-radial-gradient(ellipse at 18% 55%,transparent 0 18px,rgba(211,165,102,.9) 19px 20px,transparent 21px 37px);background-size:250px 170px;transform:rotate(-3deg)}.approach-inner{position:relative;padding:88px 0 94px;display:grid;grid-template-columns:.9fr 2.1fr;gap:86px;align-items:center}.approach-lead h2{font:400 39px/1.09 var(--serif);letter-spacing:-.01em;margin:0}.approach-lead .eyebrow{color:var(--bronze-soft)}.gold-line{width:48px;height:1px;background:var(--bronze-soft);margin-top:26px}.approach-steps{display:grid;grid-template-columns:repeat(3,1fr)}.approach-steps article{padding:8px 34px 12px;text-align:left;border-left:1px solid rgba(255,255,255,.16)}.approach-icon{width:48px;height:48px;border:1px solid var(--bronze-soft);border-radius:50%;margin:0 0 18px;display:grid;place-items:center;color:var(--bronze-soft);font-size:22px}.approach-steps h3{font:400 23px var(--serif);margin:0 0 10px}.approach-steps p{font-size:12px;line-height:1.72;color:#e8e2d8;margin:0;max-width:190px}

/* Conversation */
.conversation{min-height:154px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:34px;padding-top:34px;padding-bottom:34px}.sprig{font:400 50px var(--serif);color:var(--bronze)}.conversation h2{font:400 30px var(--serif);letter-spacing:-.01em;margin:0 0 7px;color:var(--fir)}.conversation p{margin:0;color:var(--muted);font-size:13px}.outline-cta{border:1px solid var(--bronze);padding:18px 34px;text-decoration:none;color:var(--bronze);text-transform:uppercase;font-size:10px;letter-spacing:.08em;min-width:304px;text-align:center}.outline-cta:hover{background:rgba(169,109,43,.05)}

/* Footer */
.site-footer{background:var(--fir);color:#f4efe7}.footer-inner{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:78px;padding:58px 0 44px}.footer-logo{display:flex;align-items:center;gap:14px}.footer-logo img{width:44px;height:56px;object-fit:contain;filter:brightness(0) invert(1)}.footer-logo span{display:flex;flex-direction:column}.footer-logo strong{font:400 40px/.8 var(--serif)}.footer-logo small{font-size:8px;letter-spacing:.17em;margin-top:9px}.footer-brand p{text-transform:uppercase;font-size:9px;letter-spacing:.06em;line-height:1.7;color:#d8d3ca;margin:17px 0 0 58px}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:32px}.footer-nav div{display:flex;flex-direction:column;gap:12px}.footer-nav a{color:#f4efe7;font-size:9px}.footer-contact{font-style:normal;display:flex;flex-direction:column;gap:7px;border-left:1px solid rgba(255,255,255,.17);padding-left:36px;font-size:12px}.footer-contact a{color:#f4efe7;text-decoration:none}.footer-contact a:first-child{font:400 21px var(--serif);color:#f1e7d8}.footer-bottom{display:flex;justify-content:space-between;padding:19px 0 28px;border-top:1px solid rgba(255,255,255,.17);font-size:9px;letter-spacing:.02em;color:#d6d0c8}.footer-bottom a{color:#d6d0c8;text-decoration:none;margin-left:20px}

@media(max-width:1180px){.header-inner{grid-template-columns:auto 1fr auto auto}.family-note{display:none}.main-nav{gap:18px}.attorneys{gap:44px}.attorney{grid-template-columns:180px 1fr}.approach-inner{gap:42px}.approach-steps article{padding:8px 20px}}
@media(max-width:900px){.header-inner{height:82px;grid-template-columns:auto 1fr auto}.main-nav,.header-cta,.phone{display:none}.menu-button{display:block;background:var(--fir);color:white;border:0;padding:12px 16px}.mobile-nav{background:var(--cream2);padding:18px 24px}.mobile-nav a{display:block;padding:12px;color:var(--char);text-decoration:none;text-transform:uppercase;font-size:12px}.hero{min-height:540px}.hero-bg{object-position:58% 46%}.hero-content{padding-top:58px;padding-bottom:58px}.hero-overlay{background:linear-gradient(90deg,rgba(247,242,233,.995) 0%,rgba(247,242,233,.98) 45%,rgba(247,242,233,.72) 65%,rgba(247,242,233,.08) 90%)}.intro{padding:72px 0 58px}.practice{padding-bottom:78px}.practice-grid{grid-template-columns:1fr 1fr}.practice-grid article:nth-child(3){border-left:0;border-top:1px solid var(--line)}.practice-grid article:nth-child(4){border-top:1px solid var(--line)}.attorneys{grid-template-columns:1fr;padding-bottom:80px}.attorney{grid-template-columns:minmax(160px,220px) 1fr;max-width:720px}.attorney-right{margin-left:auto}.approach-inner{grid-template-columns:1fr;padding:70px 0}.approach-steps article:first-child{border-left:0}.conversation{grid-template-columns:auto 1fr}.outline-cta{grid-column:1/-1;justify-self:start}.footer-inner{grid-template-columns:1fr 1fr}.footer-contact{grid-column:1/-1;border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.15);padding-top:24px}.section-shell{width:min(calc(100% - 38px),var(--max))}}
@media(max-width:620px){.brand-text strong{font-size:37px}.brand-mark{width:32px;height:43px}.hero{min-height:560px}.hero-bg{object-position:62% 46%}.hero-content{padding-top:48px;padding-bottom:48px}.hero-overlay{background:linear-gradient(180deg,rgba(247,242,233,.98) 0%,rgba(247,242,233,.93) 50%,rgba(247,242,233,.55) 72%,rgba(247,242,233,.16) 100%)}.hero h1{font-size:46px;max-width:520px}.hero-sub{font-size:16px;max-width:430px}.intro{padding:54px 0 42px}.practice-grid{grid-template-columns:1fr}.practice-grid article{border-left:0!important;border-top:1px solid var(--line);min-height:0;padding:30px 4px}.practice-grid article:first-child{border-top:0}.practice-grid p{min-height:0}.attorney,.attorney-right{grid-template-columns:1fr;margin:0}.portrait-wrap{max-width:245px}.approach-steps{grid-template-columns:1fr}.approach-steps article{border-left:0;border-top:1px solid rgba(255,255,255,.15);padding:25px 8px}.approach-steps article:first-child{border-top:0}.conversation{grid-template-columns:1fr}.sprig{display:none}.outline-cta{min-width:0;width:100%}.footer-inner{grid-template-columns:1fr}.footer-nav{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column;gap:10px}.header-inner{width:calc(100% - 28px)}.section-shell{width:calc(100% - 30px)}}

/* v16 — exact approved desktop hero artwork. No CSS reconstruction or masking. */
.hero-exact{
  position:relative;
  display:block;
  width:100%;
  min-height:0;
  height:auto;
  overflow:hidden;
  background:#efe7da;
}
.hero-art-img{
  display:block;
  width:100%;
  height:auto;
}
.hero-semantic{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.hero-hotspot{
  position:absolute;
  left:14.1%;
  top:76.1%;
  width:16.1%;
  height:12.2%;
  z-index:3;
  display:block;
}
.hero-hotspot:focus-visible{outline:3px solid #fff;outline-offset:3px}

@media(max-width:900px){
  .hero-exact{min-height:0;height:auto;background:var(--cream)}
  .hero-art-img{width:100%;height:auto;object-fit:contain}
  .hero-hotspot{left:14%;top:76%;width:25%;height:12%}
}

/* v17 — content-rich homepage. Approved v16 hero is intentionally untouched. */
.intro-proof{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 28px;margin:34px auto 0;padding-top:25px;border-top:1px solid var(--line);max-width:930px}.intro-proof span{font:400 14px var(--serif);color:var(--fir)}
.practice-expanded{padding-top:10px}.practice-intro{display:grid;grid-template-columns:.55fr 1.1fr 1fr;gap:42px;align-items:start;margin:0 0 56px}.practice-intro .eyebrow{margin-top:8px}.practice-intro h3{font:400 35px/1.18 var(--serif);color:var(--fir);margin:0}.practice-intro>p:last-child{font-size:13px;line-height:1.8;color:var(--muted);margin:3px 0 0}.practice-grid-six{grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.practice-grid-six article{min-height:330px}.practice-grid-six article:nth-child(4){border-left:0;border-top:1px solid var(--line)}.practice-grid-six article:nth-child(5),.practice-grid-six article:nth-child(6){border-top:1px solid var(--line)}
.why-fir{position:relative;overflow:hidden;background:var(--fir);color:#fff}.why-fir .topo{opacity:.065}.why-inner{position:relative;padding:96px 0 100px;display:grid;grid-template-columns:.8fr 1.7fr;gap:84px}.why-lead .eyebrow{color:var(--bronze-soft)}.why-lead h2{font:400 46px/1.08 var(--serif);margin:0 0 25px;max-width:390px}.why-lead>p:last-child{font-size:13px;line-height:1.8;color:#ddd7ce;max-width:370px}.why-grid{display:grid;grid-template-columns:1fr 1fr}.why-grid article{padding:9px 34px 34px;border-left:1px solid rgba(255,255,255,.16)}.why-grid article:nth-child(3),.why-grid article:nth-child(4){border-top:1px solid rgba(255,255,255,.16);padding-top:34px}.why-grid span{font-size:10px;letter-spacing:.14em;color:var(--bronze-soft)}.why-grid h3{font:400 25px var(--serif);margin:10px 0 12px}.why-grid p{font-size:12.5px;line-height:1.78;color:#e4ded4;margin:0}
.attorney-feature{display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:82px;align-items:center;padding-top:110px;padding-bottom:112px}.attorney-feature-photo{border-radius:4px;overflow:hidden;box-shadow:0 20px 50px rgba(55,43,28,.08)}.attorney-feature-photo img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover}.attorney-feature-copy{max-width:670px}.attorney-feature-copy h2,.second-attorney-copy h2{font:400 48px/1.05 var(--serif);color:var(--fir);margin:0 0 12px}.attorney-deck{font:italic 18px/1.4 var(--serif);color:var(--bronze);margin:0 0 26px}.attorney-feature-copy>p:not(.eyebrow):not(.attorney-deck){font-size:13px;line-height:1.85;color:var(--muted);margin:0 0 18px}.credentials{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.credentials span{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:#655f56}
.second-attorney{display:grid;grid-template-columns:1fr minmax(260px,340px);gap:94px;align-items:center;padding:0 0 112px}.second-attorney-copy{max-width:620px;margin-left:80px}.second-attorney-copy h2{font-size:38px}.second-attorney-copy>p:not(.eyebrow){font-size:13px;line-height:1.82;color:var(--muted);max-width:520px}.second-attorney-copy a{display:inline-block;margin-top:13px;color:var(--fir);font:400 14px var(--serif);text-underline-offset:5px}.second-attorney-copy a span{color:var(--bronze);padding-left:9px}.second-attorney-photo{border-radius:4px;overflow:hidden}.second-attorney-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.who-we-serve{padding-bottom:110px}.serve-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.serve-grid article{padding:38px 30px 40px;border-left:1px solid var(--line)}.serve-grid article:first-child{border-left:0}.serve-grid h3{font:400 23px/1.18 var(--serif);color:var(--fir);margin:0 0 15px}.serve-grid p{font-size:12px;line-height:1.75;color:var(--muted);margin:0}
.selected-matter{background:#efe7da;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.selected-matter-inner{display:grid;grid-template-columns:.62fr 1.38fr;gap:90px;padding-top:84px;padding-bottom:90px}.result-label{padding-top:6px}.result-kicker{font:italic 15px var(--serif);color:var(--fir)}.result-copy h2{font:400 39px/1.12 var(--serif);color:var(--fir);max-width:750px;margin:0 0 24px}.result-copy>p{font-size:13px;line-height:1.82;color:var(--muted);max-width:720px}.result-note{font-size:10.5px!important;font-style:italic;color:#7a7369!important;margin-top:26px!important}
.approach-v17{border-top:0}.consultation-section{display:grid;grid-template-columns:1.45fr .55fr;gap:90px;align-items:center;padding-top:94px;padding-bottom:96px}.consultation-lead h2{font:400 46px/1.08 var(--serif);color:var(--fir);margin:0 0 22px}.consultation-lead>p:last-child{font-size:13px;line-height:1.82;color:var(--muted);max-width:720px}.consultation-card{border-left:1px solid var(--bronze);padding:8px 0 8px 38px;display:flex;flex-direction:column;align-items:flex-start}.consultation-meta{text-transform:uppercase;color:var(--bronze);font-size:10px;letter-spacing:.12em;margin-bottom:10px}.consultation-card strong{font:400 31px var(--serif);color:var(--fir)}.consultation-price{font:400 22px var(--serif);color:var(--bronze);margin:2px 0 20px}.consultation-button{display:inline-block;background:var(--fir);color:white;text-decoration:none;text-transform:uppercase;font-size:10px;letter-spacing:.06em;padding:16px 22px}.consultation-button span{color:var(--bronze-soft);padding-left:10px}.consultation-card p{font-size:9.5px;line-height:1.5;color:var(--muted);margin:16px 0 0;max-width:265px}.consultation-terms-link{display:inline-block;margin-top:8px;color:var(--bronze);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.consultation-terms-link:hover,.consultation-terms-link:focus-visible{color:var(--fir)}
@media(max-width:1000px){.practice-intro{grid-template-columns:1fr 1.5fr}.practice-intro>p:last-child{grid-column:2}.practice-grid-six{grid-template-columns:1fr 1fr}.practice-grid-six article:nth-child(3),.practice-grid-six article:nth-child(5){border-left:0}.practice-grid-six article:nth-child(3){border-top:1px solid var(--line)}.practice-grid-six article:nth-child(4){border-left:1px solid var(--line)}.why-inner{grid-template-columns:1fr;gap:48px}.attorney-feature{grid-template-columns:minmax(240px,330px) 1fr;gap:50px}.second-attorney-copy{margin-left:0}.serve-grid{grid-template-columns:1fr 1fr}.serve-grid article:nth-child(3){border-left:0;border-top:1px solid var(--line)}.serve-grid article:nth-child(4){border-top:1px solid var(--line)}.selected-matter-inner{gap:50px}.consultation-section{grid-template-columns:1.2fr .8fr;gap:50px}}
@media(max-width:700px){.intro-proof{justify-content:flex-start}.practice-intro{grid-template-columns:1fr;gap:14px}.practice-intro>p:last-child{grid-column:auto}.practice-grid-six{grid-template-columns:1fr}.practice-grid-six article{border-left:0!important;border-top:1px solid var(--line)!important}.practice-grid-six article:first-child{border-top:0!important}.why-grid{grid-template-columns:1fr}.why-grid article{border-left:0;border-top:1px solid rgba(255,255,255,.16);padding:28px 0}.why-grid article:first-child{border-top:0}.why-grid article:nth-child(3),.why-grid article:nth-child(4){padding-top:28px}.attorney-feature{grid-template-columns:1fr;padding-top:72px;padding-bottom:80px}.attorney-feature-photo{max-width:270px}.attorney-feature-copy h2{font-size:39px}.second-attorney{grid-template-columns:1fr;gap:34px;padding-bottom:80px}.second-attorney-photo{grid-row:1;max-width:250px}.serve-grid{grid-template-columns:1fr}.serve-grid article{border-left:0;border-top:1px solid var(--line)}.serve-grid article:first-child{border-top:0}.selected-matter-inner{grid-template-columns:1fr;gap:22px;padding-top:64px;padding-bottom:65px}.consultation-section{grid-template-columns:1fr;gap:40px;padding-top:70px;padding-bottom:70px}.consultation-card{padding-left:24px}.why-lead h2,.consultation-lead h2{font-size:38px}}

/* v18 — attorney title/bio and Wins & In the News content */
.second-attorney-expanded{
  grid-template-columns:minmax(260px,340px) 1fr;
  gap:82px;
  align-items:start;
  padding-top:8px;
  padding-bottom:118px;
}
.second-attorney-expanded .second-attorney-photo{
  position:sticky;
  top:110px;
  align-self:start;
}
.second-attorney-expanded .second-attorney-copy{
  margin-left:0;
  max-width:760px;
}
.second-attorney-expanded .second-attorney-copy h2{
  font-size:42px;
  margin-bottom:18px;
}
.second-attorney-expanded .second-attorney-copy>p:not(.eyebrow){
  font-size:13px;
  line-height:1.85;
  max-width:760px;
  margin:0 0 18px;
}
.second-attorney-expanded .second-attorney-copy em{font-family:var(--serif)}

.wins-news .result-copy{max-width:820px}
.wins-news .result-copy h2{max-width:800px}
.wins-news .result-copy>p:not(.result-note){max-width:800px}
.result-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px 12px;
  margin:28px 0 4px;
}
.result-links a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid rgba(16,39,31,.18);
  padding:11px 14px;
  color:var(--fir);
  text-decoration:none;
  font-size:11px;
  letter-spacing:.02em;
  background:rgba(255,255,255,.36);
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.result-links a span{color:var(--bronze)}
.result-links a:hover{background:#fff;border-color:rgba(16,39,31,.32);transform:translateY(-1px)}

@media(max-width:900px){
  .second-attorney-expanded{grid-template-columns:minmax(220px,290px) 1fr;gap:48px}
  .second-attorney-expanded .second-attorney-photo{position:static}
}
@media(max-width:700px){
  .second-attorney-expanded{grid-template-columns:1fr;gap:34px;padding-bottom:80px}
  .second-attorney-expanded .second-attorney-photo{max-width:250px}
  .second-attorney-expanded .second-attorney-copy h2{font-size:37px}
  .result-links{flex-direction:column;align-items:flex-start}
}

/* v19: Fir Group family link */
.family-link{color:inherit;text-decoration:none;transition:opacity .2s ease}.family-link:hover{opacity:.68}.family-link span{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}

/* v20: social links and consultation booking */
.social-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.18);
}
.social-links a{
  color:#e7dfd3;
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  transition:color .2s ease;
}
.social-links a:hover{color:var(--bronze-soft)}

.header-social{display:flex;align-items:center;gap:7px;margin-left:auto;margin-right:16px}
.header-social a{width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(16,39,31,.2);border-radius:50%;color:#10271f;text-decoration:none;transition:.18s ease}
.header-social a:hover{background:#10271f;color:#f6f0e6;border-color:#10271f;transform:translateY(-1px)}
.header-social svg{width:13px;height:13px;fill:currentColor}
@media(max-width:1050px){.header-social{margin-right:8px;gap:5px}.header-social a{width:25px;height:25px}}
@media(max-width:820px){.header-social{display:none}}

/* v23: keep phone aligned at far right of desktop header */
.header-phone{
  display:flex;
  align-items:center;
  white-space:nowrap;
  margin-left:18px;
  color:#263b34;
  font-size:14px;
  line-height:1;
}
@media (min-width:821px){
  .site-header .inner,
  .site-header .header-grid{
    align-items:center;
  }
}
@media (max-width:820px){
  .header-phone{display:none;}
}

/* v24 definitive phone placement */
.header-phone-fixed{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  white-space:nowrap;
  margin-left:22px;
  color:#263b34;
  font-size:14px;
  line-height:1;
  text-decoration:none;
}
.site-header .inner,
.site-header .header-grid{
  align-items:center !important;
}
@media(max-width:1100px){
  .header-phone-fixed{margin-left:12px;font-size:13px}
}
@media(max-width:820px){
  .header-phone-fixed{display:none !important}
}


/* =========================================================
   v25 — definitive one-row desktop header
   The earlier grid allowed the phone to wrap onto a second row.
   Desktop header is now a single flex row.
   ========================================================= */
@media (min-width: 1181px){
  .site-header{
    min-height:112px;
  }

  .header-inner{
    height:112px !important;
    width:min(calc(100% - 64px), 1540px) !important;
    margin-inline:auto;
    display:flex !important;
    grid-template-columns:none !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    gap:24px !important;
  }

  .brand{
    flex:0 0 auto;
    padding-right:24px;
  }

  .family-note{
    display:block !important;
    flex:0 0 145px;
    min-width:145px;
  }

  .header-social{
    display:flex !important;
    flex:0 0 auto;
    margin:0 4px 0 0 !important;
    gap:7px;
  }

  .main-nav{
    flex:1 1 auto;
    min-width:0;
    display:flex !important;
    justify-content:center;
    align-items:center;
    gap:24px;
    white-space:nowrap;
  }

  .header-cta{
    flex:0 0 auto;
    min-width:188px;
    padding:18px 20px;
    white-space:nowrap;
  }

  .header-phone-fixed{
    display:inline-flex !important;
    flex:0 0 auto;
    align-items:center;
    margin:0 0 0 4px !important;
    padding:0 !important;
    font-size:14px;
    line-height:1;
    white-space:nowrap;
  }

  .menu-button{
    display:none !important;
  }
}

/* Medium desktop: retain a clean single row by removing secondary utilities first. */
@media (min-width: 901px) and (max-width: 1180px){
  .header-inner{
    height:102px !important;
    width:min(calc(100% - 42px), 1120px) !important;
    display:flex !important;
    grid-template-columns:none !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    gap:18px !important;
  }

  .family-note,
  .header-social,
  .header-phone-fixed{
    display:none !important;
  }

  .main-nav{
    flex:1 1 auto;
    display:flex !important;
    justify-content:center;
    gap:18px;
    white-space:nowrap;
  }

  .header-cta{
    display:inline-flex !important;
    flex:0 0 auto;
  }

  .menu-button{
    display:none !important;
  }
}

/* Keep the existing compact mobile behavior intact. */
@media (max-width: 900px){
  .header-phone-fixed{
    display:none !important;
  }
}

/* v26 — Fir Group family link without underline */
.family-note a,
.family-link,
.family-link a{
  text-decoration:none !important;
  border-bottom:none !important;
}

/* v27 — explicit Fir Group link treatment */
a.fir-group-link,
a.fir-group-link:link,
a.fir-group-link:visited,
a.fir-group-link:hover,
a.fir-group-link:active,
a.fir-group-link:focus{
  text-decoration:none !important;
  text-decoration-line:none !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  background-image:none !important;
}

/* v30 — remove underline from the actual nested span */
.family-note.family-link,
.family-note.family-link span,
.family-note.family-link:link,
.family-note.family-link:visited,
.family-note.family-link:hover,
.family-note.family-link:hover span,
.fir-group-link,
.fir-group-link span {
  text-decoration: none !important;
  text-decoration-line: none !important;
  text-decoration-thickness: 0 !important;
  text-underline-offset: 0 !important;
  border-bottom: none !important;
  box-shadow: none !important;
  background-image: none !important;
}


/* =========================================================
   v31 — mobile navigation
   Fixes the old .mobile-nav {display:none} rule that prevented
   the JS-opened navigation from ever becoming visible.
   ========================================================= */

@media (max-width: 900px) {
  .site-header{
    position:sticky;
    top:0;
    z-index:100;
  }

  .header-inner{
    min-height:96px !important;
    height:auto !important;
    padding:14px 0;
    display:grid !important;
    grid-template-columns:1fr minmax(150px, 48%) !important;
    gap:18px !important;
    align-items:center !important;
  }

  .brand{
    border-right:1px solid var(--line);
    padding-right:16px;
  }

  .brand-mark{
    width:38px;
    height:50px;
  }

  .brand-text strong{
    font-size:43px;
  }

  .family-note,
  .header-social,
  .main-nav,
  .header-cta,
  .header-phone-fixed{
    display:none !important;
  }

  .menu-button{
    display:block !important;
    width:100%;
    min-height:54px;
    padding:15px 20px !important;
    background:var(--fir) !important;
    color:#fff !important;
    border:1px solid var(--fir) !important;
    font-size:15px !important;
    letter-spacing:.02em;
    cursor:pointer;
  }

  .menu-button[aria-expanded="true"]::after{
    content:"  ×";
    font-size:19px;
    line-height:1;
  }

  /* This is the critical fix: hidden controls visibility,
     rather than the permanent display:none from older CSS. */
  .mobile-nav[hidden]{
    display:none !important;
  }

  .mobile-nav:not([hidden]){
    display:block !important;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    z-index:120;
    background:#f8f3ea;
    border-top:1px solid rgba(16,39,31,.10);
    border-bottom:1px solid rgba(16,39,31,.14);
    box-shadow:0 18px 42px rgba(16,39,31,.14);
    padding:0 !important;
  }

  .mobile-nav-inner{
    width:calc(100% - 40px);
    margin:0 auto;
    padding:24px 0 28px;
  }

  .mobile-nav-links{
    display:grid;
    grid-template-columns:1fr 1fr;
    border-top:1px solid rgba(16,39,31,.14);
    border-left:1px solid rgba(16,39,31,.14);
  }

  .mobile-nav-links a{
    display:flex !important;
    align-items:center;
    min-height:54px;
    padding:12px 16px !important;
    color:var(--fir) !important;
    background:transparent;
    border-right:1px solid rgba(16,39,31,.14);
    border-bottom:1px solid rgba(16,39,31,.14);
    text-decoration:none !important;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:11px !important;
    font-weight:700;
  }

  .mobile-nav-links a:hover,
  .mobile-nav-links a:focus{
    background:rgba(16,39,31,.05);
  }

  .mobile-consultation{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    margin-top:20px;
    padding:17px 18px !important;
    color:#fff !important;
    background:var(--fir);
    text-decoration:none !important;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-size:11px !important;
    font-weight:700;
  }

  .mobile-consultation span{
    color:var(--bronze-soft);
    font-size:18px;
  }

  .mobile-contact-row{
    display:flex;
    flex-direction:column;
    gap:9px;
    padding:20px 2px 18px;
  }

  .mobile-phone,
  .mobile-family{
    display:block !important;
    padding:0 !important;
    text-decoration:none !important;
    color:var(--fir) !important;
    text-transform:none !important;
  }

  .mobile-phone{
    font:400 20px/1.2 var(--serif) !important;
  }

  .mobile-family{
    font-size:10px !important;
    letter-spacing:.08em;
    text-transform:uppercase !important;
    font-weight:700;
  }

  .mobile-social{
    display:flex;
    align-items:center;
    gap:10px;
    padding-top:18px;
    border-top:1px solid rgba(16,39,31,.12);
  }

  .mobile-social a{
    width:38px;
    height:38px;
    padding:0 !important;
    display:grid !important;
    place-items:center;
    border:1px solid rgba(16,39,31,.23);
    border-radius:50%;
    color:var(--fir) !important;
    background:transparent;
  }

  .mobile-social svg{
    width:16px;
    height:16px;
    fill:currentColor;
  }

  body.mobile-menu-open{
    overflow:hidden;
  }
}

@media (max-width: 480px){
  .header-inner{
    grid-template-columns:1fr 48% !important;
    width:calc(100% - 28px) !important;
  }

  .brand{
    gap:8px;
  }

  .brand-mark{
    width:34px;
    height:46px;
  }

  .brand-text strong{
    font-size:38px;
  }

  .brand-text small{
    font-size:8px;
    margin-top:8px;
  }
}


/* v32 — refined Fir Law Group wordmark proportions */
.brand-text{
  display:flex;
  flex-direction:column;
  justify-content:center;
  line-height:1;
}
.brand-text strong{
  font-size:50px !important;
  line-height:.82 !important;
  letter-spacing:.015em !important;
  font-weight:400 !important;
}
.brand-text small{
  font-size:11px !important;
  line-height:1 !important;
  letter-spacing:.22em !important;
  margin-top:12px !important;
  font-weight:700 !important;
}

@media (max-width:900px){
  .brand-text strong{
    font-size:39px !important;
  }
  .brand-text small{
    font-size:9px !important;
    letter-spacing:.20em !important;
    margin-top:10px !important;
  }
}
@media (max-width:480px){
  .brand-text strong{
    font-size:36px !important;
  }
  .brand-text small{
    font-size:9px !important;
    margin-top:9px !important;
  }
}


/* v33 — final wordmark proportion correction */
.brand-text strong{
  font-size:44px !important;
  line-height:.82 !important;
}
.brand-text small{
  font-size:14px !important;
  line-height:1 !important;
  letter-spacing:.17em !important;
  margin-top:11px !important;
  font-weight:700 !important;
}

@media (max-width:900px){
  .brand-text strong{ font-size:37px !important; }
  .brand-text small{
    font-size:11px !important;
    letter-spacing:.16em !important;
    margin-top:9px !important;
  }
}
@media (max-width:480px){
  .brand-text strong{ font-size:34px !important; }
  .brand-text small{
    font-size:11px !important;
    letter-spacing:.15em !important;
    margin-top:8px !important;
  }
}


/* =========================================================
   v43 — clean hero rebuild from text-free photograph
   ========================================================= */
.hero-v43{
  position:relative;
  width:100%;
  overflow:hidden;
  background:#e7ded1;
  aspect-ratio:3072 / 704;
  min-height:390px;
  max-height:560px;
}
.hero-v43-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.hero-v43-glow{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 46% 115% at 30% 50%,
      rgba(248,243,234,.84) 0%,
      rgba(248,243,234,.70) 36%,
      rgba(248,243,234,.34) 62%,
      rgba(248,243,234,0) 82%);
}
.hero-v43-content{
  position:relative;
  z-index:2;
  width:min(calc(100% - 72px),1536px);
  margin:0 auto;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding-left:8.5%;
  padding-top:1%;
}
.hero-v43 h1{
  margin:0;
  max-width:720px;
  color:var(--fir);
  font:400 clamp(43px,4.45vw,72px)/.98 var(--serif);
  letter-spacing:-.027em;
}
.hero-v43-rule{
  width:58px;
  height:2px;
  background:var(--bronze);
  margin:22px 0 20px;
}
.hero-v43 p{
  margin:0;
  max-width:590px;
  color:#3e3d38;
  font-size:clamp(15px,1.15vw,19px);
  line-height:1.62;
}
.hero-v43-cta{
  display:inline-flex;
  align-items:center;
  gap:28px;
  margin-top:25px;
  padding:17px 22px;
  background:var(--fir);
  color:white;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:10px;
  font-weight:700;
  border:1px solid var(--fir);
}
.hero-v43-cta span{color:var(--bronze-soft);font-size:17px;line-height:1}
.hero-v43-cta:hover{background:#17382d}

/* Header refinements retained from approved work */
.family-note.family-link,
.family-note.family-link span,
.fir-group-link,
.fir-group-link span{ text-decoration:none !important; border-bottom:none !important; box-shadow:none !important; background-image:none !important; }
.brand-text strong{font-size:44px !important;line-height:.82 !important;font-weight:400 !important}
.brand-text small{font-size:14px !important;line-height:1 !important;letter-spacing:.17em !important;margin-top:11px !important;font-weight:700 !important}
.header-social{display:flex;align-items:center;gap:7px;margin-left:auto;margin-right:16px}
.header-social a{width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(16,39,31,.2);border-radius:50%;color:#10271f;text-decoration:none;transition:.18s ease}
.header-social a:hover{background:#10271f;color:#f6f0e6;border-color:#10271f;transform:translateY(-1px)}
.header-social svg{width:13px;height:13px;fill:currentColor}

@media(min-width:1181px){
  .site-header{min-height:112px}
  .header-inner{height:112px !important;width:min(calc(100% - 64px),1540px) !important;margin-inline:auto;display:flex !important;grid-template-columns:none !important;align-items:center !important;flex-wrap:nowrap !important;gap:24px !important}
  .brand{flex:0 0 auto;padding-right:24px}
  .family-note{display:block !important;flex:0 0 145px;min-width:145px}
  .header-social{display:flex !important;flex:0 0 auto;margin:0 4px 0 0 !important;gap:7px}
  .main-nav{flex:1 1 auto;min-width:0;display:flex !important;justify-content:center;align-items:center;gap:24px;white-space:nowrap}
  .header-cta{flex:0 0 auto;min-width:188px;padding:18px 20px;white-space:nowrap}
  .header-phone-fixed{display:inline-flex !important;flex:0 0 auto;align-items:center;margin:0 0 0 4px !important;padding:0 !important;font-size:14px;line-height:1;white-space:nowrap}
  .menu-button{display:none !important}
}

@media(max-width:900px){
  .hero-v43{aspect-ratio:auto;min-height:270px;max-height:none;height:270px}
  .hero-v43-image{object-fit:cover;object-position:57% center}
  .hero-v43-glow{background:linear-gradient(90deg,rgba(248,243,234,.90) 0%,rgba(248,243,234,.72) 42%,rgba(248,243,234,.16) 72%,rgba(248,243,234,0) 100%)}
  .hero-v43-content{width:calc(100% - 34px);padding:0 0 0 2px;justify-content:center}
  .hero-v43 h1{font-size:clamp(27px,8.4vw,40px);line-height:1.0;max-width:72%}
  .hero-v43-rule{width:40px;margin:13px 0 12px}
  .hero-v43 p{font-size:12px;line-height:1.45;max-width:65%}
  .hero-v43-cta{margin-top:13px;padding:11px 13px;gap:16px;font-size:8px}
  .hero-v43-cta span{font-size:13px}

  .brand-text strong{font-size:37px !important}
  .brand-text small{font-size:11px !important;letter-spacing:.16em !important;margin-top:9px !important}
  .site-header{position:sticky;top:0;z-index:100}
  .header-inner{min-height:96px !important;height:auto !important;padding:14px 0;display:grid !important;grid-template-columns:1fr minmax(150px,48%) !important;gap:18px !important;align-items:center !important}
  .brand{border-right:1px solid var(--line);padding-right:16px}
  .family-note,.header-social,.main-nav,.header-cta,.header-phone-fixed{display:none !important}
  .menu-button{display:block !important;width:100%;min-height:54px;padding:15px 20px !important;background:var(--fir) !important;color:#fff !important;border:1px solid var(--fir) !important;font-size:15px !important;cursor:pointer}
  .mobile-nav[hidden]{display:none !important}
  .mobile-nav:not([hidden]){display:block !important;position:absolute;top:100%;left:0;right:0;z-index:120;background:#f8f3ea;border-top:1px solid rgba(16,39,31,.10);border-bottom:1px solid rgba(16,39,31,.14);box-shadow:0 18px 42px rgba(16,39,31,.14);padding:0 !important}
  .mobile-nav-inner{width:calc(100% - 40px);margin:0 auto;padding:24px 0 28px}
  .mobile-nav-links{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(16,39,31,.14);border-left:1px solid rgba(16,39,31,.14)}
  .mobile-nav-links a{display:flex !important;align-items:center;min-height:54px;padding:12px 16px !important;color:var(--fir) !important;border-right:1px solid rgba(16,39,31,.14);border-bottom:1px solid rgba(16,39,31,.14);text-decoration:none !important;text-transform:uppercase;letter-spacing:.08em;font-size:11px !important;font-weight:700}
  .mobile-consultation{display:flex !important;align-items:center;justify-content:space-between;margin-top:20px;padding:17px 18px !important;color:#fff !important;background:var(--fir);text-decoration:none !important;text-transform:uppercase;letter-spacing:.06em;font-size:11px !important;font-weight:700}
  .mobile-contact-row{display:flex;flex-direction:column;gap:9px;padding:20px 2px 18px}
  .mobile-phone,.mobile-family{display:block !important;padding:0 !important;text-decoration:none !important;color:var(--fir) !important;text-transform:none !important}
  .mobile-phone{font:400 20px/1.2 var(--serif) !important}
  .mobile-family{font-size:10px !important;letter-spacing:.08em;text-transform:uppercase !important;font-weight:700}
  .mobile-social{display:flex;align-items:center;gap:10px;padding-top:18px;border-top:1px solid rgba(16,39,31,.12)}
  .mobile-social a{width:38px;height:38px;padding:0 !important;display:grid !important;place-items:center;border:1px solid rgba(16,39,31,.23);border-radius:50%;color:var(--fir) !important}
  .mobile-social svg{width:16px;height:16px;fill:currentColor}
}


/* =========================================================
   v44 — hero cleanup
   - preserve sunset + trees on the left
   - remove baked white-square artifact
   - no hero CTA; header CTA remains
   ========================================================= */

.hero-v43-image{
  object-position:46% center !important;
}

.hero-v43-cta{
  display:none !important;
}

@media(max-width:900px){
  .hero-v43-image{
    object-position:43% center !important;
  }
  .hero-v43-content{
    padding-left:0 !important;
  }
}

@media(max-width:620px){
  .hero-v43-image{
    object-position:40% center !important;
  }
}


/* =========================================================
   v45 — locked approved hero
   Uses the exact approved artwork instead of layered CSS.
   ========================================================= */
.hero-v43,
.hero-v43-image,
.hero-v43-glow,
.hero-v43-content,
.hero-v43-cta,
.hero-v43-rule{
  display:none !important;
}

.hero-locked{
  position:relative;
  width:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#f4efe6;
}

.hero-locked picture{
  display:block;
  width:100%;
  line-height:0;
}

.hero-locked-image{
  display:block;
  width:100%;
  height:auto;
  margin:0;
  padding:0;
}

/* Real semantic text remains available to screen readers/search engines,
   while the approved artwork controls the exact visual composition. */
.hero-semantic-v45{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

@media(max-width:700px){
  .hero-locked-image{
    width:100%;
    height:auto;
  }
}


/* v46: shorter, more panoramic approved hero */
.hero-locked{
  max-height:none !important;
}
.hero-locked-image{
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}

/* v47: enlarge the Fir Law Group logo in the header only */
@media (min-width: 981px){
  .site-header .brand-mark{width:48px !important;height:66px !important;}
  .site-header .brand-text strong{font-size:54px !important;line-height:.80 !important;}
  .site-header .brand-text small{font-size:15px !important;letter-spacing:.17em !important;margin-top:12px !important;}
}
@media (max-width: 980px){
  .site-header .brand-mark{width:39px !important;height:53px !important;}
  .site-header .brand-text strong{font-size:43px !important;line-height:.80 !important;}
  .site-header .brand-text small{font-size:12px !important;letter-spacing:.16em !important;margin-top:9px !important;}
}


/* v48 — paralegal profile below attorneys */
.paralegal-profile{
  display:grid;
  grid-template-columns:minmax(220px, 320px) minmax(0, 1fr);
  gap:56px;
  align-items:center;
  padding-top:64px;
  padding-bottom:72px;
  border-top:1px solid var(--line);
}
.paralegal-photo{
  position:relative;
}
.paralegal-photo::after{
  content:"";
  position:absolute;
  inset:14px -14px -14px 14px;
  border:1px solid rgba(166,99,30,.22);
  border-radius:22px;
  pointer-events:none;
}
.paralegal-photo img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:center 28%;
  border-radius:20px;
  box-shadow:0 20px 42px rgba(16,39,31,.11);
}
.paralegal-copy{
  max-width:690px;
}
.paralegal-copy .eyebrow{
  margin:0 0 10px;
  color:var(--bronze);
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:11px;
  font-weight:700;
}
.paralegal-copy h2{
  margin:0 0 18px;
  font:400 clamp(34px,4vw,50px)/1.06 var(--serif);
  color:var(--fir);
}
.paralegal-copy p{
  margin:0 0 16px;
  font-size:15px;
  line-height:1.75;
  color:var(--text);
}
@media(max-width:820px){
  .paralegal-profile{
    grid-template-columns:1fr;
    gap:30px;
    padding-top:48px;
    padding-bottom:56px;
  }
  .paralegal-photo{
    width:min(76vw,340px);
    margin:0 auto;
  }
}


/* v64 — approved hero with tighter cream fade around copy */
.hero-v64-locked{
  width:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  line-height:0;
  background:#f5f0e8;
}
.hero-v64-locked img{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  margin:0;
  padding:0;
  object-fit:contain;
  object-position:center center;
}
@media(max-width:700px){
  .hero-v64-locked img{
    width:100%;
    height:auto;
    object-fit:contain;
  }
}

/* v65: approved tighter fade hero only */
.hero-v65-locked{width:100%;margin:0;padding:0;overflow:hidden;line-height:0;background:#f5f0e8}
.hero-v65-locked img{display:block;width:100%;height:auto;max-width:none;margin:0;padding:0;object-fit:contain;object-position:center center}
@media(max-width:700px){.hero-v65-locked img{width:100%;height:auto;object-fit:contain}}

/* v66 — only hero haze prominence changed from v65 */
.hero-v66-locked{width:100%;margin:0;padding:0;overflow:hidden;line-height:0;background:#f5f0e8}
.hero-v66-locked img{display:block;width:100%;height:auto;max-width:none;margin:0;padding:0;object-fit:contain;object-position:center center}
@media(max-width:700px){.hero-v66-locked img{width:100%;height:auto;object-fit:contain}}


/* =========================================================
   v69 — approved hero: words moved into sky, no white background.
   Everything else remains from v66.
   ========================================================= */
.hero-v69-locked{
  width:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  line-height:0;
  background:#efe8df;
}
.hero-v69-locked img{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  margin:0;
  padding:0;
  object-fit:contain;
  object-position:center center;
}
@media(max-width:700px){
  .hero-v69-locked img{
    width:100%;
    height:auto;
    object-fit:contain;
  }
}


/* v71 — hero copy readability adjustment.
   Preserve the hero artwork and layout; increase apparent hero scale modestly. */
.hero-v69-locked img{
  width:100%;
  height:auto;
}

/* On desktop, make the hero artwork slightly taller/larger so its copy reads ~17% larger,
   centered to preserve the composition. */
@media(min-width:701px){
  .hero-v69-locked{
    overflow:hidden;
  }
  .hero-v69-locked img{
    width:117%;
    max-width:none;
    margin-left:-8.5%;
  }
}

/* Keep mobile behavior unchanged to avoid cropping the approved composition. */
@media(max-width:700px){
  .hero-v69-locked img{
    width:100%;
    margin-left:0;
  }
}


/* v72 — keep v71 scale, shift approved hero composition slightly right */
@media(min-width:701px){
  .hero-v69-locked img{
    width:117%;
    max-width:none;
    margin-left:-4.5%;
  }
}


/* v74 — move approved hero text/composition a little farther right */
@media(min-width:701px){
  .hero-v69-locked img{
    width:117%;
    max-width:none;
    margin-left:-1.5%;
  }
}


/* =========================================================
   v82 — Rick / Fir Solutions section ONLY.
   Header and all existing v77 layout remain unchanged.
   ========================================================= */

.solutions-profile-v82{
  display:grid;
  grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);
  gap:64px;
  align-items:center;
  padding-top:82px;
  padding-bottom:82px;
}

.solutions-profile-v82-photo img{
  display:block;
  width:100%;
  max-width:480px;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center top;
}

.solutions-profile-v82-copy h2{
  margin:.12em 0 .1em;
  font-family:var(--serif);
  font-size:clamp(42px,4vw,64px);
  color:var(--green,#0d3027);
}

.solutions-profile-v82-role{
  margin:0 0 24px;
  font-weight:700;
  color:#55645f;
}

.solutions-profile-v82-role span{
  padding:0 7px;
  color:var(--bronze,#a96d2b);
}

.solutions-profile-v82-copy p:not(.eyebrow):not(.solutions-profile-v82-role){
  max-width:780px;
  line-height:1.72;
}

.solutions-profile-v82-link{
  display:inline-block;
  margin-top:12px;
  padding-bottom:4px;
  color:var(--green,#0d3027);
  font-weight:800;
  text-decoration:none;
  border-bottom:1px solid var(--bronze,#a96d2b);
}

.solutions-profile-v82-link span{
  padding-left:8px;
  color:var(--bronze,#a96d2b);
}

@media(max-width:900px){
  .solutions-profile-v82{
    grid-template-columns:1fr;
    gap:30px;
    padding-top:56px;
    padding-bottom:56px;
  }

  .solutions-profile-v82-photo img{
    max-width:420px;
  }
}


/* v83 — two surgical changes only:
   1) Rick's portrait is sized like Josh's portrait.
   2) Main header tree mark is larger, without changing header layout. */

.solutions-profile-v82{
  grid-template-columns:minmax(260px,390px) minmax(0,1fr) !important;
}
.solutions-profile-v82-photo{
  position:relative;
  width:100%;
  max-width:390px;
}
.solutions-profile-v82-photo::after{
  content:"";
  position:absolute;
  inset:14px -14px -14px 14px;
  border:1px solid rgba(166,99,30,.22);
  border-radius:22px;
  pointer-events:none;
}
.solutions-profile-v82-photo img{
  position:relative;
  z-index:1;
  display:block;
  width:100% !important;
  max-width:none !important;
  aspect-ratio:1/1 !important;
  object-fit:cover !important;
  object-position:center 20% !important;
  border-radius:20px;
  box-shadow:0 20px 42px rgba(16,39,31,.11);
}

/* v77 header remains structurally untouched; enlarge only the tree artwork. */
@media(min-width:901px){
  .brand-mark{
    width:58px !important;
    height:72px !important;
    object-fit:contain !important;
    margin-left:-5px;
  }
  .brand{
    gap:10px !important;
  }
}

@media(max-width:900px){
  .solutions-profile-v82-photo{
    max-width:390px;
  }
}


/* v84: larger main tree + compact Fir companion links.
   Header grid/structure remains inherited from the stable v77 base. */
@media(min-width:901px){
  .brand-mark{
    width:78px !important;
    height:88px !important;
    margin-left:-12px !important;
  }
  .brand{gap:7px !important;}
  .header-inner{position:relative;}
  .fir-companion-links{
    position:absolute;
    left:calc(var(--header-side, 0px) + 190px);
    top:calc(50% + 18px);
    display:flex;
    gap:14px;
    align-items:center;
    z-index:4;
    white-space:nowrap;
  }
  .fir-companion-links a{
    display:flex;
    align-items:center;
    gap:5px;
    color:var(--fir);
    text-decoration:none;
    text-transform:uppercase;
    font-size:8px;
    font-weight:700;
    letter-spacing:.055em;
    opacity:.78;
  }
  .fir-companion-links a:hover{opacity:1;color:var(--bronze);}
  .fir-companion-links img{
    width:18px;height:18px;object-fit:contain;
    border:1px solid rgba(16,39,31,.25);
    border-radius:50%;
    padding:2px;
  }
}
@media(max-width:900px){
  .fir-companion-links{display:none;}
}


/* v85 — typography sizing only. No header layout changes. */
@media(min-width:901px){
  .family-note{
    font-size:14px !important;
    line-height:1.18 !important;
    letter-spacing:.13em !important;
  }
  .family-note span{
    font-size:15px !important;
    letter-spacing:.11em !important;
  }
  .fir-companion-links a{
    font-size:11px !important;
    letter-spacing:.045em !important;
  }
  .fir-companion-links img{
    width:21px !important;
    height:21px !important;
  }
  .main-nav a{
    font-size:15px !important;
    letter-spacing:.055em !important;
  }
  .header-cta{
    font-size:13px !important;
    letter-spacing:.075em !important;
  }
}


/* v86 — pull v85 typography back to a balanced midpoint.
   No layout, positioning, logo, hero, or content changes. */
@media(min-width:901px){
  .family-note{
    font-size:11.5px !important;
    line-height:1.16 !important;
    letter-spacing:.12em !important;
  }
  .family-note span{
    font-size:12.5px !important;
    letter-spacing:.10em !important;
  }
  .fir-companion-links a{
    font-size:9.5px !important;
    letter-spacing:.04em !important;
  }
  .fir-companion-links img{
    width:19px !important;
    height:19px !important;
  }
  .main-nav{
    gap:28px !important;
  }
  .main-nav a{
    font-size:12.5px !important;
    letter-spacing:.05em !important;
  }
  .header-cta{
    font-size:11.5px !important;
    letter-spacing:.07em !important;
  }
}


/* v87 — spacing correction only.
   Keep v86 type sizes; separate social icons from ABOUT and give nav breathing room. */
@media(min-width:901px){
  .header-social{
    margin-right:28px !important;
    gap:8px !important;
  }
  .header-social a{
    width:38px !important;
    height:38px !important;
    flex:0 0 38px !important;
  }
  .header-social svg{
    width:15px !important;
    height:15px !important;
  }
  .main-nav{
    gap:25px !important;
  }
  .main-nav a{
    font-size:12px !important;
    letter-spacing:.045em !important;
  }
  .header-cta{
    margin-left:18px !important;
  }
}


/* v88 — final desktop header balance pass.
   Preserve stable structure; adjust only proportions and spacing. */
@media(min-width:901px){
  /* Family block stays as-is from v86/v87 */
  .family-note{
    font-size:11.5px !important;
  }
  .family-note span{
    font-size:12.5px !important;
  }

  /* Companion links stay readable but compact */
  .fir-companion-links a{
    font-size:9.5px !important;
  }
  .fir-companion-links img{
    width:18px !important;
    height:18px !important;
  }

  /* Social group: visibly lighter and less dominant */
  .header-social{
    gap:7px !important;
    margin-right:34px !important;
  }
  .header-social a{
    width:34px !important;
    height:34px !important;
    flex:0 0 34px !important;
    min-width:34px !important;
    min-height:34px !important;
  }
  .header-social svg{
    width:13px !important;
    height:13px !important;
  }

  /* Nav: strong enough to read, but not crowding */
  .main-nav{
    gap:22px !important;
    margin-right:18px !important;
  }
  .main-nav a{
    font-size:11.75px !important;
    letter-spacing:.045em !important;
  }

  /* Give ABOUT a little more air after social icons */
  .main-nav a:first-child{
    margin-left:4px !important;
  }

  /* Slightly reduce CTA footprint to relieve right-side squeeze */
  .header-cta{
    padding-left:24px !important;
    padding-right:24px !important;
    font-size:11px !important;
    letter-spacing:.065em !important;
    margin-left:4px !important;
  }

  /* Phone remains visible but a touch lighter */
  .header-phone-fixed{
    font-size:13px !important;
    margin-left:18px !important;
    white-space:nowrap !important;
  }
}


/* v89 — breathing room for the two crowded text blocks only. */
@media(min-width:901px){
  .family-note{
    font-size:10.5px !important;
    line-height:1.28 !important;
    letter-spacing:.115em !important;
  }
  .family-note span{
    font-size:11.5px !important;
    line-height:1.32 !important;
    letter-spacing:.095em !important;
  }

  .header-cta{
    font-size:10.5px !important;
    letter-spacing:.055em !important;
    padding-left:30px !important;
    padding-right:30px !important;
    white-space:nowrap !important;
  }
}


/* v90 — open up family block + materially shrink CTA. Desktop only. */
@media(min-width:901px){
  .family-note{
    font-size:9.75px !important;
    line-height:1.42 !important;
    letter-spacing:.10em !important;
  }
  .family-note span{
    font-size:10.75px !important;
    line-height:1.42 !important;
    letter-spacing:.075em !important;
  }

  .header-cta{
    width:auto !important;
    min-width:0 !important;
    height:50px !important;
    min-height:50px !important;
    padding:0 20px !important;
    font-size:9.5px !important;
    line-height:1 !important;
    letter-spacing:.045em !important;
    margin-left:8px !important;
    white-space:nowrap !important;
  }
}


/* v91 — cleaner socials + correctly proportioned CTA. Desktop only. */
@media(min-width:901px){
  /* Social icons: remove circles/borders and group more tightly */
  .header-social{
    gap:16px !important;
    margin-right:34px !important;
  }
  .header-social a{
    width:22px !important;
    height:30px !important;
    min-width:22px !important;
    min-height:30px !important;
    flex:0 0 22px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  .header-social svg{
    width:15px !important;
    height:15px !important;
  }

  /* CTA: smaller overall, but text vertically centered and comfortably padded */
  .header-cta{
    width:auto !important;
    min-width:0 !important;
    height:48px !important;
    min-height:48px !important;
    padding:0 25px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:10px !important;
    line-height:1.15 !important;
    letter-spacing:.055em !important;
    white-space:nowrap !important;
  }
}


/* v92 — declutter Fir-family/social area only. Desktop layout preserved. */
@media(min-width:901px){
  /* Give the secondary company links more separation from the family label */
  .fir-companion-links{
    top:calc(50% + 27px) !important;
    gap:16px !important;
  }

  /* Make companion links clearly secondary */
  .fir-companion-links a{
    font-size:8.75px !important;
    font-weight:650 !important;
    letter-spacing:.035em !important;
    opacity:.72 !important;
  }
  .fir-companion-links img{
    width:17px !important;
    height:17px !important;
  }

  /* Create a clearer visual break before social/navigation area */
  .header-social{
    transform:translateX(18px) !important;
    gap:15px !important;
    margin-right:48px !important;
  }
}


/* v95 — restore v92 exactly, then add ONLY a modest divider.
   No HTML/header structure changes. */
@media(min-width:901px){
  /* Divider placed after the existing family area without moving its contents */
  .family-note::after{
    content:"" !important;
    position:absolute !important;
    left:calc(100% + 34px) !important;
    top:-6px !important;
    width:1px !important;
    height:66px !important;
    background:rgba(164,132,84,.34) !important;
    pointer-events:none !important;
  }
}


/* v97 — v95 restored; divider added independently so it cannot alter link layout. */
@media(min-width:901px){
  /* Remove v95's earlier divider. */
  .family-note::after{
    content:none !important;
    display:none !important;
  }

  /* Use a fixed-position pseudo-divider on the header itself.
     This does not participate in flex layout and cannot push the links downward. */
  .header-inner::after{
    content:"" !important;
    position:absolute !important;
    left:31.1% !important;
    top:31px !important;
    width:1px !important;
    height:62px !important;
    background:rgba(164,132,84,.34) !important;
    pointer-events:none !important;
    z-index:3 !important;
  }
}


/* v98 — divider refinement only. */
@media(min-width:901px){
  .header-inner::after{
    left:30.35% !important;
    top:38px !important;
    height:50px !important;
  }
}


/* v101 — divider-only correction from stable v98.
   Do not move family links, social icons, nav, CTA, or anything else. */
@media(min-width:901px){
  .header-inner::after{
    left:29.05% !important;
    top:31px !important;
    height:64px !important;
  }

  .header-social{
    transform:none !important;
  }
}


/* v102 — final micro-adjustment only:
   Fir Solutions -> divider -> Facebook -> LinkedIn -> Instagram -> YouTube.
   Preserve every other header/page position from v101. */
@media(min-width:901px){
  .header-inner::after{
    left:29.05% !important;
    top:31px !important;
    height:64px !important;
  }

  /* Shift only the social icon group enough to put Facebook clearly
     on the right side of the divider. */
  .header-social{
    transform:translateX(24px) !important;
  }
}


/* v103 — final family-area balance refinement from v102.
   Keep all major header structure intact. */
@media(min-width:901px){

  /* Move second divider slightly left. */
  .header-inner::after{
    left:28.55% !important;
    top:31px !important;
    height:64px !important;
  }

  /* Center the family heading block between the left logo divider
     and the second divider, and center it vertically in the header. */
  .family-note{
    left:15.95% !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    text-align:center !important;
    min-width:9.8% !important;
  }

  /* Keep companion links centered beneath the family heading,
     within the same divider-to-divider visual zone. */
  .fir-companion-links{
    left:14.85% !important;
    right:auto !important;
    top:auto !important;
    bottom:15px !important;
    transform:none !important;
    justify-content:center !important;
    width:13.2% !important;
  }

  /* Preserve Facebook on the right side of divider. */
  .header-social{
    transform:translateX(24px) !important;
  }
}


/* v104 — balance the family area as one visual unit between the dividers. */
@media(min-width:901px){

  /* Divider locations define the visual family zone. */
  .header-inner::after{
    left:28.55% !important;
    top:31px !important;
    height:64px !important;
  }

  /* Center the heading over the same exact midpoint as the links below. */
  .family-note{
    left:14.72% !important;
    width:13.83% !important;
    min-width:0 !important;
    top:42px !important;
    transform:none !important;
    text-align:center !important;
    margin:0 !important;
  }

  /* Make the lower row use the identical left/right boundaries.
     This is what makes the entire block visually centered. */
  .fir-companion-links{
    left:14.72% !important;
    right:auto !important;
    width:13.83% !important;
    top:auto !important;
    bottom:16px !important;
    transform:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-evenly !important;
    gap:0 !important;
    margin:0 !important;
    padding:0 5px !important;
    box-sizing:border-box !important;
  }

  .fir-companion-links a{
    margin:0 !important;
    flex:0 0 auto !important;
  }

  .header-social{
    transform:translateX(24px) !important;
  }
}


/* v105 — center family content as one unit and add social-end divider. */
@media(min-width:901px){

  /* Existing family-section right divider */
  .header-inner::after{
    left:28.55% !important;
    top:31px !important;
    height:64px !important;
  }

  /* Family zone is from 14.72% to 28.55%.
     Center the heading and companion row on the exact same midpoint. */
  .family-note{
    left:14.72% !important;
    width:13.83% !important;
    min-width:0 !important;
    top:35px !important;
    transform:none !important;
    text-align:center !important;
    margin:0 !important;
  }

  .fir-companion-links{
    left:14.72% !important;
    right:auto !important;
    width:13.83% !important;
    top:86px !important;
    bottom:auto !important;
    transform:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:28px !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    line-height:1 !important;
  }

  .fir-companion-links a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    margin:0 !important;
    padding:0 !important;
    flex:0 0 auto !important;
    line-height:1 !important;
  }

  .fir-companion-links img{
    display:block !important;
    margin:0 !important;
    vertical-align:middle !important;
  }

  /* Preserve social placement from v104, then add a divider after YouTube. */
  .header-social{
    transform:translateX(24px) !important;
    position:relative !important;
    padding-right:28px !important;
  }

  .header-social::after{
    content:"" !important;
    position:absolute !important;
    right:0 !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:1px !important;
    height:64px !important;
    background:rgba(164,132,84,.34) !important;
    pointer-events:none !important;
  }
}


/* =========================================================
   v107 — precise centering of the two header zones.
   Base is v105 so nav remains intact.
   ========================================================= */
@media(min-width:901px){

  /* FAMILY ZONE:
     left divider = existing divider after Fir Law Group
     right divider = .header-inner::after
     Center heading and links on the same midpoint. */

  .header-inner::after{
    left:28.55% !important;
    top:31px !important;
    height:64px !important;
  }

  .family-note{
    left:14.95% !important;
    width:13.10% !important;
    min-width:0 !important;
    top:38px !important;
    transform:none !important;
    text-align:center !important;
    margin:0 !important;
  }

  .fir-companion-links{
    left:14.95% !important;
    width:13.10% !important;
    top:88px !important;
    bottom:auto !important;
    transform:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:26px !important;
    margin:0 !important;
    padding:0 !important;
  }

  .fir-companion-links a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1 !important;
  }

  /* SOCIAL ZONE:
     keep its natural layout so ABOUT does not move.
     Center icons visually between family divider and social-end divider. */

  .header-social{
    position:relative !important;
    transform:none !important;
    margin-left:24px !important;
    margin-right:42px !important;
    padding-right:30px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:18px !important;
  }

  .header-social::after{
    content:"" !important;
    position:absolute !important;
    right:0 !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:1px !important;
    height:64px !important;
    background:rgba(164,132,84,.34) !important;
  }
}


/* =========================================================
   v108 — clean desktop header redesign.
   Three visual groups: Brand | Fir Group family | Utilities/nav
   ========================================================= */

@media(min-width:901px){
  .site-header{
    background:#f8f4ed !important;
    border-bottom:1px solid rgba(13,48,39,.10) !important;
    position:relative !important;
    z-index:50 !important;
  }

  .header-inner{
    display:grid !important;
    grid-template-columns:300px 330px minmax(0,1fr) !important;
    align-items:center !important;
    gap:0 !important;
    min-height:126px !important;
    padding:0 26px !important;
    position:relative !important;
    overflow:visible !important;
  }

  .header-left-v108,
  .header-family-v108,
  .header-right-v108{
    min-width:0 !important;
  }

  .header-left-v108{
    height:88px !important;
    display:flex !important;
    align-items:center !important;
    border-right:1px solid rgba(164,132,84,.35) !important;
    padding-right:28px !important;
  }

  .brand-v108{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    text-decoration:none !important;
    color:var(--fir) !important;
    border-right:0 !important;
    padding-right:0 !important;
  }

  .brand-v108 .brand-mark{
    width:84px !important;
    height:92px !important;
    object-fit:contain !important;
    margin:0 !important;
  }

  .brand-v108 .brand-text{
    display:flex !important;
    flex-direction:column !important;
    line-height:.82 !important;
  }

  .brand-v108 .brand-text strong{
    font:400 54px/.84 var(--serif) !important;
    letter-spacing:.015em !important;
  }

  .brand-v108 .brand-text small{
    font-size:14px !important;
    letter-spacing:.18em !important;
    margin-top:11px !important;
    font-weight:700 !important;
  }

  .header-family-v108{
    height:88px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    border-right:1px solid rgba(164,132,84,.35) !important;
    padding:0 28px !important;
    box-sizing:border-box !important;
  }

  .family-note-v108{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-decoration:none !important;
    color:var(--fir) !important;
    text-align:center !important;
    margin-bottom:13px !important;
  }

  .family-kicker-v108{
    font-size:11px !important;
    line-height:1 !important;
    letter-spacing:.13em !important;
    text-transform:uppercase !important;
    color:#3c413b !important;
    margin-bottom:7px !important;
  }

  .family-note-v108 strong{
    font-size:13px !important;
    line-height:1 !important;
    letter-spacing:.10em !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
  }

  .family-links-v108{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:24px !important;
    white-space:nowrap !important;
  }

  .family-links-v108 a{
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;
    text-decoration:none !important;
    color:#56645f !important;
    font-size:9.5px !important;
    font-weight:700 !important;
    letter-spacing:.035em !important;
    text-transform:uppercase !important;
  }

  .family-links-v108 img{
    width:18px !important;
    height:18px !important;
    border:1px solid rgba(13,48,39,.20) !important;
    border-radius:50% !important;
    padding:2px !important;
    box-sizing:border-box !important;
  }

  .header-right-v108{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:24px !important;
    padding-left:28px !important;
  }

  .header-social-v108{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;
    padding-right:24px !important;
    border-right:1px solid rgba(164,132,84,.35) !important;
    flex:0 0 auto !important;
  }

  .header-social-v108 a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:20px !important;
    height:26px !important;
    color:var(--fir) !important;
    text-decoration:none !important;
  }

  .header-social-v108 svg{
    width:14px !important;
    height:14px !important;
    fill:currentColor !important;
  }

  .main-nav-v108{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:24px !important;
    white-space:nowrap !important;
    flex:1 1 auto !important;
  }

  .main-nav-v108 a{
    color:var(--char) !important;
    text-decoration:none !important;
    text-transform:uppercase !important;
    font-size:11.5px !important;
    font-weight:700 !important;
    letter-spacing:.05em !important;
  }

  .main-nav-v108 a:hover{
    color:var(--bronze) !important;
  }

  .header-cta-v108{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:46px !important;
    padding:0 22px !important;
    background:var(--fir) !important;
    color:#fff !important;
    text-decoration:none !important;
    text-transform:uppercase !important;
    font-size:9.5px !important;
    letter-spacing:.055em !important;
    white-space:nowrap !important;
    flex:0 0 auto !important;
  }

  .header-phone-v108{
    color:#39504a !important;
    text-decoration:none !important;
    font-size:12.5px !important;
    white-space:nowrap !important;
    flex:0 0 auto !important;
  }

  /* Hide old desktop header pieces if any legacy rules remain */
  .header-social,
  .main-nav,
  .header-cta,
  .header-phone-fixed,
  .family-note,
  .fir-companion-links{
    display:none !important;
  }

  .menu-button{
    display:none !important;
  }
}

@media(min-width:901px) and (max-width:1550px){
  .header-inner{
    grid-template-columns:270px 300px minmax(0,1fr) !important;
    padding:0 18px !important;
  }
  .header-right-v108{gap:18px !important;padding-left:22px !important;}
  .main-nav-v108{gap:17px !important;}
  .main-nav-v108 a{font-size:10.5px !important;}
  .header-social-v108{gap:12px !important;padding-right:18px !important;}
  .header-cta-v108{padding:0 18px !important;font-size:9px !important;}
  .header-phone-v108{font-size:11.5px !important;}
}

@media(max-width:900px){
  .header-left-v108,
  .header-family-v108,
  .header-right-v108{
    display:none !important;
  }
}


/* =========================================================
   v109 — rebalance the clean v108 desktop header.
   Keep structure; fix widths and spacing only.
   ========================================================= */
@media(min-width:901px){

  .header-inner{
    grid-template-columns:300px 300px minmax(0,1fr) !important;
    min-height:124px !important;
    padding:0 24px !important;
  }

  .header-left-v108{
    height:86px !important;
    padding-right:24px !important;
  }

  .header-family-v108{
    height:86px !important;
    padding:0 22px !important;
  }

  .family-note-v108{
    margin-bottom:11px !important;
  }

  .family-kicker-v108{
    font-size:10.5px !important;
    margin-bottom:6px !important;
  }

  .family-note-v108 strong{
    font-size:12.25px !important;
  }

  .family-links-v108{
    gap:22px !important;
  }

  .family-links-v108 a{
    font-size:9px !important;
  }

  .header-right-v108{
    display:grid !important;
    grid-template-columns:118px minmax(520px,1fr) max-content max-content !important;
    align-items:center !important;
    column-gap:22px !important;
    padding-left:24px !important;
  }

  .header-social-v108{
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    align-items:center !important;
    justify-items:center !important;
    gap:0 !important;
    width:118px !important;
    padding:0 22px 0 0 !important;
    margin:0 !important;
    border-right:1px solid rgba(164,132,84,.35) !important;
    box-sizing:border-box !important;
  }

  .header-social-v108 a{
    width:22px !important;
    height:28px !important;
  }

  .header-social-v108 svg{
    width:14px !important;
    height:14px !important;
  }

  .main-nav-v108{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:23px !important;
    min-width:0 !important;
  }

  .main-nav-v108 a{
    font-size:11px !important;
    letter-spacing:.045em !important;
  }

  .header-cta-v108{
    height:44px !important;
    padding:0 20px !important;
    font-size:9.25px !important;
  }

  .header-phone-v108{
    font-size:12px !important;
  }
}

/* Common laptop widths: preserve clean separation without collision */
@media(min-width:901px) and (max-width:1600px){
  .header-inner{
    grid-template-columns:275px 280px minmax(0,1fr) !important;
    padding:0 18px !important;
  }

  .header-right-v108{
    grid-template-columns:105px minmax(470px,1fr) max-content max-content !important;
    column-gap:16px !important;
    padding-left:20px !important;
  }

  .header-social-v108{
    width:105px !important;
    padding-right:16px !important;
  }

  .main-nav-v108{
    gap:17px !important;
  }

  .main-nav-v108 a{
    font-size:10.25px !important;
  }

  .header-cta-v108{
    padding:0 17px !important;
    font-size:8.9px !important;
  }

  .header-phone-v108{
    font-size:11px !important;
  }
}


/* =========================================================
   v110 — clean six-column desktop header
   ========================================================= */
@media(min-width:1250px){
  .site-header{
    background:#f8f4ed !important;
    border-bottom:1px solid rgba(13,48,39,.10) !important;
    position:relative !important;
    z-index:50 !important;
  }

  .header-inner{
    display:grid !important;
    grid-template-columns:300px 320px 110px minmax(560px,1fr) 235px 135px !important;
    align-items:center !important;
    column-gap:20px !important;
    width:100% !important;
    min-height:128px !important;
    padding:0 24px !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }

  .v110-brand{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    height:90px !important;
    padding-right:24px !important;
    border-right:1px solid rgba(164,132,84,.35) !important;
    color:var(--fir) !important;
    text-decoration:none !important;
  }
  .v110-brand img{
    width:82px !important;
    height:92px !important;
    object-fit:contain !important;
  }
  .v110-brand span{
    display:flex !important;
    flex-direction:column !important;
    line-height:.82 !important;
  }
  .v110-brand strong{
    font:400 54px/.84 var(--serif) !important;
    letter-spacing:.015em !important;
  }
  .v110-brand small{
    margin-top:11px !important;
    font-size:14px !important;
    font-weight:700 !important;
    letter-spacing:.18em !important;
  }

  .v110-family{
    height:90px !important;
    padding:0 26px !important;
    border-right:1px solid rgba(164,132,84,.35) !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    box-sizing:border-box !important;
  }
  .v110-family-title{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    text-align:center !important;
    text-decoration:none !important;
    color:var(--fir) !important;
    margin-bottom:13px !important;
  }
  .v110-family-title span{
    font-size:10.5px !important;
    letter-spacing:.13em !important;
    text-transform:uppercase !important;
    color:#3c413b !important;
    margin-bottom:6px !important;
  }
  .v110-family-title strong{
    font-size:12.5px !important;
    line-height:1 !important;
    letter-spacing:.10em !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
  }
  .v110-family-links{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:24px !important;
    white-space:nowrap !important;
  }
  .v110-family-links a{
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;
    color:#59655f !important;
    text-decoration:none !important;
    text-transform:uppercase !important;
    font-size:9px !important;
    font-weight:700 !important;
    letter-spacing:.035em !important;
  }
  .v110-family-links img{
    width:18px !important;
    height:18px !important;
    padding:2px !important;
    box-sizing:border-box !important;
    border:1px solid rgba(13,48,39,.18) !important;
    border-radius:50% !important;
  }

  .v110-social{
    height:64px !important;
    padding-right:18px !important;
    border-right:1px solid rgba(164,132,84,.35) !important;
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    align-items:center !important;
    justify-items:center !important;
  }
  .v110-social a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:20px !important;
    height:28px !important;
    color:var(--fir) !important;
  }
  .v110-social svg{
    width:14px !important;
    height:14px !important;
    fill:currentColor !important;
  }

  .v110-nav{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
    min-width:0 !important;
    white-space:nowrap !important;
  }
  .v110-nav a{
    color:var(--char) !important;
    text-decoration:none !important;
    text-transform:uppercase !important;
    font-size:11px !important;
    font-weight:700 !important;
    letter-spacing:.045em !important;
  }

  .v110-cta{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:46px !important;
    padding:0 20px !important;
    background:var(--fir) !important;
    color:#fff !important;
    text-decoration:none !important;
    text-transform:uppercase !important;
    font-size:9.5px !important;
    letter-spacing:.055em !important;
    white-space:nowrap !important;
  }

  .v110-phone{
    color:#39504a !important;
    text-decoration:none !important;
    font-size:12px !important;
    white-space:nowrap !important;
    text-align:right !important;
  }

  .menu-button{display:none !important;}

  /* suppress old desktop header elements if legacy CSS still references them */
  .brand,.family-note,.fir-companion-links,.header-social,.main-nav,.header-cta,.header-phone-fixed,
  .header-left-v108,.header-family-v108,.header-right-v108{
    display:none !important;
  }
}

@media(min-width:1250px) and (max-width:1800px){
  .header-inner{
    grid-template-columns:265px 285px 95px minmax(480px,1fr) 205px 120px !important;
    column-gap:14px !important;
    padding:0 18px !important;
  }
  .v110-brand img{width:72px !important;height:82px !important;}
  .v110-brand strong{font-size:48px !important;}
  .v110-brand small{font-size:12px !important;}
  .v110-family{padding:0 18px !important;}
  .v110-family-title strong{font-size:11.5px !important;}
  .v110-family-links{gap:18px !important;}
  .v110-family-links a{font-size:8.5px !important;}
  .v110-social{padding-right:13px !important;}
  .v110-nav{gap:13px !important;}
  .v110-nav a{font-size:10px !important;}
  .v110-cta{padding:0 16px !important;font-size:8.8px !important;}
  .v110-phone{font-size:11px !important;}
}

@media(max-width:1249px){
  .v110-brand,.v110-family,.v110-social,.v110-nav,.v110-cta,.v110-phone{
    display:none !important;
  }
}


/* v111 — remove only the stray divider running through the family block.
   Keep the intended divider at the right edge of the family section. */
@media(min-width:1250px){
  .v110-family::before,
  .v110-family::after,
  .v110-family-title::before,
  .v110-family-title::after,
  .v110-family-links::before,
  .v110-family-links::after{
    content:none !important;
    display:none !important;
    border:0 !important;
  }

  .v110-family{
    background-image:none !important;
  }
}


/* v112 — remove the ACTUAL legacy pseudo-divider.
   v110 uses real borders on the brand/family/social columns,
   so old header-inner pseudo-elements are no longer needed. */
@media(min-width:1250px){
  .header-inner::before,
  .header-inner::after{
    content:none !important;
    display:none !important;
    width:0 !important;
    height:0 !important;
    background:none !important;
    border:0 !important;
  }
}

/* v113: slightly larger nav; smaller CTA; move CTA/right side right */
@media(min-width:1250px){
 .header-inner{grid-template-columns:300px 320px 110px minmax(610px,1fr) 205px 125px!important;column-gap:18px!important}
 .v110-nav{gap:20px!important}
 .v110-nav a{font-size:12.5px!important;letter-spacing:.045em!important}
 .v110-cta{width:205px!important;height:40px!important;padding:0 12px!important;box-sizing:border-box!important;font-size:9px!important;letter-spacing:.05em!important;justify-self:end!important}
 .v110-phone{justify-self:end!important}
}
@media(min-width:1250px) and (max-width:1800px){
 .header-inner{grid-template-columns:265px 285px 95px minmax(520px,1fr) 190px 112px!important;column-gap:13px!important}
 .v110-nav{gap:15px!important}
 .v110-nav a{font-size:11.25px!important}
 .v110-cta{width:190px!important;height:40px!important;padding:0 10px!important;font-size:8.5px!important}
}

/* v114 — surgical CTA refinement only */
@media(min-width:1250px){
  .header-inner{
    grid-template-columns:300px 320px 110px minmax(610px,1fr) 180px 125px!important;
  }
  .v110-cta{
    width:180px!important;
    height:36px!important;
    padding:0 9px!important;
    font-size:10px!important;
    letter-spacing:.035em!important;
  }
}
@media(min-width:1250px) and (max-width:1800px){
  .header-inner{
    grid-template-columns:265px 285px 95px minmax(520px,1fr) 172px 112px!important;
  }
  .v110-cta{
    width:172px!important;
    height:36px!important;
    padding:0 8px!important;
    font-size:9.4px!important;
    letter-spacing:.03em!important;
  }
}

/* v115 — compact bold CTA and bring phone back toward it */
@media(min-width:1250px){
  .header-inner{
    grid-template-columns:300px 320px 110px minmax(610px,1fr) 155px 120px!important;
    column-gap:14px!important;
  }
  .v110-cta{
    width:155px!important;
    height:32px!important;
    padding:0 8px!important;
    font-size:9.5px!important;
    font-weight:700!important;
    letter-spacing:.025em!important;
    justify-self:end!important;
  }
  .v110-phone{
    justify-self:start!important;
    margin-left:2px!important;
  }
}
@media(min-width:1250px) and (max-width:1800px){
  .header-inner{
    grid-template-columns:265px 285px 95px minmax(520px,1fr) 150px 112px!important;
    column-gap:12px!important;
  }
  .v110-cta{
    width:150px!important;
    height:32px!important;
    padding:0 7px!important;
    font-size:9px!important;
    font-weight:700!important;
    letter-spacing:.02em!important;
  }
  .v110-phone{
    justify-self:start!important;
    margin-left:0!important;
  }
}

/* v116 — smaller CTA, larger/roomier phone */
@media(min-width:1250px){
  .header-inner{
    grid-template-columns:300px 320px 110px minmax(610px,1fr) 140px 145px!important;
    column-gap:16px!important;
  }
  .v110-cta{
    width:140px!important;
    height:30px!important;
    padding:0 6px!important;
    font-size:8.8px!important;
    font-weight:700!important;
    letter-spacing:.015em!important;
  }
  .v110-phone{
    width:145px!important;
    font-size:14px!important;
    letter-spacing:.025em!important;
    line-height:1.2!important;
    justify-self:start!important;
    margin-left:4px!important;
    text-align:left!important;
  }
}
@media(min-width:1250px) and (max-width:1800px){
  .header-inner{
    grid-template-columns:265px 285px 95px minmax(520px,1fr) 136px 138px!important;
    column-gap:14px!important;
  }
  .v110-cta{
    width:136px!important;
    height:30px!important;
    padding:0 5px!important;
    font-size:8.4px!important;
    font-weight:700!important;
    letter-spacing:.01em!important;
  }
  .v110-phone{
    width:138px!important;
    font-size:13px!important;
    letter-spacing:.02em!important;
    margin-left:3px!important;
  }
}

/* v117 — stack phone directly under consultation button */
@media(min-width:1250px){
  .header-inner{
    grid-template-columns:300px 320px 110px minmax(610px,1fr) 170px!important;
    column-gap:18px!important;
  }
  .v117-contact{
    width:170px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    justify-self:end!important;
  }
  .v110-cta{
    width:150px!important;
    height:31px!important;
    padding:0 7px!important;
    font-size:9px!important;
    font-weight:700!important;
    letter-spacing:.015em!important;
    justify-self:auto!important;
  }
  .v110-phone{
    width:auto!important;
    margin:0!important;
    padding:0!important;
    font-size:13.5px!important;
    letter-spacing:.025em!important;
    line-height:1!important;
    text-align:center!important;
    justify-self:auto!important;
  }
}
@media(min-width:1250px) and (max-width:1800px){
  .header-inner{
    grid-template-columns:265px 285px 95px minmax(520px,1fr) 165px!important;
    column-gap:14px!important;
  }
  .v117-contact{width:165px!important;gap:8px!important}
  .v110-cta{width:146px!important;height:30px!important;font-size:8.7px!important}
  .v110-phone{font-size:13px!important}
}
@media(max-width:1249px){
  .v117-contact{display:none!important}
}

/* v118 — clean header: CTA only; phone remains in site contact/footer */
@media(min-width:1250px){
  .header-inner{
    grid-template-columns:300px 320px 110px minmax(610px,1fr) 165px!important;
    column-gap:18px!important;
  }
  .v117-contact{
    width:165px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    justify-self:end!important;
  }
  .v110-cta{
    width:155px!important;
    height:32px!important;
    padding:0 8px!important;
    font-size:9.4px!important;
    font-weight:700!important;
    letter-spacing:.02em!important;
  }
}
@media(min-width:1250px) and (max-width:1800px){
  .header-inner{
    grid-template-columns:265px 285px 95px minmax(520px,1fr) 160px!important;
    column-gap:14px!important;
  }
  .v117-contact{width:160px!important}
  .v110-cta{width:150px!important;height:31px!important;font-size:9px!important}
}


/* v119 — final header polish only */
@media(min-width:1250px){
  /* 1) Slightly larger primary nav */
  .v110-nav a{
    font-size:11.75px!important;
    letter-spacing:.045em!important;
  }

  /* 2) Give social block a little more breathing room */
  .header-inner{
    grid-template-columns:300px 320px 122px minmax(610px,1fr) 165px!important;
    column-gap:18px!important;
  }
  .v110-social{
    padding-right:16px!important;
  }

  /* 3) Slightly taller CTA with a touch more font presence, same compact width */
  .v110-cta{
    width:155px!important;
    height:35px!important;
    font-size:9.8px!important;
    font-weight:700!important;
    letter-spacing:.02em!important;
  }

  /* 4) Make vertical separators more subtle */
  .v110-brand,
  .v110-family,
  .v110-social{
    border-right-color:rgba(164,132,84,.25)!important;
  }
}

@media(min-width:1250px) and (max-width:1800px){
  .header-inner{
    grid-template-columns:265px 285px 108px minmax(520px,1fr) 160px!important;
    column-gap:14px!important;
  }
  .v110-nav a{
    font-size:10.75px!important;
  }
  .v110-cta{
    width:150px!important;
    height:34px!important;
    font-size:9.3px!important;
  }
}


/* v121 — mobile layout repair. Desktop untouched. */
@media (max-width: 767px) {
  html, body {
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  /* Compact mobile header */
  .site-header, header {
    min-height:0!important;
  }
  .header-inner {
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    display:block!important;
    padding:18px 22px!important;
    box-sizing:border-box!important;
  }
  .v110-brand,
  .v110-family,
  .v110-social,
  .v110-nav,
  .v117-contact {
    display:none!important;
  }
  .mobile-menu-toggle,
  .menu-toggle,
  button[aria-label*="Menu"],
  button[aria-label*="menu"] {
    display:flex!important;
    width:158px!important;
    max-width:calc(100vw - 44px)!important;
    height:48px!important;
    margin:0!important;
    align-items:center!important;
    justify-content:center!important;
  }

  /* Hero remains full width and proportionate */
  .hero, .hero-section {
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }

  /* Repair all two-column/profile layouts on phones */
  .team-member,
  .team-profile,
  .attorney-profile,
  .bio-row,
  .bio-grid,
  .profile-grid,
  .person-grid,
  .rick-profile,
  .solutions-profile {
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:1fr!important;
    gap:24px!important;
  }

  .team-member > *,
  .team-profile > *,
  .attorney-profile > *,
  .bio-row > *,
  .bio-grid > *,
  .profile-grid > *,
  .person-grid > *,
  .rick-profile > *,
  .solutions-profile > * {
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }

  /* General section/container safety */
  main section,
  .section,
  .container,
  .content,
  .content-inner {
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  /* Images should never force a desktop-width column */
  main img {
    max-width:100%!important;
    height:auto!important;
  }

  /* Bio copy must occupy normal full-width lines */
  .bio,
  .bio-copy,
  .profile-copy,
  .team-copy,
  .person-copy,
  .rick-bio,
  .solutions-bio {
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
  .bio p,
  .bio-copy p,
  .profile-copy p,
  .team-copy p,
  .person-copy p,
  .rick-bio p,
  .solutions-bio p {
    width:auto!important;
    max-width:none!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
}


/* =========================================================
   v124 — exact mobile repair for Rick W Adams / Fir Solutions
   ========================================================= */
@media (max-width: 900px) {
  .solutions-profile-v82.section-shell,
  .solutions-profile-v82 {
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:none !important;
    grid-template-rows:none !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    gap:30px !important;
    padding:56px 24px !important;
    margin:0 auto !important;
    box-sizing:border-box !important;
    align-items:stretch !important;
    overflow:visible !important;
  }

  .solutions-profile-v82-photo {
    order:1 !important;
    position:relative !important;
    display:block !important;
    width:100% !important;
    max-width:340px !important;
    min-width:0 !important;
    margin:0 auto !important;
    box-sizing:border-box !important;
  }

  .solutions-profile-v82-photo img {
    display:block !important;
    width:100% !important;
    max-width:340px !important;
    min-width:0 !important;
    height:auto !important;
    aspect-ratio:1 / 1 !important;
    object-fit:cover !important;
    object-position:center 20% !important;
    margin:0 auto !important;
    box-sizing:border-box !important;
  }

  .solutions-profile-v82-photo::after {
    inset:10px -10px -10px 10px !important;
  }

  .solutions-profile-v82-copy {
    order:2 !important;
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    white-space:normal !important;
  }

  .solutions-profile-v82-copy h2,
  .solutions-profile-v82-copy .eyebrow,
  .solutions-profile-v82-role,
  .solutions-profile-v82-copy p,
  .solutions-profile-v82-link {
    width:auto !important;
    max-width:100% !important;
    min-width:0 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }

  .solutions-profile-v82-copy h2 {
    font-size:42px !important;
    line-height:1.05 !important;
  }

  .solutions-profile-v82-copy p {
    font-size:17px !important;
    line-height:1.65 !important;
  }

  .solutions-profile-v82-role {
    font-size:15px !important;
    line-height:1.45 !important;
  }

  html, body {
    overflow-x:hidden !important;
  }
}

/* v125: refined proportions for Rick's mobile profile only */
@media (max-width: 900px) {
  .solutions-profile-v82.section-shell,
  .solutions-profile-v82 {
    gap:24px !important;
    padding:48px 26px !important;
  }

  .solutions-profile-v82-photo {
    max-width:285px !important;
  }

  .solutions-profile-v82-photo img {
    max-width:285px !important;
  }

  .solutions-profile-v82-copy h2 {
    font-size:32px !important;
    line-height:1.08 !important;
    margin-bottom:8px !important;
  }

  .solutions-profile-v82-copy .eyebrow {
    font-size:12px !important;
    letter-spacing:.14em !important;
  }

  .solutions-profile-v82-role {
    font-size:14px !important;
    line-height:1.4 !important;
  }

  .solutions-profile-v82-copy p {
    font-size:16px !important;
    line-height:1.6 !important;
  }

  .solutions-profile-v82-link {
    font-size:14px !important;
  }
}

/* v126 — make Rick's mobile card visually match the attorney cards */
@media (max-width: 900px) {
  .solutions-profile-v82.section-shell,
  .solutions-profile-v82 {
    gap:20px !important;
    padding:44px 28px !important;
  }

  .solutions-profile-v82-photo {
    width:72% !important;
    max-width:225px !important;
    margin:0 auto !important;
  }

  .solutions-profile-v82-photo img {
    width:100% !important;
    max-width:225px !important;
    height:auto !important;
    aspect-ratio:1 / 1 !important;
  }

  .solutions-profile-v82-photo::after {
    inset:8px -8px -8px 8px !important;
  }

  .solutions-profile-v82-copy h2 {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size:29px !important;
    font-weight:400 !important;
    line-height:1.12 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
    margin:0 0 7px !important;
  }

  .solutions-profile-v82-copy .eyebrow {
    font-size:11px !important;
    font-weight:600 !important;
    letter-spacing:.14em !important;
  }

  .solutions-profile-v82-role {
    font-size:13px !important;
    font-weight:500 !important;
    line-height:1.4 !important;
  }

  .solutions-profile-v82-copy p {
    font-size:15px !important;
    font-weight:400 !important;
    line-height:1.6 !important;
  }

  .solutions-profile-v82-link {
    font-size:13px !important;
  }
}

/* v127 — make Rick's profile typography/photo match Josh's visual treatment */
.solutions-profile-v82-photo {
  max-width:380px !important;
  width:100% !important;
}
.solutions-profile-v82-photo img {
  width:100% !important;
  max-width:380px !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
}
.solutions-profile-v82-copy h2 {
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size:58px !important;
  font-weight:400 !important;
  line-height:1.05 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
@media (max-width: 900px) {
  .solutions-profile-v82-photo {
    width:100% !important;
    max-width:245px !important;
    margin:0 auto !important;
  }
  .solutions-profile-v82-photo img {
    max-width:245px !important;
  }
  .solutions-profile-v82-copy h2 {
    font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
    font-size:36px !important;
    font-weight:400 !important;
    line-height:1.08 !important;
    letter-spacing:0 !important;
  }
}

/* v128 — unify Joshua Cook and Rick W Adams name treatment with Tony Aiello, Jr. */
.team-member h2,
.paralegal-profile h2,
.solutions-profile-v82-copy h2 {
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-weight:400 !important;
  font-style:normal !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

/* Desktop: same restrained name scale as Tony's profile heading */
.paralegal-profile h2,
.solutions-profile-v82-copy h2 {
  font-size:42px !important;
  line-height:1.08 !important;
}

/* Preserve consistent mobile hierarchy */
@media (max-width:900px) {
  .paralegal-profile h2,
  .solutions-profile-v82-copy h2 {
    font-size:34px !important;
    line-height:1.08 !important;
    font-weight:400 !important;
  }
}

.footer-phone-v130,.footer-phone-only-v130 a{display:inline-block;color:inherit;text-decoration:none;font-size:18px;letter-spacing:.03em;white-space:nowrap}
.footer-phone-v130{margin-top:12px}.footer-phone-only-v130{padding:28px;text-align:center}
@media(max-width:700px){.footer-phone-v130,.footer-phone-only-v130 a{font-size:17px}}

/* v131 — phone belongs in the footer contact/address column */
.footer-phone-v130 { display:none !important; }
.footer-phone-v131 {
  display:block !important;
  margin-top:8px !important;
  color:inherit !important;
  text-decoration:none !important;
  font:inherit !important;
  letter-spacing:inherit !important;
  white-space:nowrap !important;
}

/* v132 — Rick photo should match Joshua Cook's profile scale */
.solutions-profile-v82-photo {
  width:100% !important;
  max-width:340px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.solutions-profile-v82-photo img {
  display:block !important;
  width:100% !important;
  max-width:340px !important;
  height:auto !important;
  object-fit:cover !important;
}
@media (max-width:900px) {
  .solutions-profile-v82-photo,
  .solutions-profile-v82-photo img {
    max-width:220px !important;
  }
}

/* v134 — crisp live mobile copy over the approved sunset crop.
   The approved desktop hero artwork remains untouched. */
.hero-mobile-v134 {
  display:none;
}

@media (max-width:900px) {
  .hero-v69-locked > img {
    display:none !important;
  }

  .hero-mobile-v134 {
    display:block;
    position:relative;
    width:100%;
    height:100%;
    overflow:hidden;
    line-height:normal;
    isolation:isolate;
  }

  .hero-mobile-v134 > img {
    display:block !important;
    position:absolute;
    z-index:-2;
    inset:0;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    margin:0 !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  .hero-mobile-v134::after {
    content:"";
    position:absolute;
    z-index:-1;
    inset:0;
    background:linear-gradient(180deg,
      rgba(5,22,17,0) 8%,
      rgba(5,22,17,.08) 34%,
      rgba(5,22,17,.54) 62%,
      rgba(5,22,17,.84) 100%);
    pointer-events:none;
  }

  .hero-mobile-v134-copy {
    position:absolute;
    z-index:1;
    left:24px;
    right:22px;
    bottom:25px;
    color:#f8f4ed;
    text-align:left;
  }

  .hero-mobile-v134-copy h1 {
    max-width:340px;
    margin:0;
    color:inherit;
    font:400 clamp(29px,7.8vw,34px)/1.06 Georgia,"Times New Roman",serif;
    letter-spacing:-.012em;
    text-shadow:0 1px 3px rgba(5,22,17,.44);
  }

  .hero-mobile-v134-copy h1 span {
    display:block;
  }

  .hero-mobile-v134-rule {
    display:block;
    width:54px;
    height:3px;
    margin:13px 0 12px;
    background:#d8b070;
  }

  .hero-mobile-v134-copy p {
    max-width:325px;
    margin:0;
    color:inherit;
    font-size:12px;
    font-weight:400;
    line-height:1.48;
    letter-spacing:.005em;
    text-shadow:0 1px 3px rgba(5,22,17,.52);
  }
}

/* v133 — mobile-only header and hero refinement.
   Desktop and all page content below the hero remain unchanged. */
@media (max-width:900px) {
  .site-header {
    min-height:0 !important;
    background:#f8f4ed !important;
  }

  .header-inner {
    width:100% !important;
    min-height:96px !important;
    height:96px !important;
    padding:12px 22px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
    box-sizing:border-box !important;
  }

  .v110-brand {
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    min-width:0 !important;
    color:var(--fir) !important;
    text-decoration:none !important;
  }

  .v110-brand img {
    display:block !important;
    width:48px !important;
    height:62px !important;
    object-fit:contain !important;
    flex:0 0 auto !important;
  }

  .v110-brand span {
    display:flex !important;
    flex-direction:column !important;
    line-height:.82 !important;
  }

  .v110-brand strong {
    font:400 34px/.84 var(--serif) !important;
    letter-spacing:.015em !important;
  }

  .v110-brand small {
    margin-top:8px !important;
    font-size:9px !important;
    font-weight:700 !important;
    letter-spacing:.17em !important;
    white-space:nowrap !important;
  }

  .header-inner .menu-button {
    display:grid !important;
    place-items:center !important;
    flex:0 0 48px !important;
    width:48px !important;
    min-width:48px !important;
    max-width:48px !important;
    height:48px !important;
    min-height:48px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    color:var(--fir) !important;
    cursor:pointer !important;
  }

  .menu-button span {
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;
    border:0 !important;
  }

  .menu-button::before {
    content:"" !important;
    display:block !important;
    width:34px !important;
    height:24px !important;
    background:linear-gradient(to bottom,
      currentColor 0 3px,
      transparent 3px 10px,
      currentColor 10px 13px,
      transparent 13px 21px,
      currentColor 21px 24px) !important;
  }

  .menu-button::after {
    content:none !important;
  }

  .menu-button[aria-expanded="true"]::before {
    content:"\00d7" !important;
    width:auto !important;
    height:auto !important;
    background:none !important;
    font:400 42px/1 Arial,sans-serif !important;
  }

  .hero-v69-locked {
    width:100% !important;
    height:clamp(325px,92vw,390px) !important;
    overflow:hidden !important;
    background:#efe8df !important;
  }

  .hero-v69-locked img {
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    margin:0 !important;
    object-fit:cover !important;
    object-position:left center !important;
  }
}

/* v135 — final mobile precedence fixes only.
   1) Ensure the sunset hero wins over the legacy mobile hero rule above.
   2) Match Rick's mobile photo width to Joshua Cook's mobile photo width. */
@media (max-width:900px) {
  .hero-v69-locked > img {
    display:none !important;
  }

  .hero-v69-locked > .hero-mobile-v134 {
    display:block !important;
    width:100% !important;
    height:100% !important;
  }

  .hero-v69-locked > .hero-mobile-v134 > img {
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  .solutions-profile-v82-photo {
    width:min(76vw,340px) !important;
    max-width:340px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .solutions-profile-v82-photo img {
    width:100% !important;
    max-width:340px !important;
    height:auto !important;
  }
}

/* v136 — simplified Fir Forensics-style desktop header only.
   Mobile header, hero, page content, and footer remain unchanged. */
@media (min-width:1250px) {
  .site-header {
    min-height:126px !important;
    background:#f8f4ed !important;
    border-top:1px solid rgba(16,39,31,.12) !important;
    border-bottom:1px solid rgba(16,39,31,.16) !important;
    position:relative !important;
  }

  .header-inner {
    width:min(calc(100% - 64px),1640px) !important;
    min-height:126px !important;
    height:126px !important;
    margin:0 auto !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:minmax(285px,340px) minmax(215px,275px) minmax(0,1fr) 220px !important;
    column-gap:28px !important;
    align-items:center !important;
    overflow:visible !important;
  }

  .header-inner::before,
  .header-inner::after {
    content:none !important;
    display:none !important;
  }

  .v110-brand {
    display:flex !important;
    align-items:center !important;
    gap:16px !important;
    width:100% !important;
    height:78px !important;
    margin:0 !important;
    padding:0 30px 0 0 !important;
    border-right:1px solid rgba(16,39,31,.18) !important;
    box-sizing:border-box !important;
    color:var(--fir) !important;
    text-decoration:none !important;
  }

  .v110-brand img {
    display:block !important;
    width:78px !important;
    height:78px !important;
    object-fit:contain !important;
    flex:0 0 78px !important;
  }

  .v110-brand span {
    display:flex !important;
    flex-direction:column !important;
    line-height:.82 !important;
  }

  .v110-brand strong {
    font:400 54px/.82 var(--serif) !important;
    letter-spacing:.01em !important;
  }

  .v110-brand small {
    margin-top:11px !important;
    font-size:13px !important;
    font-weight:700 !important;
    letter-spacing:.18em !important;
    white-space:nowrap !important;
  }

  .v110-family {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    height:78px !important;
    margin:0 !important;
    padding:0 28px 0 0 !important;
    border-right:1px solid rgba(16,39,31,.18) !important;
    box-sizing:border-box !important;
  }

  .v110-family-title {
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    margin:0 !important;
    color:#4b5651 !important;
    text-decoration:none !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  .v110-family-title span,
  .v110-family-title strong {
    margin:0 !important;
    line-height:1 !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
  }

  .v110-family-title span {
    color:#6d756f !important;
    font-size:9px !important;
    font-weight:500 !important;
    letter-spacing:.14em !important;
  }

  .v110-family-title strong {
    color:#3f4945 !important;
    font-size:10px !important;
    font-weight:700 !important;
    letter-spacing:.09em !important;
  }

  .v110-family-links,
  .v110-social {
    display:none !important;
  }

  .v110-nav {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:clamp(18px,1.65vw,32px) !important;
    min-width:0 !important;
    white-space:nowrap !important;
  }

  .v110-nav a {
    color:#28332f !important;
    text-decoration:none !important;
    text-transform:none !important;
    font-family:Arial,sans-serif !important;
    font-size:12px !important;
    font-weight:700 !important;
    letter-spacing:.005em !important;
  }

  .v110-nav a:last-child {
    display:none !important;
  }

  .v117-contact {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    width:220px !important;
    margin:0 !important;
  }

  .v110-cta {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:220px !important;
    height:58px !important;
    margin:0 !important;
    padding:0 18px !important;
    box-sizing:border-box !important;
    background:var(--fir) !important;
    color:#fff !important;
    text-decoration:none !important;
    text-transform:none !important;
    font-family:Arial,sans-serif !important;
    font-size:12px !important;
    font-weight:700 !important;
    letter-spacing:.005em !important;
    white-space:nowrap !important;
  }

  .menu-button {
    display:none !important;
  }
}

@media (min-width:1250px) and (max-width:1450px) {
  .header-inner {
    width:calc(100% - 40px) !important;
    grid-template-columns:280px 205px minmax(0,1fr) 190px !important;
    column-gap:20px !important;
  }

  .v110-brand {
    gap:12px !important;
    padding-right:22px !important;
  }

  .v110-brand img {
    width:68px !important;
    height:68px !important;
    flex-basis:68px !important;
  }

  .v110-brand strong {
    font-size:47px !important;
  }

  .v110-brand small {
    font-size:11px !important;
  }

  .v110-family {
    padding-right:20px !important;
  }

  .v110-family-title {
    gap:5px !important;
  }

  .v110-family-title span {
    font-size:8px !important;
  }

  .v110-family-title strong {
    font-size:9px !important;
  }

  .v110-nav {
    gap:17px !important;
  }

  .v110-nav a {
    font-size:10.5px !important;
  }

  .v117-contact,
  .v110-cta {
    width:190px !important;
  }

  .v110-cta {
    height:54px !important;
    font-size:10.5px !important;
  }
}

/* v137 — social links moved to the footer contact column. */
.footer-social-v137 {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  margin-top:14px;
  padding-top:15px;
  border-top:1px solid rgba(255,255,255,.16);
}

.footer-social-v137 > span {
  color:#d8d3ca;
  font-size:8px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.footer-social-v137-icons {
  display:flex;
  align-items:center;
  gap:17px;
}

.footer-social-v137-icons a {
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  color:#f4efe7;
  text-decoration:none;
  transition:color .18s ease,transform .18s ease;
}

.footer-social-v137-icons a:hover,
.footer-social-v137-icons a:focus-visible {
  color:#d8b070;
  transform:translateY(-1px);
}

.footer-social-v137-icons svg {
  display:block;
  width:17px;
  height:17px;
  fill:currentColor;
}

@media (max-width:900px) {
  .footer-social-v137 {
    max-width:260px;
  }
}

/* =========================================================
   v138 — desktop hero only.
   Use a natural text-free landscape and render the wording as
   live HTML so it remains crisp at every desktop resolution.
   Mobile hero and all other page styling remain unchanged.
   ========================================================= */
.hero-desktop-v138 {
  position:relative;
  width:117%;
  margin-left:-1.5%;
  aspect-ratio:3072 / 898;
  overflow:hidden;
  line-height:normal;
  isolation:isolate;
}

.hero-desktop-v138 > img {
  position:absolute;
  z-index:-2;
  inset:0;
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  margin:0 !important;
  object-fit:cover !important;
  object-position:center center !important;
}

.hero-desktop-v138::after {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(90deg,
    rgba(247,241,231,.72) 0%,
    rgba(247,241,231,.47) 27%,
    rgba(247,241,231,.10) 52%,
    rgba(247,241,231,0) 70%);
  pointer-events:none;
}

.hero-desktop-v138-copy {
  position:absolute;
  z-index:1;
  top:10%;
  left:8.2%;
  width:min(560px,34vw);
  color:#173d33;
  text-align:left;
}

.hero-desktop-v138-copy h1 {
  margin:0;
  color:inherit;
  font:400 clamp(42px,3.15vw,64px)/1.02 Georgia,"Times New Roman",serif;
  letter-spacing:-.018em;
}

.hero-desktop-v138-copy h1 span {
  display:block;
}

.hero-desktop-v138-rule {
  display:block;
  width:100%;
  height:2px;
  margin:20px 0 20px;
  background:#a66c2f;
}

.hero-desktop-v138-copy p {
  max-width:550px;
  margin:0;
  color:#222823;
  font-size:clamp(17px,1.16vw,24px);
  font-weight:400;
  line-height:1.45;
  letter-spacing:0;
}

@media (max-width:900px) {
  .hero-desktop-v138 {
    display:none !important;
  }
}

/* v140 — use the approved compact header between mobile and desktop widths.
   Page and hero breakpoints intentionally remain at 900px. */
@media (min-width:901px) and (max-width:1249px) {
  .site-header {
    min-height:0 !important;
    position:sticky;
    top:0;
    z-index:100;
    background:#f8f4ed !important;
  }

  .header-inner {
    width:100% !important;
    min-height:96px !important;
    height:96px !important;
    padding:12px 22px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
    box-sizing:border-box !important;
  }

  .header-inner::before,
  .header-inner::after {display:none !important;}

  .v110-brand {
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    min-width:0 !important;
    padding:0 !important;
    border:0 !important;
    color:var(--fir) !important;
    text-decoration:none !important;
  }

  .v110-brand img {
    display:block !important;
    width:48px !important;
    height:62px !important;
    object-fit:contain !important;
    flex:0 0 auto !important;
  }

  .v110-brand span {display:flex !important;flex-direction:column !important;line-height:.82 !important;}
  .v110-brand strong {font:400 34px/.84 var(--serif) !important;letter-spacing:.015em !important;}
  .v110-brand small {margin-top:8px !important;font-size:9px !important;font-weight:700 !important;letter-spacing:.17em !important;white-space:nowrap !important;}

  .header-inner .menu-button {
    display:grid !important;
    place-items:center !important;
    flex:0 0 48px !important;
    width:48px !important;
    min-width:48px !important;
    max-width:48px !important;
    height:48px !important;
    min-height:48px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    color:var(--fir) !important;
    cursor:pointer !important;
  }

  .menu-button span {position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important;}
  .menu-button::before {content:"" !important;display:block !important;width:34px !important;height:24px !important;background:linear-gradient(to bottom,currentColor 0 3px,transparent 3px 10px,currentColor 10px 13px,transparent 13px 21px,currentColor 21px 24px) !important;}
  .menu-button::after {content:none !important;}
  .menu-button[aria-expanded="true"]::before {content:"\00d7" !important;width:auto !important;height:auto !important;background:none !important;font:400 42px/1 Arial,sans-serif !important;}

  .mobile-nav[hidden] {display:none !important;}
  .mobile-nav:not([hidden]) {display:block !important;position:absolute;top:100%;left:0;right:0;z-index:120;background:#f8f3ea;border-top:1px solid rgba(16,39,31,.10);border-bottom:1px solid rgba(16,39,31,.14);box-shadow:0 18px 42px rgba(16,39,31,.14);padding:0 !important;}
  .mobile-nav-inner {width:calc(100% - 40px);margin:0 auto;padding:24px 0 28px;}
  .mobile-nav-links {display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(16,39,31,.14);border-left:1px solid rgba(16,39,31,.14);}
  .mobile-nav-links a {display:flex !important;align-items:center;min-height:54px;padding:12px 16px !important;color:var(--fir) !important;background:transparent;border-right:1px solid rgba(16,39,31,.14);border-bottom:1px solid rgba(16,39,31,.14);text-decoration:none !important;text-transform:uppercase;letter-spacing:.08em;font-size:11px !important;font-weight:700;}
  .mobile-consultation {display:flex !important;align-items:center;justify-content:space-between;margin-top:20px;padding:17px 18px !important;color:#fff !important;background:var(--fir);text-decoration:none !important;text-transform:uppercase;letter-spacing:.06em;font-size:11px !important;font-weight:700;}
  .mobile-consultation span {color:var(--bronze-soft);font-size:18px;}
  .mobile-contact-row {display:flex;flex-direction:column;gap:9px;padding:20px 2px 18px;}
  .mobile-phone,.mobile-family {display:block !important;padding:0 !important;text-decoration:none !important;color:var(--fir) !important;text-transform:none !important;}
  .mobile-phone {font:400 20px/1.2 var(--serif) !important;}
  .mobile-family {font-size:10px !important;letter-spacing:.08em;text-transform:uppercase !important;font-weight:700;}
  .mobile-social {display:flex;align-items:center;gap:10px;padding-top:18px;border-top:1px solid rgba(16,39,31,.12);}
  .mobile-social a {width:38px;height:38px;padding:0 !important;display:grid !important;place-items:center;border:1px solid rgba(16,39,31,.23);border-radius:50%;color:var(--fir) !important;background:transparent;}
  .mobile-social svg {width:16px;height:16px;fill:currentColor;}
  body.mobile-menu-open {overflow:hidden;}
}
