:root {
  --teal: #087d7f;
  --teal-deep: #006669;
  --navy: #142b38;
  --ink: #19313c;
  --cream: #fbf6ef;
  --cream-deep: #efe4d4;
  --mint: #dcefed;
  --peach: #e9bf96;
  --white: #fffdfa;
  --line: rgba(25, 49, 60, .16);
  --serif: "DM Serif Display", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--cream); color: var(--ink); font-family: var(--sans); line-height: 1.55; margin: 0; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
section[id] { scroll-margin-top: 84px; }

.skip-link { background: var(--cream); color: var(--navy); left: 1rem; padding: .7rem 1rem; position: fixed; top: -5rem; z-index: 50; }
.skip-link:focus { top: 1rem; }
.topline { align-items: center; background: var(--navy); color: rgba(255,255,255,.82); display: flex; font-size: .7rem; justify-content: space-between; letter-spacing: .1em; padding: .7rem clamp(1rem, 5vw, 5rem); text-transform: uppercase; }
.topline p { margin: 0; }
.topline a { color: var(--peach); font-weight: 700; }
.topline a span { font-size: 1rem; }

.site-header { align-items: center; background: rgba(255,253,250,.96); border-bottom: 1px solid rgba(25,49,60,.09); display: grid; grid-template-columns: 128px 1fr auto; min-height: 98px; padding: 0 clamp(1rem, 5vw, 5rem); position: sticky; top: 0; z-index: 30; }
.brand { align-items: center; display: flex; height: 96px; width: 118px; }
.brand img { height: 92px; object-fit: contain; width: 112px; }
.nav-links { align-items: center; display: flex; gap: clamp(.75rem, 2.3vw, 2.35rem); justify-content: center; }
.nav-links > a, .nav-practice-toggle { background: transparent; border: 0; color: inherit; cursor: pointer; font-size: .78rem; font-weight: 700; letter-spacing: .04em; padding: 0; position: relative; text-transform: uppercase; }
.nav-links > a::after, .nav-practice-toggle::after { background: var(--teal); bottom: -.45rem; content: ""; height: 2px; left: 0; position: absolute; transform: scaleX(0); transform-origin: right; transition: transform .25s ease; width: 100%; }
.nav-links > a:hover::after, .nav-links > a:focus::after, .nav-practice-toggle:hover::after, .nav-practice-toggle:focus::after, .nav-practice-toggle[aria-expanded="true"]::after { transform: scaleX(1); transform-origin: left; }
.nav-practice-toggle span { display: inline-block; font-size: 1.1rem; line-height: 0; margin-left: .22rem; transition: transform .2s ease; }.nav-practice-toggle[aria-expanded="true"] span { transform: rotate(180deg); }.nav-dropdown { position: relative; }.practice-menu { background: var(--white); border: 1px solid rgba(25,49,60,.12); box-shadow: 0 16px 34px rgba(20,43,56,.16); display: grid; left: 50%; min-width: 225px; opacity: 0; padding: .55rem; pointer-events: none; position: absolute; top: calc(100% + 1.15rem); transform: translate(-50%,-8px); transition: opacity .2s ease, transform .2s ease; visibility: hidden; z-index: 35; }.practice-menu::before { border-bottom: 7px solid var(--white); border-left: 7px solid transparent; border-right: 7px solid transparent; content: ""; left: calc(50% - 7px); position: absolute; top: -7px; }.practice-menu a { color: var(--navy); font-size: .7rem; font-weight: 700; letter-spacing: .06em; padding: .8rem .85rem; text-transform: uppercase; transition: background .18s ease, color .18s ease; }.practice-menu a:hover, .practice-menu a:focus, .practice-menu a[aria-current="page"] { background: var(--mint); color: var(--teal-deep); }.nav-dropdown:hover .practice-menu, .nav-dropdown:focus-within .practice-menu, .nav-dropdown.is-open .practice-menu { opacity: 1; pointer-events: auto; transform: translate(-50%,0); visibility: visible; }
.header-cta { background: var(--teal); color: white; font-size: .72rem; font-weight: 700; letter-spacing: .05em; padding: .86rem 1rem; text-transform: uppercase; transition: background .2s ease, transform .2s ease; }
.header-cta:hover { background: var(--navy); transform: translateY(-2px); }
.menu-toggle { background: transparent; border: 0; display: none; padding: .5rem; }
.menu-toggle span { background: var(--navy); display: block; height: 2px; margin: 5px 0; width: 27px; }

