.practice{border-top:1px solid var(--line);background:var(--surface)}
.practice-list{margin-top:45px}
.practice-list details{border-top:1px solid var(--line)}
.practice-list details:last-child{border-bottom:1px solid var(--line)}
.practice-list summary{display:flex;align-items:center;list-style:none;cursor:pointer;gap:24px;padding:28px 0}
.practice-list summary::-webkit-details-marker{display:none}
.practice-list h3{font:400 clamp(29px,2.6vw,42px)/1.12 var(--serif);letter-spacing:-.015em;margin:0}
.practice-list details[open] h3{color:var(--wine)}
.practice-body{padding:0 65px 32px 50px;max-width:800px}
.practice-body p{color:var(--charcoal);font-size:16px;line-height:1.85;margin-bottom:20px}
.practice-link{display:inline-flex;gap:24px;align-items:center;color:var(--wine);font-size:14px;border-bottom:1px solid var(--wine);padding-bottom:6px}
.practice-link span{font-size:20px}
.team{border-top:1px solid var(--line)}
.team-intro{color:var(--charcoal);line-height:1.8;margin-bottom:35px}
.team-panel{display:grid;grid-template-columns:.7fr 1.3fr;border:1px solid var(--line);margin-top:40px;min-height:340px}
.team-emblem{display:flex;align-items:center;justify-content:center;gap:clamp(16px,2.5vw,38px);background:var(--wine);padding:48px 30px;overflow:hidden}
.team-emblem span{height:210px;width:3px;background:linear-gradient(to right,#8A8D91,#FFF8EB);box-shadow:12px 12px 25px rgba(1,1,20,.2);transform:skewY(-18deg)}
.team-emblem span:nth-child(2){height:240px}.team-emblem span:nth-child(3){height:270px}
.team-panel-copy{padding:clamp(28px,4vw,56px);align-self:center}
.team-panel-copy .team-kicker{font-size:10px;letter-spacing:.15em;color:var(--wine);margin-bottom:24px}
.team-panel-copy h3{font-family:var(--heading);font-weight:200;font-size:clamp(26px,2.8vw,40px);line-height:1.2;margin-bottom:22px}
.team-panel-copy>p:not(.team-kicker){font-size:14px;line-height:1.85;color:var(--charcoal);max-width:460px;margin-bottom:20px}
.team-panel-copy .text-link{gap:24px;font-size:13px}
@media(max-width:760px){.team-panel{grid-template-columns:1fr;margin-top:28px}.team-emblem{height:180px;padding:25px;gap:26px}.team-emblem span{height:90px}.team-emblem span:nth-child(2){height:110px}.team-emblem span:nth-child(3){height:130px}.team-panel-copy{padding:30px 24px}}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.member-initial{aspect-ratio:4/3;position:relative;background:var(--wine);color:var(--lace);font:400 clamp(80px,9vw,148px)/1 var(--serif);display:grid;place-items:center;margin-bottom:20px}
.member-photo{aspect-ratio:9/16;position:relative;overflow:hidden;background:var(--lace);margin-bottom:20px}
.member-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 25%}
.team-member:nth-child(2) .member-initial{background:var(--ink)}
.member-initial>span:not(.three-lines){position:absolute;left:16px;top:15px;font:400 11px var(--sans);letter-spacing:.15em}
.member-pending{background:var(--charcoal)}
.member-pending .three-lines{height:66px;gap:12px}
.member-pending .three-lines i{width:2px}
.team-member h3{font:400 30px/1.1 var(--serif);margin-bottom:10px}
.team-member p{font-size:12px;color:var(--charcoal);line-height:1.6}
.team-member>p{color:var(--wine)}
.demo-note{font-size:12px;line-height:1.8;color:var(--charcoal);max-width:470px;margin-top:22px}
.practice-body,.principle-content{padding-left:0}
@media(max-width:380px){.header-contact{display:none}.menu-toggle{margin-left:auto}.hero h1{font-size:56px}}
@media(max-width:760px){.practice-list{margin-top:30px}.practice-list summary{gap:12px;padding:23px 0}.practice-list h3{font-size:27px}.practice-body,.principle-content{padding:0 10px 26px 0}.practice-body p{font-size:15px}.team-grid{gap:24px;grid-template-columns:1fr}.team-member{display:grid;grid-template-columns:110px 1fr;gap:0 22px;align-items:center}.member-initial{grid-row:1/3;margin-bottom:0;aspect-ratio:1;font-size:70px}.member-photo{grid-row:1/3;margin-bottom:0;aspect-ratio:9/16}.team-member h3{align-self:end;font-size:30px;margin:0 0 8px}.team-member p{align-self:start;margin:0}.member-pending .three-lines{height:40px;gap:8px}}

.team>.team-grid{grid-column:1/-1;width:100%;margin-top:0}
.team .team-intro{margin-bottom:0}
@media(max-width:760px){.team>.team-grid{margin-top:30px}}
/* Team introduction aligned with the rightmost card. */
@media(min-width:761px){
 .team.section{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:22px}
 .team>.section-label{grid-column:1;grid-row:1}
 .team>.team-main{grid-column:3;grid-row:1;text-align:center;min-width:0}
 .team .team-main h2{font-size:clamp(28px,3vw,54px);overflow-wrap:break-word;margin-bottom:24px}
 .team .team-intro{font-size:14px;line-height:1.8;margin:0 auto}
 .team>.team-grid{grid-row:2}
}
.team>.team-main{text-align:right}
.team-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.team-cta-panel{aspect-ratio:9/16;background:var(--wine);display:flex;align-items:flex-end;padding:26px}
.team-cta-link{display:flex;align-items:center;justify-content:space-between;width:100%;color:var(--lace);font-size:14px;font-weight:600;border-bottom:1px solid rgba(255,248,235,.6);padding-bottom:10px}
.team-cta-link span{font-size:20px;font-weight:400}
@media(max-width:1000px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.team-grid{grid-template-columns:1fr}.team-cta-panel{aspect-ratio:9/16}}
.team-carousel{display:contents}
.team-arrow{display:none}
@media(max-width:760px){
 .team.section{display:block}
 .team>.section-label{text-align:left}
 .team>.team-main{text-align:left}
 .team .team-main h2,.team .team-intro{text-align:left}
 .team-carousel{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;gap:8px;align-items:center;margin-top:28px}
 .team-grid{display:flex;gap:16px;overflow:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;margin:0}
 .team-member{display:block;flex:0 0 88%;scroll-snap-align:start}
 .team-member .member-photo,.team-member .team-cta-panel{aspect-ratio:9/16;margin-bottom:16px}
 .team-member h3{font-size:26px;margin-bottom:8px}
 .team-member p{font-size:12px;line-height:1.55}
 .team-arrow{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--wine);font-size:18px;cursor:pointer}
}
@media(max-width:760px){
 .services-carousel,.blog-carousel,.team-carousel{position:relative}
 .services-carousel .services-controls{position:absolute;top:0;right:0;z-index:3;display:flex;flex-direction:row;gap:8px;padding:0;background:transparent}
 .services-carousel .services-dots{display:none}
 .services-carousel .services-viewport{grid-column:1/-1;grid-row:1}
 .services-carousel .service-slide{padding-top:50px}
 .blog-carousel{display:block}
 .blog-carousel .blog-grid{width:100%}
 .blog-carousel .blog-arrow{position:absolute;top:-54px;z-index:2}
 .blog-carousel .blog-prev{right:42px}
 .blog-carousel .blog-next{right:0}
 .team-carousel{display:block}
 .team-carousel .team-grid{width:100%}
 .team-carousel .team-arrow{position:absolute;top:-42px;z-index:2}
 .team-carousel .team-prev{right:42px}
 .team-carousel .team-next{right:0}
}
@media(min-width:761px){
 .team-carousel{display:contents}
 .team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;width:100%;margin-top:0}
 .team-arrow{display:none}
 .team-member{display:block}
 .team-member .member-photo,.team-member .team-cta-panel{width:100%}
}
@media(min-width:761px){
 .team.section{display:block;padding-top:112px;padding-bottom:112px}
 .team>.section-label{margin-bottom:28px}
 .team>.team-main{max-width:760px;margin:0 0 42px auto;text-align:right}
 .team .team-main h2{margin-bottom:24px}
 .team .team-intro{max-width:680px;margin-left:auto}
 .team>.team-grid{display:grid;width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:0}
}
@media(max-width:760px){
 .blog-carousel .blog-arrow{top:-68px}
 .team-carousel .team-arrow{top:-58px}
 .practice .services-carousel .services-controls{top:-62px}
 .blog-carousel,.team-carousel{margin-top:56px}
 .practice .services-carousel{margin-top:58px}
}
@media(min-width:761px){
 .team.section{display:grid;grid-template-columns:30% minmax(0,1fr);gap:42px;align-items:center;padding-top:80px;padding-bottom:80px}
 .team>.section-label{display:none}
 .team>.team-main{grid-column:1;grid-row:1;max-width:none;margin:0;text-align:center;align-self:center}
 .team .team-main h2{font-size:clamp(30px,3.1vw,50px);line-height:1.13;margin:0 0 24px;overflow-wrap:normal}
 .team .team-intro{max-width:330px;margin:0 auto;text-align:center}
 .team>.team-carousel{grid-column:2;grid-row:1;display:block;position:relative;min-width:0;padding-top:48px}
 .team-carousel .team-grid{display:flex;gap:22px;width:100%;overflow:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;margin:0}
 .team-carousel .team-member{display:grid;grid-template-columns:minmax(220px,32%) minmax(0,1fr);column-gap:36px;align-items:center;flex:0 0 100%;scroll-snap-align:start;min-width:0;padding-left:clamp(90px,9vw,180px)}
 .team-carousel .team-member .member-photo{grid-column:1;width:100%;height:440px;aspect-ratio:auto;margin:0}
 .team-carousel .member-content{grid-column:2;align-self:center;padding:10px 0;max-width:610px}
 .team-carousel .member-content h3{margin:0 0 10px}
 .team-carousel .member-specialty{margin:0 0 26px;color:var(--wine);font-size:16px;line-height:1.55}
 .team-carousel .member-bio{margin:0 0 20px;color:var(--charcoal);font-size:16px;line-height:1.8;max-width:570px}
 .team-carousel .member-credentials{margin:0 0 25px;color:var(--charcoal);font-size:12px;line-height:1.6;letter-spacing:.04em;text-transform:uppercase}
 .team-carousel .member-link{display:inline-flex;align-items:center;gap:24px;padding-bottom:7px;border-bottom:1px solid var(--wine);color:var(--wine);font-size:14px;font-weight:600}
 .team-carousel .member-link span{font-size:18px;font-weight:400}
 .team-carousel .team-cta{display:block}
 .team-carousel .team-cta-panel{width:100%;min-height:440px;aspect-ratio:auto}
 .team-carousel .team-arrow{display:grid;place-items:center;position:absolute;top:0;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--wine);font-size:22px;cursor:pointer;z-index:2}
 .team-carousel .team-prev{right:54px}
 .team-carousel .team-next{right:0}
}
@media(min-width:761px) and (max-width:1100px){.team.section{grid-template-columns:32% minmax(0,1fr);gap:28px}.team .team-main h2{font-size:clamp(28px,3.2vw,42px)}.team-carousel .team-member{grid-template-columns:minmax(190px,34%) minmax(0,1fr);column-gap:24px;padding-left:64px}.team-carousel .team-member .member-photo,.team-carousel .team-cta-panel{height:auto;min-height:0}}

@media(min-width:761px){
 .team-carousel .team-member .member-photo{width:100%;height:auto;min-height:0;aspect-ratio:9/16}
 .team>.team-main{text-align:left}
 .team .team-main h2{text-align:left}
 .team .team-intro{margin-left:0;margin-right:0;text-align:left}
}

@media(max-width:760px){
 .team-carousel .member-content{border-left:0;padding:0}
 .team-carousel .member-specialty{margin-bottom:18px}
 .team-carousel .member-bio{font-size:15px;line-height:1.75;margin-bottom:18px}
 .team-carousel .member-credentials{margin-bottom:20px}
}


