/* Three sections, using the current homepage's typography, proportions and imagery.
   Hero: the title takes its own width and the intro sits beside it at the home lockup's gap, so nothing drifts apart on wide screens. */
.practice-page{background:var(--paper)}.practice-hero{height:calc(calc(100svh / var(--z,1)) - 96px);min-height:600px;position:relative;isolation:isolate;display:flex;align-items:center;background:var(--navy);color:var(--paper);overflow:hidden}.practice-hero-poster,.practice-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:grayscale(1) contrast(1.05)}.practice-hero video{opacity:0}.practice-hero video.is-ready{opacity:1}.practice-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0c121d77,#07132370 45%,#0c121dce);z-index:1}.practice-hero-content{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(28px,calc(3.4vw / var(--z,1)),52px);padding-bottom:30px}.practice-hero h1{font:300 clamp(62px,calc(6.5vw / var(--z,1)),104px)/1.05 Spectral,Georgia,serif;letter-spacing:-.012em;white-space:nowrap}.practice-hero-content>p{font-size:clamp(16px,calc(1.35vw / var(--z,1)),20px);line-height:1.65;max-width:33ch;padding-left:36px;border-left:1px solid #dbe5f166;color:#eef1f6}.practice-explore{position:absolute;left:var(--rail);bottom:43px;z-index:2;font-size:12px;letter-spacing:.05em;padding-bottom:7px;border-bottom:1px solid #e6edf388}
.practice-services{padding:84px 0 54px;position:relative;overflow:hidden}.practice-services-in{position:relative}.practice-services-in::before,.practice-services-in::after{content:'';position:absolute;top:-84px;bottom:-88px;width:1px;background:var(--line);pointer-events:none}.practice-services-in::before{left:calc(var(--rail) - 27px)}.practice-services-in::after{right:calc(var(--rail) - 27px)}.practice-section-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:calc(6vw / var(--z,1));align-items:end}.practice-section-head .eyebrow{margin-bottom:22px}.practice-section-head h2{font-size:clamp(44px,calc(4vw / var(--z,1)),60px);line-height:1.08;letter-spacing:-.012em}.practice-section-head>p{font-size:19px;line-height:1.65;color:var(--body);padding-bottom:3px}.practice-section-rule{height:1px;background:var(--line);margin:33px 0 35px}.practice-services-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:calc(6vw / var(--z,1));align-items:stretch}.practice-services-photo{position:relative;min-height:420px;overflow:hidden;background:var(--navy)}.practice-services-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;filter:grayscale(1) contrast(1.06)}.practice-services-photo::after{content:'';position:absolute;inset:0;background:#13283d38;pointer-events:none}.practice-services-list{display:flex;flex-direction:column;justify-content:center;gap:31px;padding:9px 0}.practice-services-list h3{font-size:29px;line-height:1.2;letter-spacing:-.01em;margin-bottom:10px}.practice-services-list p{font-size:17px;line-height:1.7;color:var(--body);max-width:62ch}
.practice-approach{background:var(--paper);color:var(--ink);padding:0 0 86px}.practice-approach-in{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:calc(6vw / var(--z,1));align-items:start}.practice-approach .eyebrow{color:var(--accent);margin-bottom:25px}.practice-approach h2{font:400 clamp(44px,calc(4vw / var(--z,1)),60px)/1.08 Spectral,Georgia,serif;letter-spacing:-.012em}.practice-approach-copy{padding-top:4px}.practice-approach-copy p{font-size:18px;line-height:1.7;color:var(--body);margin-bottom:19px;max-width:46ch}.practice-approach-copy .text-link{color:var(--ink);margin-top:9px;font-size:15px}.practice-approach-copy .text-link:hover{color:var(--accent)}.ending::before{display:none}.foot{padding-top:0}.foot__cols{padding-top:39px;padding-bottom:35px}.foot__wm{font-size:29px}
@media (min-width:1800px) and (max-width:1600px){.practice-services-in::before{left:43px}.practice-services-in::after{right:43px}.practice-explore{left:max(70px,calc((calc(100vw / var(--z,1)) - 1600px)/2 + 70px))}}
@media(max-width:1100px){.practice-hero-content{grid-template-columns:auto minmax(0,1fr);gap:30px}.practice-hero h1{font-size:calc(6.4vw / var(--z,1))}.practice-hero-content>p{font-size:18px;padding-left:24px}.practice-services-list h3{font-size:27px}.practice-services-list p{font-size:16px}.practice-section-head>p{font-size:17px}}
@media(max-width:760px){.practice-hero{height:calc(calc(100svh / var(--z,1)) - 78px);min-height:520px}.practice-hero-content{display:block;padding-bottom:25px}.practice-hero h1{font-size:clamp(49px,calc(10.6vw / var(--z,1)),72px);white-space:normal;max-width:12ch;line-height:1.08}.practice-hero-content>p{font-size:18px;line-height:1.65;padding:0;border:0;margin-top:25px;max-width:33ch}.practice-explore{bottom:30px}.practice-services{padding:54px 0 57px}.practice-services-in::before,.practice-services-in::after{display:none}.practice-section-head{grid-template-columns:1fr;gap:22px}.practice-section-head .eyebrow{margin-bottom:18px}.practice-section-head h2{font-size:38px;line-height:1.15}.practice-section-head>p{font-size:17px;max-width:none}.practice-section-rule{margin:27px 0}.practice-services-body{grid-template-columns:1fr;gap:31px}.practice-services-photo{min-height:0;aspect-ratio:4/3}.practice-services-list{gap:30px;padding:0}.practice-services-list h3{font-size:28px}.practice-services-list p{font-size:16px}.practice-approach{padding:0 0 56px}.practice-approach-in{grid-template-columns:1fr;gap:28px}.practice-approach h2{font-size:38px}.practice-approach-copy p{font-size:17px}.practice-approach .eyebrow{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.practice-hero video{display:none}}

/* A continuous paper surface and shared rails for both content sections. */
.practice-content{position:relative;background:var(--paper);overflow:hidden}
.practice-content::before,.practice-content::after{content:'';position:absolute;top:0;bottom:0;width:1px;background:var(--line);pointer-events:none}
.practice-content::before{left:calc(var(--rail) - 27px)}.practice-content::after{right:calc(var(--rail) - 27px)}
.practice-services-in::before,.practice-services-in::after{display:none}
.practice-approach-in{position:relative;padding-top:51px}
.practice-approach-in::before{content:'';position:absolute;top:0;left:var(--rail);right:var(--rail);height:1px;background:var(--line)}
@media (min-width:1800px) and (max-width:1600px){.practice-content::before{left:calc((100% - 1600px)/2 + 43px)}.practice-content::after{right:calc((100% - 1600px)/2 + 43px)}}
@media(max-width:760px){.practice-content::before{left:12px}.practice-content::after{right:12px}.practice-approach-in{padding-top:37px}}

/* A taller, photographic approach section, on the same continuous paper grid. */
.practice-approach{min-height:min(calc(100svh / var(--z,1)),1080px);display:flex;align-items:stretch;padding-bottom:clamp(64px,calc(8vh / var(--z,1)),96px)}
.practice-approach-in{width:100%;padding-top:clamp(60px,calc(8vh / var(--z,1)),96px);align-items:center}
.practice-approach-heading{max-width:650px}
.practice-approach-copy{padding-top:0;margin-top:30px}
.practice-approach-copy p{max-width:58ch}
.practice-approach-photo{height:clamp(480px,calc(62vh / var(--z,1)),680px);margin:0;position:relative;overflow:hidden;background:var(--navy)}
.practice-approach-photo img{width:100%;height:100%;object-fit:cover;object-position:48% 50%;filter:grayscale(.85) contrast(1.04)}
.practice-approach-photo::after{content:'';position:absolute;inset:0;background:rgba(16,34,54,.10);pointer-events:none}
@media(max-width:760px){
 .practice-approach{min-height:0;display:block;padding-bottom:64px}
 .practice-approach-in{padding-top:48px;gap:28px;align-items:start}
 .practice-approach-text{display:contents}
 .practice-approach-heading{order:0}
 .practice-approach-photo{order:1;height:auto;aspect-ratio:5/4;width:100%}
 .practice-approach-photo img{position:absolute;inset:0;object-position:48% 50%}
 .practice-approach-copy{order:2;margin-top:0}
}

/* Wide screens: the rail fills the screen, so the photo and the text share the row evenly and the text keeps a readable measure. */
@media(min-width:1800px){.practice-services-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.practice-approach-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.about-serve .practice-services-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* Hero lockup centred in the frame on every practice page, like the home page. */
.practice-hero-content{grid-template-columns:auto auto;justify-content:center}
@media(max-width:760px){.practice-hero-content{text-align:center}.practice-hero h1{margin-inline:auto}.practice-hero-content>p{margin-inline:auto}}
/* Mason 2026-09-12 "improve the scroll feel": the hero clip and poster are pre-graded files, so phones skip the per-frame filter. */
@media(max-width:900px){.practice-hero-poster,.practice-hero video{filter:none}}