.hero { background: var(--teal); color: var(--white); display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); min-height: min(760px, calc(100vh - 136px)); overflow: hidden; padding: clamp(3.25rem, 7vw, 7.2rem) clamp(1rem, 8vw, 9rem) 3.2rem; position: relative; }
.hero-video { background: var(--teal); inset: 0; overflow: hidden; position: absolute; z-index: 0; }.hero-video video { filter: grayscale(.45) contrast(1.04) brightness(1.08); height: 100%; min-height: 100%; min-width: 100%; object-fit: cover; object-position: center; opacity: 0; position: absolute; transition: opacity .85s ease-in-out; width: 100%; }.hero-video video.is-visible { opacity: 1; }.hero-video::after { background: linear-gradient(90deg, rgba(0,108,110,.42) 0%, rgba(8,125,127,.21) 49%, rgba(8,125,127,.1) 100%); content: ""; inset: 0; position: absolute; }
.hero-copy { align-self: center; max-width: 710px; position: relative; text-shadow: 0 2px 16px rgba(0,35,36,.42); z-index: 2; }
.eyebrow { color: var(--teal); font-size: .7rem; font-weight: 700; letter-spacing: .16em; margin: 0 0 1.05rem; text-transform: uppercase; }
.eyebrow.light { color: var(--peach); }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; letter-spacing: -.035em; line-height: .98; }
h1 { font-size: clamp(3.25rem, 6.55vw, 7.4rem); margin-bottom: 1.8rem; }
h1 em, h2 em { color: var(--peach); font-style: italic; }
.hero-intro { font-size: clamp(1rem, 1.4vw, 1.17rem); line-height: 1.65; max-width: 550px; }
.hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 1.5rem; margin: 2rem 0 2.8rem; }
.button { align-items: center; border: 1px solid transparent; cursor: pointer; display: inline-flex; font-size: .73rem; font-weight: 700; gap: 1.1rem; justify-content: center; letter-spacing: .07em; min-height: 54px; padding: .9rem 1.15rem; text-transform: uppercase; transition: transform .22s ease, background .22s ease, color .22s ease; }
.button:hover { transform: translateY(-3px); }
.button-cream { background: var(--cream); color: var(--navy); }
.button-cream:hover { background: var(--peach); }
.button-dark { background: var(--navy); color: white; }
.button-dark:hover { background: var(--teal); }
.text-link { border-bottom: 1px solid currentColor; display: inline-block; font-size: .76rem; font-weight: 700; letter-spacing: .08em; padding-bottom: .35rem; text-transform: uppercase; transition: color .2s ease; }
.light-link { color: var(--white); }
.light-link:hover { color: var(--peach); }
.dark-link { color: var(--navy); }
.dark-link:hover { color: var(--teal); }
.hero-trust { display: flex; flex-wrap: wrap; gap: 1.1rem 1.8rem; list-style: none; margin: 0; padding: 0; }
.hero-trust li { align-items: center; display: flex; font-size: .7rem; font-weight: 600; gap: .5rem; letter-spacing: .06em; text-transform: uppercase; }
.hero-trust span { border: 1px solid rgba(255,255,255,.55); border-radius: 50%; display: grid; font-size: .57rem; height: 23px; place-items: center; width: 23px; }
.hero-portrait { bottom: 0; height: min(760px, calc(100vh - 136px)); max-width: none; position: absolute; right: clamp(1rem, 8vw, 9rem); width: auto; z-index: 3; }
.hero-portrait img { display: block; filter: drop-shadow(21px 18px 20px rgba(0,28,29,.45)); height: 100%; max-width: none; object-fit: contain; object-position: center bottom; width: auto; }
.hero-portrait p { background: var(--navy); bottom: 1.3rem; font-family: var(--serif); font-size: 1.35rem; line-height: 1.05; margin: 0; padding: .95rem 1.15rem; position: absolute; right: -1rem; }
.hero-portrait p span { color: var(--peach); font-family: var(--sans); font-size: .58rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.hero-scroll { bottom: 2.1rem; color: rgba(255,255,255,.72); font-size: .65rem; font-weight: 600; left: clamp(1rem, 8vw, 9rem); letter-spacing: .11em; position: absolute; text-transform: uppercase; z-index: 2; }
.hero-scroll span { color: var(--peach); font-size: 1rem; margin-left: .35rem; }

.section { padding: clamp(4.6rem, 9vw, 9rem) clamp(1.2rem, 8vw, 9rem); }
.intro { align-items: center; display: grid; gap: clamp(3rem, 8vw, 10rem); grid-template-columns: minmax(250px, .75fr) minmax(0, 1.15fr); }
.intro-illustration { aspect-ratio: 1; background: #e8f0ea; overflow: hidden; position: relative; }
.halo { border: 1px solid rgba(8,125,127,.32); border-radius: 50%; position: absolute; }.halo-a { height: 88%; left: 7%; top: 6%; width: 88%; }.halo-b { height: 58%; left: 22%; top: 21%; width: 58%; }
.intro-illustration img { bottom: -8%; height: 112%; left: 8%; object-fit: contain; position: absolute; width: 88%; z-index: 1; }
.intro-content { max-width: 680px; }.intro h2, .section-heading h2, .attorney h2, .contact h2, .faq h2 { font-size: clamp(2.6rem, 5vw, 5.3rem); margin-bottom: 1.5rem; }.intro h2 em, .section-heading h2 em, .attorney h2 em, .faq h2 em { color: var(--teal); }.intro-content > p:not(.eyebrow), .attorney-copy > p:not(.eyebrow), .faq-intro > p:not(.eyebrow) { font-size: 1.05rem; line-height: 1.76; }
.service-area { align-items: center; grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr); }.service-map { overflow: hidden; }.service-map img { border: 1px solid rgba(8,125,127,.16); box-shadow: 0 22px 46px rgba(20,43,56,.1); height: auto; width: 100%; }.intro-content > p + p:not(.eyebrow) { margin-top: 1rem; }.city-list { display: flex; flex-wrap: wrap; gap: .55rem; margin: 2rem 0; }.city-list a, .city-list span { border: 1px solid var(--line); font-size: .68rem; font-weight: 700; letter-spacing: .04em; padding: .55rem .7rem; text-transform: uppercase; transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; }.city-list a:hover, .city-list a:focus { background: var(--teal); border-color: var(--teal); color: white; transform: translateY(-2px); }.local-proof { border-top: 1px solid var(--line); display: grid; gap: 1rem; grid-template-columns: repeat(2, 1fr); margin: .5rem 0 2.1rem; padding-top: 1.1rem; }.local-proof article { display: grid; gap: .5rem; grid-template-columns: 32px 1fr; }.local-proof span { align-items: center; border: 1px solid var(--teal); border-radius: 50%; color: var(--teal); display: flex; font-size: .62rem; font-weight: 700; height: 28px; justify-content: center; width: 28px; }.local-proof strong { color: var(--navy); font-size: .84rem; }.local-proof p { color: #60757a; font-size: .78rem; grid-column: 2; line-height: 1.55; margin: -.35rem 0 0; }

.practice { background: var(--cream-deep); }.section-heading { max-width: 760px; }.centered { margin: 0 auto 3.8rem; text-align: center; }.practice-grid { display: grid; gap: 1.3rem; grid-template-columns: repeat(3, 1fr); margin: 0 auto; max-width: 1300px; }.practice-card { color: var(--white); display: block; min-height: 530px; overflow: hidden; padding: 1.75rem; position: relative; transition: box-shadow .3s ease, transform .3s cubic-bezier(.2,.75,.25,1); }.practice-card:hover, .practice-card:focus-visible { box-shadow: 0 22px 34px rgba(20,43,56,.24); outline: 3px solid var(--peach); outline-offset: 3px; transform: translateY(-10px); }.card-defense { background: var(--navy); }.card-domestic { background: var(--teal); }.card-injury { background: #bd795d; }.card-index { color: rgba(255,255,255,.65); font-size: .7rem; font-weight: 700; letter-spacing: .1em; position: relative; z-index: 2; }.card-art { inset: 0; opacity: .5; position: absolute; transition: opacity .35s ease, transform .5s cubic-bezier(.2,.75,.25,1); }.practice-card:hover .card-art, .practice-card:focus-visible .card-art { opacity: .8; transform: scale(1.08) rotate(-3deg); }.scales-art span { background: var(--peach); height: 60%; left: 50%; position: absolute; top: 20%; width: 6px; }.scales-art i { background: var(--peach); height: 6px; left: 16%; position: absolute; top: 30%; width: 68%; }.scales-art i::before, .scales-art i::after { border-bottom: 5px solid var(--peach); border-radius: 0 0 100% 100%; content: ""; height: 80px; position: absolute; top: 26px; width: 105px; }.scales-art i::before { left: -30px; }.scales-art i::after { right: -30px; }.scales-art b { background: var(--peach); bottom: 17%; height: 6px; left: 28%; position: absolute; width: 44%; }.shield-art { border: 2px solid rgba(255,255,255,.78); border-radius: 50% 50% 48% 48%; height: 95%; left: 21%; top: -34%; transform: rotate(30deg); width: 58%; }.shield-art::after { border: 1px solid rgba(255,255,255,.75); border-radius: 50%; content: ""; height: 85%; left: 8%; position: absolute; top: 8%; width: 85%; }.shield-art i { background: var(--peach); height: 36%; left: 50%; position: absolute; top: 40%; width: 3px; }.horizon-art span { border: 1px solid rgba(255,255,255,.8); border-radius: 50%; height: 105%; left: -20%; position: absolute; top: 21%; width: 140%; }.horizon-art i { background: rgba(255,255,255,.8); height: 1px; left: 0; position: absolute; top: 58%; width: 100%; }.practice-card > p:not(.card-kicker), .practice-card h3, .card-link { position: relative; z-index: 2; }.card-kicker { color: var(--peach); font-size: .65rem; font-weight: 700; letter-spacing: .13em; margin: 182px 0 .7rem; text-transform: uppercase; }.practice-card h3 { font-size: clamp(2.15rem, 3vw, 3.1rem); margin-bottom: 1rem; }.practice-card > p:not(.card-kicker) { font-size: .93rem; line-height: 1.65; max-width: 300px; }.card-link { border-bottom: 1px solid rgba(255,255,255,.55); display: inline-block; font-size: .67rem; font-weight: 700; letter-spacing: .08em; margin-top: 1.3rem; padding-bottom: .35rem; text-transform: uppercase; transition: border-color .2s ease, color .2s ease; }.practice-card:hover .card-link, .practice-card:focus-visible .card-link { border-color: var(--peach); color: var(--peach); }

.reviews { background: var(--mint); }.review-grid { align-items: stretch; display: grid; gap: 1.2rem; grid-template-columns: repeat(3, 1fr); margin: 0 auto; max-width: 1300px; }.review-grid blockquote { background: var(--white); display: flex; flex-direction: column; justify-content: space-between; margin: 0; min-height: 350px; padding: 2rem; }.review-grid .featured-review { background: var(--navy); color: var(--white); position: relative; }.quote-mark { color: rgba(233,191,150,.42); font-family: var(--serif); font-size: 14rem; left: 1.4rem; line-height: .4; position: absolute; top: .6rem; }.stars { color: #d28f4e; font-size: .9rem; letter-spacing: .09em; position: relative; z-index: 1; }.review-grid blockquote > p { font-family: var(--serif); font-size: clamp(1.3rem, 1.75vw, 1.8rem); line-height: 1.23; margin: 1.3rem 0; position: relative; z-index: 1; }.review-grid footer { border-top: 1px solid rgba(25,49,60,.16); font-size: .76rem; padding-top: 1rem; position: relative; z-index: 1; }.featured-review footer { border-color: rgba(255,255,255,.2); }.review-grid footer strong, .review-grid footer span { display: block; }.review-grid footer span { color: #647477; font-size: .64rem; letter-spacing: .06em; margin-top: .2rem; text-transform: uppercase; }.featured-review footer span { color: rgba(255,255,255,.58); }

.injury-types { background: var(--navy); color: white; }.injury-types .section-heading { max-width: 760px; }.injury-types .section-heading h2 { color: white; }.injury-types .section-heading h2 em { color: var(--peach); }.injury-types .section-heading > p:last-child { color: rgba(255,255,255,.7); margin: 1.15rem auto 0; max-width: 600px; }.injury-grid { display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); margin: 0 auto; max-width: 1300px; perspective: 1200px; }.injury-grid > a { color: white; display: block; min-height: 238px; perspective: 1200px; }.injury-grid article { background: rgba(255,255,255,.035); height: 100%; min-height: 238px; position: relative; transform-style: preserve-3d; transition: transform .58s cubic-bezier(.2,.72,.18,1), box-shadow .25s ease; }.injury-grid > a:hover article, .injury-grid > a:focus-visible article { box-shadow: 0 20px 34px rgba(0,0,0,.22); transform: rotateY(180deg) translateY(-4px); }.injury-grid > a:focus-visible { outline: 3px solid var(--peach); outline-offset: 4px; }.injury-card-face { backface-visibility: hidden; display: flex; flex-direction: column; inset: 0; justify-content: flex-end; padding: 1.4rem; position: absolute; }.injury-card-front { background: rgba(255,255,255,.035); }.injury-card-back { background: linear-gradient(140deg, var(--teal), #0b5b63); transform: rotateY(180deg); }.injury-card-front > span { align-items: center; border: 1px solid rgba(233,191,150,.7); border-radius: 50%; color: var(--peach); display: flex; font-size: .58rem; font-weight: 700; height: 28px; justify-content: center; left: 1.4rem; letter-spacing: .06em; position: absolute; top: 1.4rem; width: 28px; }.injury-grid h3 { color: white; font-family: var(--sans); font-size: 1rem; font-weight: 700; letter-spacing: 0; line-height: 1.2; margin: 0 0 .55rem; }.injury-card-front h3 { font-size: 1.08rem; }.injury-grid p { color: rgba(255,255,255,.66); font-size: .77rem; line-height: 1.55; margin: 0; }.injury-card-back .card-kicker { color: var(--peach); margin: 0 0 .7rem; }.injury-card-back h3 { font-family: var(--serif); font-size: clamp(1.6rem, 2vw, 2.25rem); font-weight: 400; letter-spacing: 0; line-height: .98; margin-bottom: .8rem; max-width: 310px; }.injury-card-back p:not(.card-kicker) { color: rgba(255,255,255,.78); max-width: 390px; }.injury-card-back .card-link { margin-top: 1rem; }

.process { background: radial-gradient(circle at -8% 50%, rgba(8,125,127,.08) 0 36%, transparent 36.2%), var(--cream); color: var(--ink); display: grid; gap: clamp(3rem, 7vw, 7rem); grid-template-columns: minmax(280px, .82fr) minmax(520px, 1.18fr); overflow: hidden; position: relative; }.process::before { border: 1px solid rgba(8,125,127,.16); border-radius: 50%; content: ""; height: 820px; left: -355px; position: absolute; top: 50%; transform: translateY(-50%); width: 820px; }.process::after { border: 1px dashed rgba(8,125,127,.14); border-radius: 42% 58% 48% 52%; bottom: 4.6rem; content: ""; height: 125px; left: calc(50% + 210px); position: absolute; transform: rotate(-9deg); width: 245px; }.process-heading, .process-list { position: relative; z-index: 1; }.process-heading { align-self: center; }.process-heading h2 { font-size: clamp(3.5rem, 5.8vw, 6.8rem); margin: 0 0 1.6rem; max-width: 590px; }.process-heading h2 em { color: var(--teal); }.process-heading > p:last-child { color: #53666c; font-size: clamp(1rem, 1.4vw, 1.18rem); line-height: 1.72; max-width: 470px; }.process-rule { background: var(--peach); display: block; height: 2px; margin: 0 0 2rem; width: 76px; }.process-list { list-style: none; margin: 0; min-height: 760px; padding: 0 0 0 6.2rem; }.process-list::before { background: linear-gradient(180deg, rgba(8,125,127,.09), rgba(8,125,127,.38), rgba(8,125,127,.09)); border: 10px solid rgba(8,125,127,.13); border-left-color: rgba(8,125,127,.22); border-radius: 52px; box-shadow: inset 0 0 18px rgba(20,43,56,.1), 0 12px 24px rgba(20,43,56,.1); content: ""; height: calc(100% - 78px); left: 2rem; position: absolute; top: 2rem; width: 34px; }.process-list::after { align-items: center; background: var(--teal-deep); border: 13px solid rgba(8,125,127,.16); border-radius: 50%; bottom: 0; box-shadow: 0 0 0 8px rgba(8,125,127,.08); color: white; content: "★"; display: flex; font-size: 1rem; height: 58px; justify-content: center; left: 1.82rem; position: absolute; width: 58px; }.process-list li { align-items: center; display: grid; gap: 1.15rem; grid-template-columns: 96px minmax(0,1fr); margin: 0 0 clamp(2rem, 4vw, 3.7rem); position: relative; }.process-list li:nth-child(2) { margin-left: 4.4rem; }.process-list li:nth-child(3) { margin-left: 1.3rem; }.process-list li:nth-child(4) { margin-left: 5.2rem; }.process-list li::before { background: var(--peach); border-radius: 50%; box-shadow: 0 0 0 5px rgba(251,246,239,.96); content: ""; height: 13px; left: 82px; position: absolute; top: 50%; transform: translateY(-50%); width: 13px; z-index: 3; }.process-number { align-items: center; background: var(--white); border: 2px solid var(--teal); border-radius: 50%; box-shadow: 0 12px 24px rgba(20,43,56,.12); color: var(--teal-deep); display: flex; font-size: clamp(1.35rem, 2.25vw, 2.25rem); font-weight: 700; height: 88px; justify-content: center; letter-spacing: .03em; position: relative; width: 88px; z-index: 4; }.process-card { align-items: center; background: rgba(255,253,250,.86); border: 1px solid rgba(25,49,60,.12); border-right: 7px solid var(--teal); border-radius: 10px; box-shadow: 0 18px 34px rgba(20,43,56,.08); display: grid; gap: 1.5rem; grid-template-columns: 88px 1fr; min-height: 142px; padding: 1.4rem 1.7rem; transition: box-shadow .25s ease, transform .25s ease; }.process-card:hover { box-shadow: 0 24px 42px rgba(20,43,56,.13); transform: translateY(-4px); }.process-icon { align-items: center; background: rgba(8,125,127,.1); border-radius: 50%; color: var(--teal-deep); display: flex; font-size: 2.25rem; height: 76px; justify-content: center; line-height: 1; width: 76px; }.process-list h3 { color: var(--navy); font-family: var(--sans); font-size: clamp(1.15rem, 1.55vw, 1.55rem); font-weight: 800; letter-spacing: -.02em; margin: 0 0 .45rem; }.process-list p { color: #405a63; font-size: clamp(.95rem, 1.2vw, 1.08rem); line-height: 1.55; margin: 0; max-width: 520px; }

.callout { background: var(--teal); color: white; display: grid; grid-template-columns: 1.15fr .85fr; min-height: 490px; overflow: hidden; padding: clamp(4rem, 8vw, 7.5rem) clamp(1.2rem, 8vw, 9rem); position: relative; }.callout-copy { max-width: 700px; position: relative; z-index: 1; }.callout h2 { font-size: clamp(2.7rem, 5vw, 5.3rem); margin-bottom: 1.6rem; }.callout h2 em { color: var(--peach); }.callout-copy > p:not(.eyebrow) { max-width: 590px; }.callout .button { margin-top: 1.3rem; }.callout-art { align-self: center; height: 100%; position: relative; }.callout-art span { color: rgba(255,255,255,.15); font-family: var(--serif); font-size: clamp(4rem, 8vw, 9rem); line-height: .78; position: absolute; right: 0; text-align: right; top: 0; }.callout-art i { border: 1px solid var(--peach); border-radius: 50%; height: 370px; position: absolute; right: 7%; top: 8%; width: 370px; }.callout-art b { border: 1px dashed rgba(255,255,255,.7); border-radius: 50%; height: 245px; position: absolute; right: 20%; top: 24%; width: 245px; }

.attorney { align-items: center; display: grid; gap: clamp(3rem, 8vw, 9rem); grid-template-columns: minmax(260px,.8fr) minmax(0,1.15fr); }.attorney-photo { background: var(--mint); min-height: 560px; overflow: hidden; position: relative; }.attorney-photo::before { border: 1px solid var(--teal); border-radius: 50%; content: ""; height: 110%; left: -12%; position: absolute; top: 10%; width: 124%; }.attorney-photo img { height: 100%; min-height: 560px; object-fit: cover; object-position: top center; position: relative; width: 100%; }.attorney-stamp { background: var(--teal); bottom: 1.2rem; color: white; font-family: var(--serif); font-size: 2.3rem; line-height: .78; padding: .8rem; position: absolute; right: 1.2rem; text-align: center; }.attorney-stamp span { color: var(--peach); font-family: var(--sans); font-size: .48rem; font-weight: 700; letter-spacing: .09em; }

.contact { background: var(--teal); color: white; display: grid; gap: clamp(2.5rem, 6vw, 7rem); grid-template-columns: .78fr 1.22fr; }.contact h2 { margin-bottom: 1.35rem; }.contact h2 em { color: var(--peach); }.contact-copy > p:not(.eyebrow) { color: rgba(255,255,255,.78); max-width: 500px; }.contact-details { border-top: 1px solid rgba(255,255,255,.38); margin-top: 2.5rem; padding-top: 1.2rem; }.contact-details a, .contact-details p { color: white; display: block; font-size: 1rem; margin: 0 0 1rem; }.contact-details span { color: var(--peach); display: block; font-size: .62rem; font-weight: 700; letter-spacing: .11em; margin-bottom: .16rem; text-transform: uppercase; }.consult-form, .calendly-card { background: var(--cream); color: var(--ink); display: grid; gap: 1.1rem; padding: clamp(1.4rem, 4vw, 3rem); }.calendly-card { overflow: hidden; padding-bottom: 1.2rem; }.calendly-card-head { max-width: 620px; }.calendly-card-head h3 { color: var(--navy); font-family: var(--serif); font-size: clamp(2rem, 3.8vw, 3.4rem); line-height: .98; margin-bottom: .65rem; }.calendly-card-head p:not(.eyebrow) { color: #5e7478; line-height: 1.6; margin: 0; }.calendly-inline-widget { background: white; border: 1px solid rgba(10,143,143,.22); border-radius: 2px; box-shadow: 0 24px 60px rgba(19,45,55,.12); overflow: hidden; width: 100%; }.form-row { display: grid; gap: 1.1rem; grid-template-columns: 1fr 1fr; }.consult-form label { display: grid; gap: .42rem; }.consult-form label > span { color: #49616a; font-size: .64rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }.consult-form input, .consult-form select, .consult-form textarea { background: transparent; border: 0; border-bottom: 1px solid #a8b5b5; border-radius: 0; color: var(--navy); outline: 0; padding: .65rem 0; resize: vertical; }.consult-form input:focus, .consult-form select:focus, .consult-form textarea:focus { border-color: var(--teal); }.consult-form .button { justify-self: start; margin-top: .5rem; }.form-note { color: #5e7478; font-size: .68rem; line-height: 1.55; margin: 0; }.hidden-field { display: none; }

.faq { display: grid; gap: clamp(3rem, 8vw, 10rem); grid-template-columns: .75fr 1.25fr; }.faq-intro { max-width: 530px; }.faq-list { border-top: 1px solid var(--line); }.faq details { border-bottom: 1px solid var(--line); }.faq summary { align-items: center; cursor: pointer; display: flex; font-family: var(--serif); font-size: clamp(1.3rem, 2vw, 1.8rem); justify-content: space-between; list-style: none; padding: 1.22rem 0; }.faq summary::-webkit-details-marker { display: none; }.faq summary span { color: var(--teal); font-family: var(--sans); font-size: 1.35rem; font-weight: 400; }.faq details[open] summary span { transform: rotate(45deg); }.faq details p { color: #50636a; margin: 0; max-width: 670px; padding: 0 2.5rem 1.45rem 0; }

.article-hub-hero, .article-hero { background: var(--navy); color: white; overflow: hidden; padding: clamp(4rem, 9vw, 8rem) clamp(1.2rem, 8vw, 9rem); position: relative; }.article-hub-hero::before, .article-hero::before { border: 1px solid rgba(233,191,150,.22); border-radius: 50%; content: ""; height: 620px; position: absolute; right: -190px; top: -240px; width: 620px; }.article-hub-hero > *, .article-hero > * { position: relative; z-index: 1; }.article-hub-hero h1, .article-hero h1 { max-width: 980px; }.article-hub-hero h1 em, .article-hero h1 em { color: var(--peach); }.article-hub-hero p:not(.eyebrow), .article-hero p:not(.eyebrow) { color: rgba(255,255,255,.78); font-size: clamp(1rem, 1.4vw, 1.18rem); line-height: 1.7; max-width: 760px; }.article-meta { color: rgba(255,255,255,.68); display: flex; flex-wrap: wrap; font-size: .72rem; font-weight: 700; gap: .8rem 1.2rem; letter-spacing: .08em; margin-top: 1.6rem; text-transform: uppercase; }.article-meta span { border: 1px solid rgba(255,255,255,.22); padding: .45rem .6rem; }.article-categories { display: grid; gap: 1.4rem; grid-template-columns: repeat(3, 1fr); }.article-category { background: var(--white); border: 1px solid var(--line); display: flex; flex-direction: column; min-height: 100%; padding: 1.45rem; transition: box-shadow .25s ease, transform .25s ease; }.article-category:hover { box-shadow: 0 20px 34px rgba(20,43,56,.12); transform: translateY(-5px); }.article-category span, .article-card span { color: var(--teal); font-size: .66rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }.article-category h2, .article-card h3 { font-size: clamp(1.75rem, 2.4vw, 2.55rem); margin: .8rem 0 .8rem; }.article-category p, .article-card p { color: #53666c; }.article-card-grid { display: grid; gap: 1.1rem; grid-template-columns: repeat(3, 1fr); margin: 0 auto; max-width: 1300px; }.article-card { background: var(--white); border: 1px solid var(--line); display: block; min-height: 285px; padding: 1.55rem; transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease; }.article-card:hover, .article-card:focus-visible { border-color: rgba(8,125,127,.45); box-shadow: 0 20px 34px rgba(20,43,56,.12); outline: 0; transform: translateY(-5px); }.related-articles, .article-cluster-alt { background: var(--cream-deep); }.article-cluster-heading { align-items: end; display: flex; gap: 2rem; justify-content: space-between; margin: 0 auto 2.4rem; max-width: 1300px; }.article-cluster-heading h2 { font-size: clamp(2.4rem, 4.5vw, 5rem); margin: 0; }.article-cluster-heading h2 em { color: var(--teal); }.article-section-link { margin: 2rem auto 0; max-width: 1300px; text-align: center; }.article-hub-cta { background: var(--teal); color: white; text-align: center; }.article-hub-cta h2 { font-size: clamp(2.7rem, 5vw, 5.5rem); margin: 0 auto 1.4rem; max-width: 900px; }.article-hub-cta h2 em { color: var(--peach); }.article-layout { align-items: start; display: grid; gap: clamp(2.5rem, 6vw, 7rem); grid-template-columns: minmax(220px,.36fr) minmax(0,.64fr); }.toc-card { background: var(--white); border: 1px solid var(--line); position: sticky; top: 124px; padding: 1.25rem; }.toc-card p { color: var(--teal); font-size: .68rem; font-weight: 800; letter-spacing: .12em; margin-bottom: .8rem; text-transform: uppercase; }.toc-card a { border-top: 1px solid var(--line); color: var(--navy); display: block; font-size: .85rem; font-weight: 700; padding: .78rem 0; }.article-content { background: var(--white); border: 1px solid var(--line); padding: clamp(1.4rem, 4vw, 3.4rem); }.article-content h2 { font-size: clamp(2rem, 3vw, 3.2rem); margin: 2rem 0 1rem; }.article-content h2:first-child { margin-top: 0; }.article-content h3 { font-family: var(--sans); font-size: 1.1rem; font-weight: 800; letter-spacing: -.01em; margin: 1.5rem 0 .55rem; }.article-content p, .article-content li { color: #455d66; font-size: 1rem; line-height: 1.8; }.article-content ul, .article-content ol { padding-left: 1.3rem; }.article-note { background: var(--mint); border-left: 4px solid var(--teal); margin: 1.6rem 0; padding: 1rem 1.1rem; }.article-cta { background: var(--teal); color: white; margin-top: 2.4rem; padding: clamp(1.4rem, 3vw, 2.3rem); }.article-cta h2 { color: white; margin-top: 0; }.article-cta p { color: rgba(255,255,255,.78); }.article-cta .button { margin-top: .7rem; }.article-disclaimer { border-top: 1px solid var(--line); color: #65777b; font-size: .78rem; margin-top: 2rem; padding-top: 1rem; }.breadcrumb { color: rgba(255,255,255,.66); font-size: .72rem; font-weight: 700; letter-spacing: .08em; margin-bottom: 1.2rem; text-transform: uppercase; }.breadcrumb a { color: var(--peach); }

.site-footer { background: var(--navy); color: white; padding: 4rem clamp(1.2rem, 8vw, 9rem) 1.5rem; }.footer-main { display: grid; gap: 3rem; grid-template-columns: 1.15fr .8fr .75fr .75fr; }.footer-brand img { height: 132px; object-fit: cover; object-position: center; width: 132px; }.footer-brand p { color: rgba(255,255,255,.7); max-width: 350px; }.footer-main > div:not(.footer-brand) { display: flex; flex-direction: column; font-size: .86rem; gap: .45rem; }.footer-main > div:not(.footer-brand) p:last-child { color: rgba(255,255,255,.68); }.footer-label { color: var(--peach); font-size: .63rem; font-weight: 700; letter-spacing: .14em; margin-bottom: .7rem; text-transform: uppercase; }.footer-bottom { border-top: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.52); display: flex; font-size: .65rem; gap: 2rem; justify-content: space-between; margin-top: 3rem; padding-top: 1.2rem; }.footer-bottom p { margin: 0; max-width: 850px; }.footer-bottom span { white-space: nowrap; }.mobile-call { display: none; }

@media (max-width: 900px) {
  .topline { justify-content: center; }.topline p { display: none; }.site-header { grid-template-columns: 1fr auto; }.menu-toggle { display: block; grid-column: 2; grid-row: 1; }.header-cta { display: none; }.nav-links { background: var(--cream); display: flex; flex-direction: column; gap: 1.45rem; inset: 98px 0 0; justify-content: start; opacity: 0; padding-top: 3rem; pointer-events: none; position: fixed; transform: translateY(-15px); transition: opacity .2s ease, transform .2s ease; }.nav-links.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }.nav-links a { font-family: var(--serif); font-size: 2rem; text-transform: none; }.hero { grid-template-columns: 1fr; min-height: auto; padding-bottom: 0; }.hero-copy { padding-bottom: 7rem; }.hero-portrait { height: auto; max-width: 350px; position: relative; right: auto; width: 100%; }.hero-portrait img { height: 510px; width: 100%; }.hero-scroll { bottom: auto; top: 48%; }.intro, .attorney, .contact, .faq, .process, .article-layout { grid-template-columns: 1fr; }.toc-card { position: static; }.article-categories, .article-card-grid { grid-template-columns: 1fr; max-width: 640px; }.intro-illustration, .service-map { max-width: 560px; width: 100%; }.practice-grid, .review-grid { grid-template-columns: 1fr; max-width: 560px; }.injury-grid { grid-template-columns: repeat(2, 1fr); }.practice-card { min-height: 450px; }.card-kicker { margin-top: 120px; }.process { gap: 3rem; }.callout { grid-template-columns: 1fr; }.callout-art { display: none; }.attorney-photo { max-width: 550px; width: 100%; }.footer-main { grid-template-columns: 1fr 1fr; }.footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .topline { font-size: .61rem; }.site-header { min-height: 82px; }.brand { height: 80px; width: 92px; }.brand img { height: 76px; width: 90px; }.nav-links { inset: 82px 0 0; }.hero { padding-top: 3.6rem; }.hero-copy { padding-bottom: 4.5rem; }.hero-portrait { max-width: 290px; width: 100%; }.hero-portrait img { height: 420px; width: 100%; }.hero-scroll { display: none; }.hero-trust { gap: .8rem; }.hero-trust li { font-size: .58rem; }.section { padding: 4.25rem 1.2rem; }.section-heading h2, .intro h2, .attorney h2, .contact h2, .faq h2 { font-size: 2.7rem; }.service-map { max-width: 100%; }.city-list a, .city-list span { flex: 1 1 calc(50% - .55rem); text-align: center; }.local-proof { grid-template-columns: 1fr; }.injury-grid { grid-template-columns: 1fr; }.callout { padding: 4.3rem 1.2rem; }.callout h2 { font-size: 2.75rem; }.form-row { grid-template-columns: 1fr; }.consult-form, .calendly-card { margin: 0 -.15rem; padding: 1.1rem; }.calendly-inline-widget { height: 760px !important; min-width: 0 !important; }.attorney-photo, .attorney-photo img { min-height: 420px; }.footer-main { grid-template-columns: 1fr; gap: 2rem; }.footer-brand { grid-column: auto; }.footer-bottom { flex-direction: column; gap: .8rem; }.mobile-call { align-items: stretch; background: var(--navy); bottom: 0; color: white; display: grid; font-size: .72rem; font-weight: 700; gap: .55rem; grid-template-columns: 1fr 1fr; left: 0; letter-spacing: .04em; padding: .65rem .8rem; position: fixed; right: 0; text-transform: uppercase; z-index: 25; }.mobile-call a { align-items: center; color: white; display: flex; flex-direction: column; justify-content: center; line-height: 1.2; min-height: 45px; text-align: center; }.mobile-call .mobile-book { background: rgba(255,255,255,.08); border-left: 1px solid rgba(255,255,255,.16); border-radius: 2px; }.mobile-call span { color: var(--peach); font-size: .55rem; }.site-footer { padding-bottom: 5.8rem; }
}

@media (max-width: 900px) {
  .process { background: radial-gradient(circle at -12% 18%, rgba(8,125,127,.08) 0 34%, transparent 34.2%), var(--cream); }
  .process::after { display: none; }
  .process-heading { max-width: 640px; }
  .process-list { min-height: 0; padding-left: 5.4rem; }
  .process-list::before { left: 1.2rem; }
  .process-list::after { bottom: -1.2rem; left: 1rem; }
  .process-list li, .process-list li:nth-child(2), .process-list li:nth-child(3), .process-list li:nth-child(4) { margin-left: 0; }
  .article-cluster-heading { align-items: start; flex-direction: column; }
}

@media (max-width: 560px) {
  .process-heading h2 { font-size: 3rem; }
  .process-list { padding-left: 0; padding-top: 1.2rem; }
  .process-list::before, .process-list::after, .process-list li::before { display: none; }
  .process-list li { display: block; margin-bottom: 1rem; }
  .process-number { height: 58px; margin: 0 0 -.9rem .9rem; width: 58px; }
  .process-card { border-right-width: 5px; gap: 1rem; grid-template-columns: 58px 1fr; min-height: 0; padding: 1.35rem 1.1rem 1.2rem; }
  .process-icon { font-size: 1.55rem; height: 52px; width: 52px; }
}

/* Compact, conversion-first hero for iPhone-sized screens. The freeway video remains visible behind it. */
@media (max-width: 560px) {
  .hero { min-height: 0; padding-top: 2.65rem; }
  .hero-copy { padding-bottom: 1.35rem; }
  .hero h1 { font-size: clamp(2.75rem, 12.5vw, 3.35rem); margin-bottom: 1.1rem; }
  .hero-intro { font-size: .94rem; line-height: 1.5; max-width: 31ch; }
  .hero-actions { gap: .9rem; margin: 1.35rem 0 1.1rem; }
  .hero-actions .button { min-height: 50px; width: 100%; }
  .hero-trust { margin-top: .9rem; }
  .hero-trust li:not(:first-child) { display: none; }
  .hero-portrait { justify-self: end; margin-left: auto; max-width: none; width: auto; }
  .hero-portrait img { height: 330px; max-width: 100%; width: auto; }
  .hero-portrait p { display: none; }
}
@media (hover: none), (max-width: 700px) {
  .injury-grid { perspective: none; }
  .injury-grid > a { min-height: 0; perspective: none; }
  .injury-grid article { display: grid; height: auto; min-height: 0; transform: none; transform-style: flat; }
  .injury-grid > a:hover article, .injury-grid > a:focus-visible article { transform: none; }
  .injury-card-face { backface-visibility: visible; inset: auto; min-height: 190px; position: relative; transform: none; }
  .injury-card-front { border-bottom: 1px solid rgba(255,255,255,.12); }
  .injury-card-back { background: rgba(8,125,127,.42); }
  .injury-card-back h3 { font-size: 1.75rem; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }

/* Personal injury detail page */
.pi-hero { background: var(--teal); color: var(--white); display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(290px, .85fr); min-height: min(690px, calc(100vh - 136px)); overflow: hidden; padding: clamp(4rem, 9vw, 9rem) clamp(1.2rem, 8vw, 9rem); position: relative; }
.pi-hero .hero-video::after { background: linear-gradient(100deg, rgba(0,86,88,.66), rgba(7,125,127,.31) 62%, rgba(8,125,127,.2)); }
.pi-hero-copy, .pi-hero-facts { position: relative; z-index: 1; }.pi-hero-copy { align-self: center; max-width: 800px; }.pi-hero h1 { font-size: clamp(3.7rem, 7.4vw, 8.2rem); max-width: 800px; }.pi-hero h1 em { color: var(--peach); }.pi-hero-copy > p:not(.eyebrow) { font-size: clamp(1rem, 1.45vw, 1.18rem); line-height: 1.7; max-width: 590px; }
.pi-hero-facts { align-self: end; border-left: 1px solid rgba(255,255,255,.42); display: grid; gap: 1.1rem; justify-self: end; max-width: 300px; padding: 1.1rem 0 1.1rem 1.7rem; width: 100%; }.pi-hero-facts div { display: grid; gap: .08rem; }.pi-hero-facts strong { color: var(--peach); font-family: var(--serif); font-size: 2.35rem; font-weight: 400; line-height: 1; }.pi-hero-facts span { font-size: .66rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.pi-help { align-items: start; display: grid; gap: clamp(3rem, 10vw, 12rem); grid-template-columns: minmax(250px, .75fr) minmax(0, 1.25fr); }.pi-help-title { position: sticky; top: 130px; }.pi-help h2, .pi-fee h2, .pi-rights h2 { font-size: clamp(3rem, 5.6vw, 6.1rem); margin-bottom: 0; }.pi-help h2 em, .pi-fee h2 em, .pi-rights h2 em { color: var(--teal); }.pi-help-copy > p { font-size: 1.08rem; line-height: 1.8; max-width: 720px; }.pi-help-copy > p + p { margin-top: 1.3rem; }
.pi-benefits { border-top: 1px solid var(--line); display: grid; gap: 1.1rem; grid-template-columns: repeat(3, 1fr); margin-top: 2.8rem; padding-top: 1.2rem; }.pi-benefits > div { display: grid; gap: .8rem; grid-template-columns: 42px 1fr; }.pi-benefits p { color: #526a70; font-size: .78rem; line-height: 1.58; margin: 0; }.pi-benefits strong { color: var(--navy); display: block; font-size: .8rem; margin-bottom: .3rem; }
.pi-icon { align-items: center; border: 1px solid currentColor; border-radius: 50%; color: var(--teal); display: inline-flex; font-size: .7rem; font-weight: 700; height: 36px; justify-content: center; letter-spacing: .04em; line-height: 1; width: 36px; }
.pi-evaluation { background: var(--navy); color: white; }.pi-evaluation .section-heading h2 { color: white; }.pi-evaluation .section-heading h2 em { color: var(--peach); }.pi-evaluation .section-heading > p:last-child { color: rgba(255,255,255,.72); margin: 1.2rem auto 0; max-width: 650px; }.pi-evaluation-grid { display: grid; gap: 1px; grid-template-columns: repeat(5, 1fr); margin: 0 auto; max-width: 1380px; }.pi-evaluation-grid article { background: rgba(255,255,255,.045); min-height: 300px; padding: 1.5rem; transition: background .25s ease, transform .25s ease; }.pi-evaluation-grid article:hover { background: var(--teal); transform: translateY(-6px); }.pi-evaluation .pi-icon { color: var(--peach); }.pi-evaluation-grid h3 { color: white; font-family: var(--sans); font-size: 1.02rem; font-weight: 700; letter-spacing: 0; margin: 4.5rem 0 .75rem; }.pi-evaluation-grid p { color: rgba(255,255,255,.72); font-size: .8rem; line-height: 1.65; margin: 0; }
.pi-fee { align-items: stretch; display: grid; gap: clamp(3rem, 8vw, 9rem); grid-template-columns: minmax(250px, .75fr) minmax(0, 1.25fr); }.pi-fee-photo { background: var(--mint); min-height: 610px; overflow: hidden; position: relative; }.pi-fee-photo::after { border: 1px solid rgba(8,125,127,.5); border-radius: 50%; content: ""; height: 75%; position: absolute; right: -20%; top: 11%; width: 75%; }.pi-fee-photo img { height: 100%; min-height: 610px; object-fit: cover; object-position: center top; width: 100%; }.pi-fee-copy { align-self: center; max-width: 690px; }.pi-fee-copy > p:not(.eyebrow) { font-size: 1.04rem; line-height: 1.75; margin: 1.65rem 0 2rem; max-width: 650px; }.pi-fee-list { border-top: 1px solid var(--line); list-style: none; margin: 0 0 2rem; padding: 0; }.pi-fee-list li { border-bottom: 1px solid var(--line); display: grid; gap: 1rem; grid-template-columns: 36px 1fr; padding: 1.1rem 0; }.pi-fee-list > li > span { color: var(--teal); font-size: .67rem; font-weight: 700; letter-spacing: .08em; }.pi-fee-list strong { font-size: .9rem; }.pi-fee-list p { color: #5e7478; font-size: .82rem; line-height: 1.55; margin: .28rem 0 0; }
.pi-rights { background: var(--mint); display: grid; gap: clamp(3rem, 8vw, 10rem); grid-template-columns: .78fr 1.22fr; }.pi-rights-intro > p:not(.eyebrow) { font-size: 1.04rem; line-height: 1.75; margin-top: 1.6rem; max-width: 520px; }.pi-rights-grid { display: grid; gap: 1px; grid-template-columns: repeat(2, 1fr); }.pi-rights-grid article { background: var(--white); min-height: 210px; padding: 1.5rem; transition: background .25s ease, color .25s ease, transform .25s ease; }.pi-rights-grid article:hover { background: var(--teal); color: white; transform: translateY(-4px); }.pi-rights-grid article:hover .pi-icon { color: var(--peach); }.pi-rights-grid h3 { font-size: 1.75rem; margin: 2.7rem 0 .5rem; }.pi-rights-grid p { color: #566b70; font-size: .82rem; line-height: 1.55; margin: 0; }.pi-rights-grid article:hover p { color: rgba(255,255,255,.78); }
.pi-cta { background: var(--teal); color: white; margin: clamp(1.2rem, 6vw, 7rem); overflow: hidden; padding: clamp(4rem, 9vw, 8rem) clamp(1.2rem, 8vw, 9rem); position: relative; text-align: center; }.pi-cta::before { border: 1px solid rgba(255,255,255,.2); border-radius: 50%; content: ""; height: 620px; left: 50%; position: absolute; top: 50%; transform: translate(-50%,-50%); width: 620px; }.pi-cta > * { position: relative; z-index: 1; }.pi-cta h2 { font-size: clamp(3rem, 6vw, 6.7rem); margin: 0 auto 1.5rem; max-width: 1000px; }.pi-cta h2 em { color: var(--peach); }.pi-cta > p:not(.eyebrow) { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }.pi-cta .button { margin-top: 1.3rem; }
body.has-motion [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }body.has-motion [data-reveal].is-visible { opacity: 1; transform: translateY(0); }.pi-evaluation-grid article:nth-child(2), .pi-rights-grid article:nth-child(2) { transition-delay: .09s; }.pi-evaluation-grid article:nth-child(3), .pi-rights-grid article:nth-child(3) { transition-delay: .18s; }.pi-evaluation-grid article:nth-child(4), .pi-rights-grid article:nth-child(4) { transition-delay: .27s; }.pi-evaluation-grid article:nth-child(5), .pi-rights-grid article:nth-child(5) { transition-delay: .36s; }
@media (max-width: 1000px) { .pi-evaluation-grid { grid-template-columns: repeat(3, 1fr); }.pi-evaluation-grid article:last-child { grid-column: span 2; }.pi-help, .pi-fee, .pi-rights { grid-template-columns: 1fr; }.pi-help-title { position: static; }.pi-benefits { max-width: 760px; }.pi-fee-photo { max-width: 570px; width: 100%; }.pi-rights-intro { max-width: 660px; } }
@media (max-width: 700px) { .pi-hero { display: block; min-height: 0; padding: 3rem 1.2rem 2.3rem; }.pi-hero h1 { font-size: clamp(3rem, 14vw, 4.4rem); }.pi-hero-copy > p:not(.eyebrow) { font-size: .96rem; line-height: 1.58; }.pi-hero .hero-actions .button { width: 100%; }.pi-hero-facts { border-left: 0; border-top: 1px solid rgba(255,255,255,.35); grid-template-columns: repeat(3, 1fr); margin-top: 3rem; max-width: none; padding: 1.1rem 0 0; }.pi-hero-facts strong { font-size: 1.8rem; }.pi-hero-facts span { font-size: .55rem; letter-spacing: .08em; }.pi-help { gap: 2.2rem; }.pi-benefits { grid-template-columns: 1fr; }.pi-evaluation-grid { grid-template-columns: 1fr; }.pi-evaluation-grid article, .pi-evaluation-grid article:last-child { grid-column: auto; min-height: 0; }.pi-evaluation-grid h3 { margin-top: 2rem; }.pi-fee-photo, .pi-fee-photo img { min-height: 420px; }.pi-rights { gap: 2.4rem; }.pi-rights-grid { grid-template-columns: 1fr; }.pi-rights-grid article { min-height: 0; }.pi-rights-grid h3 { margin-top: 1.7rem; }.pi-cta { margin: 0; }.pi-cta h2 { font-size: clamp(2.8rem, 13vw, 4.3rem); } }
@media (prefers-reduced-motion: reduce) { body.has-motion [data-reveal] { opacity: 1; transform: none; } }
@media (max-width: 900px) { .nav-dropdown { text-align: center; width: 100%; }.nav-practice-toggle { font-family: var(--serif); font-size: 2rem; text-transform: none; }.nav-practice-toggle::after { display: none; }.practice-menu { background: transparent; border: 0; box-shadow: none; display: none; left: auto; margin: .7rem 0 0; min-width: 0; opacity: 1; padding: 0; pointer-events: auto; position: static; transform: none; visibility: visible; }.practice-menu::before { display: none; }.nav-dropdown.is-open .practice-menu { display: grid; }.practice-menu a { color: var(--teal-deep); font-family: var(--sans); font-size: .78rem; padding: .5rem; }.nav-dropdown:hover .practice-menu, .nav-dropdown:focus-within .practice-menu { transform: none; } }

/* DUI and criminal defense detail page */
.dui-hero { background: var(--navy); color: white; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); min-height: min(690px, calc(100vh - 136px)); overflow: hidden; padding: clamp(4rem, 9vw, 9rem) clamp(1.2rem, 8vw, 9rem); position: relative; }.dui-hero .hero-video::after { background: linear-gradient(105deg, rgba(9,25,35,.82), rgba(14,41,53,.62) 55%, rgba(6,102,105,.42)); }.dui-hero-copy, .dui-case-mark { position: relative; z-index: 1; }.dui-hero-copy { align-self: center; max-width: 800px; }.dui-hero h1 { font-size: clamp(3.7rem, 7.4vw, 8.2rem); max-width: 800px; }.dui-hero h1 em { color: var(--peach); }.dui-hero-copy > p:not(.eyebrow) { font-size: clamp(1rem, 1.45vw, 1.18rem); line-height: 1.7; max-width: 570px; }.dui-case-mark { align-self: end; border: 1px solid rgba(233,191,150,.78); display: grid; gap: .35rem; justify-self: end; max-width: 330px; padding: 2rem; position: relative; width: 100%; }.dui-case-mark::before, .dui-case-mark::after { border: 1px solid rgba(255,255,255,.28); content: ""; height: 22px; position: absolute; width: 22px; }.dui-case-mark::before { border-bottom: 0; border-right: 0; left: -8px; top: -8px; }.dui-case-mark::after { border-left: 0; border-top: 0; bottom: -8px; right: -8px; }.dui-case-mark span, .dui-case-mark i { color: var(--peach); font-size: .66rem; font-style: normal; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }.dui-case-mark strong { font-family: var(--serif); font-size: clamp(4rem, 7vw, 6.3rem); font-weight: 400; letter-spacing: -.07em; line-height: .8; }
.dui-help { align-items: start; display: grid; gap: clamp(3rem, 10vw, 12rem); grid-template-columns: minmax(250px, .75fr) minmax(0, 1.25fr); }.dui-help-title { position: sticky; top: 130px; }.dui-help h2, .dui-focus h2, .dui-rights h2 { font-size: clamp(3rem, 5.6vw, 6.1rem); margin-bottom: 0; }.dui-help h2 em, .dui-focus h2 em, .dui-rights h2 em { color: var(--teal); }.dui-help-copy > p { font-size: 1.08rem; line-height: 1.8; max-width: 720px; }.dui-help-copy > p + p { margin-top: 1.3rem; }.dui-support-grid { border-top: 1px solid var(--line); display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); margin-top: 2.8rem; }.dui-support-grid > div { padding: 1.25rem 1.1rem 1.15rem 0; }.dui-support-grid > div + div { border-left: 1px solid var(--line); padding-left: 1.1rem; }.dui-support-grid h3 { font-family: var(--sans); font-size: .9rem; font-weight: 700; letter-spacing: 0; margin: 2.5rem 0 .45rem; }.dui-support-grid p { color: #526a70; font-size: .8rem; line-height: 1.58; margin: 0; }
.dui-matters { background: var(--navy); color: white; }.dui-matters .section-heading h2 { color: white; }.dui-matters .section-heading h2 em { color: var(--peach); }.dui-matters .section-heading > p:last-child { color: rgba(255,255,255,.72); margin: 1.2rem auto 0; max-width: 650px; }.dui-matters-grid { display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); margin: 0 auto; max-width: 1380px; }.dui-matters-grid article { background: rgba(255,255,255,.045); min-height: 270px; padding: 1.5rem; transition: background .25s ease, transform .25s ease; }.dui-matters-grid article:hover { background: var(--teal); transform: translateY(-6px); }.dui-matters .pi-icon { color: var(--peach); }.dui-matters-grid h3 { color: white; font-family: var(--sans); font-size: 1.02rem; font-weight: 700; letter-spacing: 0; margin: 3.7rem 0 .75rem; }.dui-matters-grid p { color: rgba(255,255,255,.72); font-size: .8rem; line-height: 1.65; margin: 0; }
.dui-focus { align-items: stretch; display: grid; gap: clamp(3rem, 8vw, 9rem); grid-template-columns: minmax(250px, .75fr) minmax(0, 1.25fr); }.dui-casefile { background: var(--cream-deep); color: var(--navy); display: flex; flex-direction: column; justify-content: flex-end; min-height: 610px; overflow: hidden; padding: 2rem; position: relative; }.dui-casefile::before { border: 1px solid var(--teal); border-radius: 50%; content: ""; height: 112%; left: -38%; position: absolute; top: -24%; width: 135%; }.dui-casefile::after { background: repeating-linear-gradient(90deg, transparent 0 23px, rgba(20,43,56,.12) 24px 25px); content: ""; inset: 0; opacity: .55; position: absolute; }.dui-casefile > * { position: relative; z-index: 1; }.dui-casefile span { color: var(--teal-deep); font-size: .68rem; font-weight: 700; letter-spacing: .17em; }.dui-casefile strong { color: var(--navy); font-family: var(--serif); font-size: clamp(5.5rem, 11vw, 10rem); font-weight: 400; letter-spacing: -.09em; line-height: .76; margin: 1.1rem 0; }.dui-casefile i { color: #53666c; font-family: var(--serif); font-size: 1.65rem; font-style: italic; line-height: 1.05; }.dui-focus-copy { align-self: center; max-width: 690px; }.dui-focus-copy > p:not(.eyebrow) { font-size: 1.04rem; line-height: 1.75; margin: 1.65rem 0; max-width: 650px; }.dui-questions { border-left: 2px solid var(--teal); margin-top: 2rem; padding: .2rem 0 .2rem 1.3rem; }.dui-questions h3 { font-size: 1.25rem; margin: 0 0 .8rem; }.dui-questions ul { color: #5b6d72; font-size: .8rem; line-height: 1.75; margin: 0; padding-left: 1rem; }
.dui-rights { background: var(--mint); display: grid; gap: clamp(3rem, 9vw, 12rem); grid-template-columns: .78fr 1.22fr; }.dui-rights > div:last-child { max-width: 780px; }.dui-rights > div:last-child p { font-size: 1.04rem; line-height: 1.78; }.dui-rights > div:last-child p + p { margin-top: 1.2rem; }.dui-rights .text-link { margin-top: 1rem; }.dui-cta { background: var(--teal); color: white; margin: clamp(1.2rem, 6vw, 7rem); overflow: hidden; padding: clamp(4rem, 9vw, 8rem) clamp(1.2rem, 8vw, 9rem); position: relative; text-align: center; }.dui-cta::before { border: 1px solid rgba(255,255,255,.2); border-radius: 50%; content: ""; height: 620px; left: 50%; position: absolute; top: 50%; transform: translate(-50%,-50%); width: 620px; }.dui-cta > * { position: relative; z-index: 1; }.dui-cta h2 { font-size: clamp(3rem, 6vw, 6.7rem); margin: 0 auto 1.5rem; max-width: 1000px; }.dui-cta h2 em { color: var(--peach); }.dui-cta > p:not(.eyebrow) { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }.dui-cta .button { margin-top: 1.3rem; }
@media (max-width: 1000px) { .dui-matters-grid { grid-template-columns: repeat(2, 1fr); }.dui-help, .dui-focus, .dui-rights { grid-template-columns: 1fr; }.dui-help-title { position: static; }.dui-focus .dui-casefile { max-width: 570px; width: 100%; }.dui-rights > div:last-child { max-width: 780px; } }
@media (max-width: 700px) { .dui-hero { display: block; min-height: 0; padding: 3rem 1.2rem 2.3rem; }.dui-hero h1 { font-size: clamp(3rem, 14vw, 4.4rem); }.dui-hero-copy > p:not(.eyebrow) { font-size: .96rem; line-height: 1.58; }.dui-hero .hero-actions .button { width: 100%; }.dui-case-mark { margin-top: 3rem; max-width: 260px; padding: 1.5rem; }.dui-case-mark strong { font-size: 4.6rem; }.dui-help { gap: 2.2rem; }.dui-support-grid, .dui-matters-grid { grid-template-columns: 1fr; }.dui-support-grid > div + div { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; }.dui-support-grid h3 { margin-top: 1.5rem; }.dui-matters-grid article { min-height: 0; }.dui-matters-grid h3 { margin-top: 2rem; }.dui-casefile { min-height: 410px; }.dui-casefile strong { font-size: 6.5rem; }.dui-rights { gap: 2.4rem; }.dui-cta { margin: 0; }.dui-cta h2 { font-size: clamp(2.8rem, 13vw, 4.3rem); } }

/* Domestic violence detail page */
.dv-hero { background: var(--navy); color: white; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(280px, .88fr); min-height: min(690px, calc(100vh - 136px)); overflow: hidden; padding: clamp(4rem, 9vw, 9rem) clamp(1.2rem, 8vw, 9rem); position: relative; }.dv-hero .hero-video::after { background: linear-gradient(105deg, rgba(8,51,56,.7), rgba(8,125,127,.38) 55%, rgba(20,43,56,.58)); }.dv-hero-copy, .dv-hero-panel { position: relative; z-index: 1; }.dv-hero-copy { align-self: center; max-width: 850px; }.dv-hero h1 { font-size: clamp(3.45rem, 7vw, 7.85rem); max-width: 900px; }.dv-hero h1 em { color: var(--peach); }.dv-hero-copy > p:not(.eyebrow) { font-size: clamp(1rem, 1.45vw, 1.18rem); line-height: 1.7; max-width: 585px; }.dv-hero-panel { align-self: end; border: 1px solid rgba(233,191,150,.72); display: grid; gap: .75rem; justify-self: end; max-width: 330px; padding: 2rem; width: 100%; }.dv-hero-panel span { color: var(--peach); font-size: .66rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }.dv-hero-panel strong { border-top: 1px solid rgba(255,255,255,.28); font-family: var(--serif); font-size: clamp(2.1rem, 3.2vw, 3.4rem); font-weight: 400; line-height: 1; padding-top: .75rem; }
.dv-help { align-items: start; display: grid; gap: clamp(3rem, 10vw, 12rem); grid-template-columns: minmax(250px, .75fr) minmax(0, 1.25fr); }.dv-help-title { position: sticky; top: 130px; }.dv-help h2, .dv-focus h2, .dv-options h2 { font-size: clamp(3rem, 5.6vw, 6.1rem); margin-bottom: 0; }.dv-help h2 em, .dv-focus h2 em, .dv-options h2 em { color: var(--teal); }.dv-help-copy > p { font-size: 1.08rem; line-height: 1.8; max-width: 740px; }.dv-help-copy > p + p { margin-top: 1.3rem; }.dv-support-grid { border-top: 1px solid var(--line); display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); margin-top: 2.8rem; }.dv-support-grid > div { padding: 1.25rem 1.1rem 1.15rem 0; }.dv-support-grid > div + div { border-left: 1px solid var(--line); padding-left: 1.1rem; }.dv-support-grid h3 { font-family: var(--sans); font-size: .9rem; font-weight: 700; letter-spacing: 0; margin: 2.5rem 0 .45rem; }.dv-support-grid p { color: #526a70; font-size: .8rem; line-height: 1.58; margin: 0; }
.dv-matters { background: var(--navy); color: white; }.dv-matters .section-heading h2 { color: white; }.dv-matters .section-heading h2 em { color: var(--peach); }.dv-matters .section-heading > p:last-child { color: rgba(255,255,255,.72); margin: 1.2rem auto 0; max-width: 670px; }.dv-matters-grid { display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); margin: 0 auto; max-width: 1380px; }.dv-matters-grid article { background: rgba(255,255,255,.045); min-height: 276px; padding: 1.5rem; transition: background .25s ease, transform .25s ease; }.dv-matters-grid article:hover { background: var(--teal); transform: translateY(-6px); }.dv-matters .pi-icon { color: var(--peach); }.dv-matters-grid h3 { color: white; font-family: var(--sans); font-size: 1.02rem; font-weight: 700; letter-spacing: 0; margin: 3.7rem 0 .75rem; }.dv-matters-grid p { color: rgba(255,255,255,.72); font-size: .8rem; line-height: 1.65; margin: 0; }
.dv-focus { align-items: stretch; display: grid; gap: clamp(3rem, 8vw, 9rem); grid-template-columns: minmax(250px, .75fr) minmax(0, 1.25fr); }.dv-casefile { background: var(--cream-deep); color: var(--navy); display: flex; flex-direction: column; justify-content: flex-end; min-height: 610px; overflow: hidden; padding: 2rem; position: relative; }.dv-casefile::before { border: 1px solid var(--teal); border-radius: 50%; content: ""; height: 118%; left: -40%; position: absolute; top: -18%; width: 138%; }.dv-casefile::after { background: linear-gradient(135deg, rgba(8,125,127,.14), transparent 44%), repeating-linear-gradient(0deg, transparent 0 30px, rgba(20,43,56,.12) 31px 32px); content: ""; inset: 0; opacity: .75; position: absolute; }.dv-casefile > * { position: relative; z-index: 1; }.dv-casefile span { color: var(--teal-deep); font-size: .68rem; font-weight: 700; letter-spacing: .17em; }.dv-casefile strong { color: var(--navy); font-family: var(--serif); font-size: clamp(6rem, 12vw, 11rem); font-weight: 400; letter-spacing: -.09em; line-height: .76; margin: 1.1rem 0; }.dv-casefile i { color: #53666c; font-family: var(--serif); font-size: 1.65rem; font-style: italic; line-height: 1.05; }.dv-focus-copy { align-self: center; max-width: 690px; }.dv-focus-copy > p:not(.eyebrow) { font-size: 1.04rem; line-height: 1.75; margin: 1.65rem 0; max-width: 650px; }.dv-defense-list { border-left: 2px solid var(--teal); margin-top: 2rem; padding: .2rem 0 .2rem 1.3rem; }.dv-defense-list h3 { font-size: 1.25rem; margin: 0 0 .8rem; }.dv-defense-list ul { color: #5b6d72; font-size: .8rem; line-height: 1.75; margin: 0; padding-left: 1rem; }
.dv-options { background: var(--mint); display: grid; gap: clamp(3rem, 9vw, 12rem); grid-template-columns: .78fr 1.22fr; }.dv-options > div:last-child { max-width: 780px; }.dv-options > div:last-child p { font-size: 1.04rem; line-height: 1.78; }.dv-options > div:last-child p + p { margin-top: 1.2rem; }.dv-options .text-link { margin-top: 1rem; }.dv-cta { background: var(--teal); color: white; margin: clamp(1.2rem, 6vw, 7rem); overflow: hidden; padding: clamp(4rem, 9vw, 8rem) clamp(1.2rem, 8vw, 9rem); position: relative; text-align: center; }.dv-cta::before { border: 1px solid rgba(255,255,255,.2); border-radius: 50%; content: ""; height: 620px; left: 50%; position: absolute; top: 50%; transform: translate(-50%,-50%); width: 620px; }.dv-cta > * { position: relative; z-index: 1; }.dv-cta h2 { font-size: clamp(3rem, 6vw, 6.7rem); margin: 0 auto 1.5rem; max-width: 1000px; }.dv-cta h2 em { color: var(--peach); }.dv-cta > p:not(.eyebrow) { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }.dv-cta .button { margin-top: 1.3rem; }
@media (max-width: 1000px) { .dv-matters-grid { grid-template-columns: repeat(2, 1fr); }.dv-help, .dv-focus, .dv-options { grid-template-columns: 1fr; }.dv-help-title { position: static; }.dv-focus .dv-casefile { max-width: 570px; width: 100%; }.dv-options > div:last-child { max-width: 780px; } }
@media (max-width: 700px) { .dv-hero { display: block; min-height: 0; padding: 3rem 1.2rem 2.3rem; }.dv-hero h1 { font-size: clamp(2.9rem, 13vw, 4.25rem); }.dv-hero-copy > p:not(.eyebrow) { font-size: .96rem; line-height: 1.58; }.dv-hero .hero-actions .button { width: 100%; }.dv-hero-panel { margin-top: 2.7rem; max-width: 260px; padding: 1.35rem; }.dv-hero-panel strong { font-size: 2.05rem; }.dv-help { gap: 2.2rem; }.dv-support-grid, .dv-matters-grid { grid-template-columns: 1fr; }.dv-support-grid > div + div { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; }.dv-support-grid h3 { margin-top: 1.5rem; }.dv-matters-grid article { min-height: 0; }.dv-matters-grid h3 { margin-top: 2rem; }.dv-casefile { min-height: 410px; }.dv-casefile strong { font-size: 7rem; }.dv-options { gap: 2.4rem; }.dv-cta { margin: 0; }.dv-cta h2 { font-size: clamp(2.8rem, 13vw, 4.3rem); } }

/* Location landing pages */
.location-hero { background: var(--teal); color: white; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); min-height: min(640px, calc(100vh - 136px)); overflow: hidden; padding: clamp(4rem, 9vw, 8rem) clamp(1.2rem, 8vw, 9rem); position: relative; }.location-hero .hero-video::after { background: linear-gradient(105deg, rgba(0,74,76,.78), rgba(8,125,127,.42) 56%, rgba(20,43,56,.62)); }.location-hero-copy, .location-card { position: relative; z-index: 1; }.location-hero-copy { align-self: center; max-width: 850px; }.location-hero h1 { font-size: clamp(3.5rem, 7vw, 7.6rem); max-width: 900px; }.location-hero h1 em { color: var(--peach); }.location-hero-copy > p:not(.eyebrow) { font-size: clamp(1rem, 1.45vw, 1.18rem); line-height: 1.7; max-width: 620px; }.location-card { align-self: end; border: 1px solid rgba(233,191,150,.78); justify-self: end; max-width: 340px; padding: 1.7rem; width: 100%; }.location-card span { color: var(--peach); display: block; font-size: .66rem; font-weight: 700; letter-spacing: .15em; margin-bottom: .7rem; text-transform: uppercase; }.location-card strong { display: block; font-family: var(--serif); font-size: clamp(2.2rem, 3.6vw, 3.6rem); font-weight: 400; line-height: .9; }.location-card p { color: rgba(255,255,255,.78); font-size: .86rem; line-height: 1.55; margin: 1rem 0 0; }
.location-intro { display: grid; gap: clamp(3rem, 9vw, 11rem); grid-template-columns: .82fr 1.18fr; }.location-intro h2 { font-size: clamp(3rem, 5.5vw, 6rem); }.location-intro h2 em { color: var(--teal); }.location-intro p { font-size: 1.05rem; line-height: 1.78; }.location-intro p + p { margin-top: 1.2rem; }
.location-matters { background: var(--navy); color: white; }.location-matters h2 { color: white; }.location-matters h2 em { color: var(--peach); }.location-grid { display: grid; gap: 1px; grid-template-columns: repeat(4, 1fr); margin: 0 auto; max-width: 1380px; }.location-grid article { background: rgba(255,255,255,.045); min-height: 270px; padding: 1.5rem; transition: background .25s ease, transform .25s ease; }.location-grid article:hover { background: var(--teal); transform: translateY(-5px); }.location-grid span { align-items: center; border: 1px solid rgba(233,191,150,.72); border-radius: 50%; color: var(--peach); display: flex; font-size: .62rem; font-weight: 700; height: 34px; justify-content: center; width: 34px; }.location-grid h3 { color: white; font-family: var(--sans); font-size: 1.02rem; font-weight: 700; letter-spacing: 0; margin: 4rem 0 .75rem; }.location-grid p { color: rgba(255,255,255,.72); font-size: .8rem; line-height: 1.65; margin: 0; }
.location-cta { background: var(--teal); color: white; margin: clamp(1.2rem, 6vw, 7rem); overflow: hidden; padding: clamp(4rem, 8vw, 7rem) clamp(1.2rem, 8vw, 9rem); position: relative; text-align: center; }.location-cta::before { border: 1px solid rgba(255,255,255,.2); border-radius: 50%; content: ""; height: 560px; left: 50%; position: absolute; top: 50%; transform: translate(-50%,-50%); width: 560px; }.location-cta > * { position: relative; z-index: 1; }.location-cta h2 { font-size: clamp(3rem, 5.8vw, 6.2rem); margin: 0 auto 1.6rem; max-width: 1040px; }.location-cta h2 em { color: var(--peach); }.location-cta .button { margin-top: .6rem; }
.service-areas-strip { background: var(--mint); padding-top: clamp(3.4rem, 6vw, 6rem); padding-bottom: clamp(3.4rem, 6vw, 6rem); }.service-area-links { display: grid; gap: 1px; grid-template-columns: repeat(4, 1fr); margin: 0 auto; max-width: 1300px; }.service-area-links a { background: var(--white); color: var(--navy); font-size: .8rem; font-weight: 700; letter-spacing: .05em; min-height: 130px; padding: 1.35rem; text-transform: uppercase; transition: background .22s ease, color .22s ease, transform .22s ease; }.service-area-links a:hover, .service-area-links a:focus { background: var(--teal); color: white; transform: translateY(-4px); }.service-area-links span { color: var(--peach); display: block; font-size: 1.2rem; margin-top: 1.1rem; }
@media (max-width: 1000px) { .location-grid { grid-template-columns: repeat(2, 1fr); }.location-intro, .location-hero { grid-template-columns: 1fr; }.location-card { justify-self: start; } }
@media (max-width: 700px) { .location-hero { display: block; min-height: 0; padding: 3rem 1.2rem 2.3rem; }.location-hero h1 { font-size: clamp(2.9rem, 13vw, 4.2rem); }.location-hero .hero-actions .button { width: 100%; }.location-card { margin-top: 2.5rem; padding: 1.35rem; }.location-intro { gap: 2.3rem; }.location-grid, .service-area-links { grid-template-columns: 1fr; }.location-grid article { min-height: 0; }.location-grid h3 { margin-top: 2rem; }.location-cta { margin: 0; }.location-cta h2 { font-size: clamp(2.8rem, 13vw, 4.2rem); } }
