/* Brand typefaces: Fraunces (display) and Montserrat (text), self-hosted under the SIL OFL. */
@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/fraunces-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/fraunces-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/montserrat-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/montserrat-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/montserrat-latin-600-normal.woff2") format("woff2")}
/* Keep the practice switcher stable: never swap its font after the first paint. */
@font-face{font-family:"Practice Switcher";font-style:normal;font-weight:500;font-display:optional;src:url("assets/fonts/montserrat-latin-500-normal.woff2") format("woff2")}
:root{--navy:#050B14;--ivory:#F2EFE6;--grey:#D6D1C4;--bronze:#9B465E;--slate:#3A4652;--paper:#F6ECEF;--accent-light:#E4ADB9;--accent-hover:#80364B;--accent-rgb:155,70,94;--accent-light-rgb:228,173,185;--vermillion:#D17A4F;--blue-grey:#94A5B1;--cta-bg:#9B465E;--cta-fg:#FFFFFF;
--fd:"Fraunces",Georgia,"Times New Roman",serif;--f:"Montserrat","Avenir Next","Segoe UI",system-ui,sans-serif;--ease:cubic-bezier(.2,.7,.2,1)}
/* --navy is the shared Midnight Navy; each practice keeps its own accent family. */
[data-brand=rose]{--navy:#050B14;--bronze:#246F69;--paper:#ECF4F2;--accent-light:#8BC9C1;--accent-hover:#1B5651;--accent-rgb:36,111,105;--accent-light-rgb:139,201,193;--cta-bg:#246F69;--cta-fg:#FFFFFF}
[data-brand=chapman]{--navy:#050B14;--bronze:#9E4A28;--paper:#E9E5D9;--accent-light:#D17A4F;--accent-hover:#7F3A1E;--accent-rgb:158,74,40;--accent-light-rgb:209,122,79;--cta-bg:#D17A4F;--cta-fg:#050B14}
:is([data-brand=rose],[data-brand=chapman]) :is(.groupbar,.referral,.cta,.contact-aside,.foot){--focus-accent:var(--accent-light)}
.site :is(.groupbar,.referral,.cta,.contact-aside,.foot){--focus-accent:var(--accent-light)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--slate);font-family:var(--f);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--navy);text-underline-offset:3px;text-decoration-color:var(--bronze)}
a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid var(--focus-accent,var(--bronze));outline-offset:3px}
h1,h2,h3{font-family:var(--fd);color:var(--navy);line-height:1.14;margin:0 0 .5em;font-weight:600;letter-spacing:-.01em;font-optical-sizing:auto}
h1{font-size:clamp(2.3rem,5.2vw,3.5rem);font-weight:700;letter-spacing:-.02em;line-height:1.08}
h2{font-size:clamp(1.6rem,3vw,2.5rem)}
h3{font-size:clamp(1.25rem,1.8vw,1.75rem);line-height:1.25}
p{margin:0 0 1em}
.wrap{width:min(1180px,100% - 2.5rem);margin-inline:auto}
.narrow{max-width:720px}.center{text-align:center}
.skip{position:absolute;left:-999px;background:var(--navy);color:var(--ivory);padding:.7rem 1rem;z-index:99}.skip:focus{left:1rem;top:1rem}
.eyebrow{display:block;font-size:.75rem;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze);font-weight:600;margin-bottom:1rem}
.rule{display:block;width:56px;height:3px;background:var(--accent-light);margin-top:1rem}.rule.mid{margin:0 auto 1.5rem}
.groupbar{background:var(--navy);color:var(--blue-grey);font-family:"Practice Switcher","Avenir Next","Segoe UI",system-ui,sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.groupbar-in{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 0;flex-wrap:wrap}
.groupbar ul{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;list-style:none;margin:0;padding:0}
.groupbar a{color:#C9D2D9;text-decoration:none;padding:.2rem 0;border-bottom:1px solid transparent}
.groupbar a:hover,.groupbar a[aria-current]{color:var(--ivory);border-color:var(--accent-light)}
:is([data-brand=rose],[data-brand=chapman]) .groupbar a:is(:hover,[aria-current]){border-color:var(--accent-light)}
.masthead{background:rgba(242,239,230,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--grey);position:sticky;top:0;z-index:20}
.masthead-in{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:84px}
.brandlink{text-decoration:none;display:flex;align-items:center;gap:.75rem}
.logo-img{display:block;width:min(260px,58vw);height:auto}
.logo-img.light{width:min(300px,80%)}
.brand-symbol{display:block;flex:none;width:auto;height:40px}
.foot .brand-symbol{height:46px}
.practice-logo{display:flex;align-items:center;gap:.75rem;min-width:0}
.practice-logo .logo-mask{width:min(240px,48vw)}
.foot .practice-logo{margin-bottom:.4rem}
.logo-mask{display:block;background:var(--navy);width:min(300px,52vw);aspect-ratio:4492/502;mask-repeat:no-repeat;mask-position:left center;mask-size:contain}
.logo-mask[data-wide=rose]{aspect-ratio:4140/502}
.logo-mask.light{background:var(--ivory);width:min(300px,80%)}
.logo-mask{-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;-webkit-mask-position:left center}
.wordmark{display:block;line-height:1.05}
.wordmark-main{font-family:var(--fd);font-size:clamp(1.3rem,3.6vw,1.6rem);letter-spacing:-.01em;color:var(--navy);font-weight:600;display:block}
:is([data-brand=rose],[data-brand=chapman]) .wordmark-main{font-family:var(--f);font-size:clamp(1.05rem,3vw,1.2rem);letter-spacing:.12em;text-transform:uppercase}
.wordmark-sub{display:block;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze);font-weight:600;margin-top:.3rem}
.foot .wordmark-main{color:var(--ivory)}.foot .wordmark-sub{color:var(--accent-light)}
.menu summary{list-style:none;cursor:pointer;display:flex;gap:.6rem;align-items:center;text-transform:uppercase;letter-spacing:.18em;font-size:.8rem;color:var(--navy);padding:.6rem .2rem}
.desktop-nav{display:none}
.menu summary::-webkit-details-marker{display:none}
.menu summary i{width:22px;height:2px;background:var(--navy);box-shadow:0 -6px var(--navy),0 6px var(--navy)}
.menu nav{position:absolute;left:0;right:0;top:100%;background:var(--ivory);border-bottom:1px solid var(--grey);padding:1rem 1.25rem 1.5rem}
.menu ul{list-style:none;margin:0;padding:0;display:grid}
.menu a{display:block;padding:.8rem 0;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:.85rem;border-bottom:1px solid var(--grey)}
.phone-pill{display:none;text-decoration:none;font-size:.9rem;letter-spacing:.04em;font-weight:500;border:1px solid var(--navy);border-radius:999px;padding:.55rem 1.15rem;white-space:nowrap;transition:background .25s,color .25s}
.phone-pill:hover{background:var(--navy);color:var(--ivory)}
@media(min-width:1000px){
.masthead-in{display:grid;grid-template-columns:auto 1fr auto}
.menu{display:none}
.desktop-nav{display:block;justify-self:end}
.desktop-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.4rem}
.desktop-nav a{display:block;padding:.4rem 0;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:500;border-bottom-width:2px!important;border-bottom:1px solid transparent}
.desktop-nav a:hover,.desktop-nav a[aria-current]{border-color:var(--accent-light)}
.menu nav{position:static;border:0;padding:0;background:none;display:block!important}
.menu ul{display:flex;gap:1.4rem}.menu a{border:0;padding:.4rem 0;font-size:.74rem;border-bottom:1px solid transparent}
.menu a:hover,.menu a[aria-current]{border-color:var(--bronze)}
.phone-pill{display:block}}
.hero{position:relative;background:var(--ivory);color:var(--slate);padding:clamp(2.5rem,6vw,4.5rem) 0;overflow:hidden;border-bottom:1px solid var(--grey)}
.hero::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--accent-light)}
.hero-in{position:relative;display:grid;gap:2rem;align-items:center}
.hero-copy{min-width:0}
.hero h1{color:var(--navy);max-width:18ch}
.hero-home h1{max-width:13ch;font-size:clamp(2.6rem,6.4vw,4.6rem)}
.hero .eyebrow{color:var(--bronze);display:flex;align-items:center;gap:.8rem}
.hero .eyebrow::before{content:"";width:28px;height:2px;background:var(--accent-light);flex:none}
.lede{font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.6;max-width:54ch;color:var(--slate);font-weight:500}
.hero-door{position:relative;margin:0;justify-self:center;width:min(100%,340px);aspect-ratio:4/5;overflow:hidden}
.hero-door img{display:block;width:100%;height:100%;object-fit:cover;object-position:52% 58%;mix-blend-mode:multiply}
.hero-door::after{content:"";position:absolute;inset:auto 0 0 auto;width:38%;height:6px;background:var(--accent-light)}
.hero-home .hero-door{width:min(100%,400px)}
@media(max-width:699px){.hero-door{aspect-ratio:16/10;width:100%;max-width:none}.hero-door img{object-fit:cover;object-position:50% 52%;transform:scale(1.35)}.hero:not(.hero-home) .hero-door{aspect-ratio:16/7}}
@media(min-width:700px){.hero-in{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem)}.hero-door{justify-self:end}}
@media(min-width:1000px){.hero-home{padding:clamp(3rem,6vw,5rem) 0}.hero-home .hero-in{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.hero-home .hero-door{width:min(100%,460px)}.hero:not(.hero-home) .hero-door{width:min(100%,300px);aspect-ratio:1/1}}
@media(prefers-reduced-motion:no-preference){.hero-door img{animation:door-in 1.4s var(--ease) both}}
@keyframes door-in{from{opacity:0;transform:translateY(14px) scale(1.03)}to{opacity:1;transform:none}}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.btn{display:inline-flex;gap:.6rem;align-items:center;padding:.95rem 1.6rem;font-family:var(--f);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .3s var(--ease),background .3s}
.btn:hover{transform:translateY(-2px)}
.btn-bronze{background:var(--cta-bg);color:var(--cta-fg)}.btn-bronze:hover{background:var(--accent-hover);color:#FFFFFF}
.btn-navy{background:var(--navy);color:var(--ivory)}.btn-navy:hover{background:#1A2433}
.btn-secondary{background:transparent;border-color:var(--navy);color:var(--navy)}.btn-secondary:hover{background:var(--navy);color:var(--ivory)}
:is([data-brand=rose],[data-brand=chapman]) .btn-navy{background:var(--bronze)}
:is([data-brand=rose],[data-brand=chapman]) .btn-navy:hover{background:var(--accent-hover)}
.btn-ghost{border-color:rgba(242,239,230,.5);color:var(--ivory)}.btn-ghost:hover{background:rgba(242,239,230,.1)}
.hero .btn-ghost{border-color:var(--navy);color:var(--navy)}.hero .btn-ghost:hover{background:var(--navy);color:var(--ivory)}
.band{padding:clamp(3rem,7vw,6rem) 0}.band.alt{background:var(--paper)}
.band-title{margin-bottom:2rem}
.split{display:grid;gap:1.5rem}
@media(min-width:900px){.split{grid-template-columns:1fr 2fr;gap:4rem}}
/* The owner-selected photograph fills the heading panel, not the reading column. */
.prose-band-photo{position:relative;overflow:clip;--band-space:clamp(3rem,7vw,6rem)}
.prose-band-photo .split-head{position:relative;min-height:18rem;isolation:isolate}
.prose-band-photo .split-head>h2,.prose-band-photo .split-head>.rule{position:relative;z-index:1}
.section-background{position:absolute;top:calc(-1 * var(--band-space));bottom:0;left:-1.25rem;right:-1.25rem;overflow:hidden;z-index:-1;background:var(--paper)}
.section-background-image{position:absolute;inset:-80px 0;background-size:cover;background-position:48% center;background-repeat:no-repeat}
.section-background::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(250,248,245,.94),rgba(250,248,245,.65) 12rem,transparent 25rem);pointer-events:none}
@media(min-width:900px){
.prose-band-photo .split-head{min-height:0}
.section-background{bottom:calc(-1 * var(--band-space));left:calc(-1 * max(1.25rem,(100vw - 1180px)/2));right:0}
.section-background-image{will-change:transform}
}
@media(prefers-reduced-motion:reduce){.section-background-image{transform:none!important;will-change:auto}}
.prose{max-width:68ch}.prose ul,.prose ol{padding-left:1.2rem}.prose h3{margin-top:1.5em}
.prose table{border-collapse:collapse;width:100%;font-size:.95rem}.prose td,.prose th{border-bottom:1px solid var(--grey);padding:.6rem .5rem;text-align:left}
.ticks{list-style:none;padding:0!important}.ticks li{position:relative;padding:.35rem 0 .35rem 1.6rem}
.ticks li::before{content:"";position:absolute;left:0;top:1.05em;width:.9rem;height:2px;background:var(--bronze)}
.cards{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--grey);border:1px solid var(--grey)}
.cards::after{content:"";display:none;background-image:var(--card-grid-image,url("assets/architecture/columns-and-stairs.jpg"));background-size:cover;background-position:65% 40%}
@media(min-width:700px){.cards{grid-template-columns:repeat(2,1fr)}.cards[data-photo-tablet]::after{display:block}}
@media(min-width:1000px){.cards{grid-template-columns:repeat(6,1fr)}.cards li{grid-column:span 2}.cards li.wide{grid-column:span 4}.cards[data-photo-tablet]::after{display:none}.cards[data-photo-desktop]::after{display:block;grid-column:span 2}.cards[data-photo-desktop="2"]::after{grid-column:span 4}}
.card{display:flex;flex-direction:column;height:100%;background:var(--ivory);border-top:3px solid transparent;padding:2rem 1.8rem 1.8rem;text-decoration:none;color:var(--slate);position:relative;transition:background .3s}
.card:hover{background:#F8F6F0;border-top-color:var(--accent-light)}.card h3{transition:transform .4s var(--ease)}.card:hover h3{transform:translateX(4px)}
.card-n{font-family:var(--fd);font-size:1rem;font-weight:600;letter-spacing:.04em;color:var(--bronze);margin-bottom:2rem}
.card .more{margin-top:auto;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--navy);border-top:1px solid var(--grey);padding-top:1rem}
.more i{font-style:normal;display:inline-block;transition:transform .3s}.card:hover .more i{transform:translateX(6px)}
.faqs details{border-bottom:1px solid var(--grey)}
.faqs summary{cursor:pointer;list-style:none;padding:1.2rem 2.5rem 1.2rem 0;color:var(--navy);font-size:1.08rem;font-weight:600;position:relative}
.faqs summary::-webkit-details-marker{display:none}
.faqs summary::after{content:"+";position:absolute;right:.3rem;top:1rem;font-size:1.6rem;color:var(--bronze);transition:transform .3s}
.faqs details[open] summary::after{transform:rotate(45deg)}.faqs details p{padding-bottom:1.2rem;max-width:62ch}
.people{list-style:none;padding:0;margin:0;display:grid;gap:2rem}
.people h3{font-family:var(--f)}
.people li>div{min-width:0}
.person-contact{display:grid;justify-items:start;gap:.35rem;margin-top:1rem;font-size:.9rem}
.person-contact a{overflow-wrap:anywhere;max-width:100%}
.contact-card-download{margin-top:.6rem;padding:.75rem 1rem;font-size:.7rem;letter-spacing:.08em}
.section-people{grid-column:1/-1}
@media(min-width:800px){.people{grid-template-columns:1fr 1fr}}
.people li{display:flex;gap:1.4rem;border-top:2px solid var(--bronze);padding-top:1.4rem}
.initials{flex:none;width:68px;height:68px;border-radius:50%;background:var(--navy);color:var(--ivory);display:grid;place-items:center;letter-spacing:.06em;font-family:var(--fd);font-weight:600;font-size:1.2rem;box-shadow:inset 0 -5px 0 var(--accent-light)}
.role{color:var(--bronze);text-transform:uppercase;letter-spacing:.16em;font-size:.78rem}
.referral{background:var(--navy);color:#D5DCE1}.referral h2{color:var(--ivory)}
.referral .eyebrow{color:var(--accent-light)}
.referral-in{display:grid;gap:1.5rem;align-items:center;border-left:3px solid var(--bronze);padding-left:clamp(1.2rem,4vw,3rem)}
:is([data-brand=rose],[data-brand=chapman]) .referral-in{border-left-color:var(--accent-light)}
@media(min-width:850px){.referral-in{grid-template-columns:1fr auto}}
.group-strip{background:var(--paper)}
/* Darker bronze keeps this small label above AA's 4.5:1 text contrast minimum. */
[data-brand=meridian] .group-strip .eyebrow{color:var(--accent-hover)}
.group-list{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1px;background:var(--grey);border:1px solid var(--grey)}
@media(min-width:800px){.group-list{grid-template-columns:repeat(3,1fr)}}
.group-list a{display:flex;flex-direction:column;gap:.6rem;background:var(--ivory);padding:1.8rem;height:100%;text-decoration:none;color:var(--slate)}
.group-list a:hover{background:#F8F6F0}.group-list strong{font-family:var(--fd);font-size:1.45rem;color:var(--navy);font-weight:600}
.group-list .current a{border-top:3px solid var(--bronze)}
.group-list .more{font-style:normal;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);margin-top:auto}
.cta{background:var(--navy);color:var(--ivory);position:relative;overflow:hidden}.cta h2{color:var(--ivory);max-width:22ch}
.cta::after{content:"";position:absolute;right:0;top:0;bottom:0;width:6px;background:var(--accent-light)}
.cta-in{display:grid;gap:2rem}.cta-actions{display:flex;gap:1rem;flex-wrap:wrap}
@media(min-width:900px){.cta-in{grid-template-columns:1.4fr 1fr;align-items:center}}
.contact-grid{display:grid;gap:3rem}
@media(min-width:950px){.contact-grid{grid-template-columns:1.6fr 1fr}}
.form{display:grid;gap:1.2rem}
.field-row{display:grid;gap:1.2rem}@media(min-width:700px){.field-row{grid-template-columns:1fr 1fr}}
.form label{display:grid;gap:.4rem;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--navy)}
.opt{text-transform:none;letter-spacing:0;color:var(--slate)}
.form input[type=text],.form input[type=email],.form input[type=tel],.form select,.form textarea{font:inherit;font-size:1rem;letter-spacing:0;text-transform:none;padding:.85rem 1rem;border:1px solid #A39E92;background:#FBFAF6;color:var(--navy);border-radius:2px;width:100%}
.form .check{display:flex;gap:.8rem;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:.95rem;color:var(--slate)}
.form-security{margin:1rem 0;min-width:0;max-width:100%}
.form-security-status{font-size:.85rem;line-height:1.5;color:var(--slate);margin:.5rem 0}
.form-security-retry{font:inherit;font-size:.85rem;text-decoration:underline;color:var(--navy);background:transparent;border:0;padding:.4rem 0;cursor:pointer}
.form-security-retry[hidden]{display:none}
.form-security-retry:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.check input{width:20px;height:20px;margin-top:.2rem;accent-color:var(--navy)}
:is([data-brand=rose],[data-brand=chapman]) .check input{accent-color:var(--bronze)}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.notice{border-left:3px solid var(--bronze);background:var(--paper);padding:1rem 1.2rem;font-size:.95rem;margin:0}
.notice.big{font-size:1.15rem;padding:1.6rem}
.form-error{background:#f6e3df;border-left:3px solid #9c2f1f;color:#6b1d12;padding:1rem 1.2rem;margin:0}
.contact-aside{background:var(--navy);color:#D5DCE1;padding:2rem;border-top:6px solid var(--accent-light);align-self:start}
.contact-aside h2{color:var(--ivory)}.contact-aside a{color:var(--ivory)}
.big-link{font-family:var(--fd);font-weight:600;font-size:1.6rem;text-decoration:none;border-bottom:1px solid var(--bronze)}.big-link.small{font-size:1.05rem}
:is([data-brand=rose],[data-brand=chapman]) .contact-aside .big-link{border-bottom-color:var(--accent-light)}
address{font-style:normal;margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.2)}address strong{display:block;color:var(--accent-light);letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;font-weight:500}
.offices{list-style:none;padding:0;margin:0;display:grid;gap:2rem}@media(min-width:800px){.offices{grid-template-columns:1fr 1fr}}
.offices li{border-top:2px solid var(--bronze);padding-top:1.4rem}.muted{color:var(--slate);font-size:.95rem}
.huge{font-family:var(--fd);font-weight:700;font-size:clamp(6rem,20vw,12rem);color:var(--navy);line-height:1;margin:0;letter-spacing:-.02em}
.inline-links{list-style:none;display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:center;padding:0}
.receipt{font-family:var(--fd);font-size:1.4rem;color:var(--navy);letter-spacing:.04em}
.foot{background:var(--navy);color:#B4C0C9;padding:4rem 0 1.5rem;font-size:.95rem}
.foot a{color:var(--ivory);text-decoration-color:rgba(var(--accent-light-rgb),.6)}
.foot h2{font-family:var(--f);font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-light);font-weight:600}
.foot ul{list-style:none;padding:0;margin:0}.foot li{padding:.2rem 0}
.foot-grid{display:grid;gap:2.5rem}@media(min-width:900px){.foot-grid{grid-template-columns:1.6fr 1fr 1.2fr 1fr}}
.foot-tag{margin-top:1.2rem;color:var(--ivory);font-family:var(--fd);font-weight:600;font-size:1.2rem}.foot-group,.foot-addr{font-size:.88rem}
.foot-base{margin-top:3rem;padding-top:1.2rem;border-top:1px solid rgba(148,165,177,.25);font-size:.82rem;display:grid;gap:1.5rem;align-items:center}
.foot-base p{margin:0}
.scheme-disclosure{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;min-width:0}
.scheme-disclosure p{max-width:40ch;font-size:.875rem;line-height:1.6}
.scheme-logo{display:block;flex:none;width:250px;max-width:100%;padding:.75rem;background:transparent}
.scheme-logo img{display:block;width:100%;height:auto}
@media(min-width:900px){.foot-base{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.scheme-disclosure{flex-direction:row;align-items:center}}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){.reveal{animation:rise .9s var(--ease) both}.reveal:nth-child(2){animation-delay:.1s}.reveal:nth-child(3){animation-delay:.2s}.reveal:nth-child(4){animation-delay:.3s}
.js .fx{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.js .fx.in{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media(max-width:560px){.groupbar-in .gb-label{display:none}.groupbar ul{gap:.5rem 1rem}.groupbar ul li{flex:0 0 calc(50% - .5rem)}.groupbar{letter-spacing:.1em}.brand-symbol{height:32px}}
.service-photo{position:relative;margin:0;width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--paper);border-bottom:3px solid var(--bronze);isolation:isolate}
.split-head .service-photo{margin-top:1.8rem}
.service-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) sepia(.9) contrast(1.03) brightness(.97)}
.service-photo::after{content:"";position:absolute;inset:0;z-index:1;background:rgba(var(--accent-rgb),.78);mix-blend-mode:color;pointer-events:none}
.service-photo::before{content:"";position:absolute;inset:0;background:rgba(var(--accent-rgb),.18);mix-blend-mode:multiply;pointer-events:none}
.service-overview,.service-referral{display:grid;gap:1.5rem;align-items:start}
.service-overview .band-title{grid-column:1/-1}
@media(min-width:900px){.service-overview,.service-referral{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:4rem}.service-overview .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.service-overview .cards li{grid-column:auto}.service-referral .referral-in{grid-template-columns:1fr;gap:1.2rem}.service-referral .btn{justify-self:start}}
/* Sale report */
.quote-other summary{cursor:pointer;color:var(--navy);font-family:var(--fd);font-weight:600;font-size:1.35rem;padding:.5rem 0}
.quote-other[open] summary{margin-bottom:2rem}
.sale-gate .split-head .prose{margin-top:1.5rem}
.sale-form input[type=number]{font:inherit;font-size:1rem;letter-spacing:0;padding:.85rem 1rem;border:1px solid #a9a59d;background:#fff;color:var(--navy);border-radius:0;width:100%}
.sale-form button{justify-self:start}
.sale-report .report-sheet{background:#FBFAF6;border:1px solid var(--grey);border-top:3px solid var(--bronze);padding:clamp(1.2rem,4vw,2.5rem)}
.report-facts{display:grid;gap:1rem;margin:1.5rem 0}
@media(min-width:700px){.report-facts{grid-template-columns:1fr 1fr}}
.report-facts dt{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze)}
.report-facts dd{margin:0;color:var(--navy);overflow-wrap:anywhere}
.report-table{width:100%;border-collapse:collapse;margin:1.5rem 0}
.report-table caption{text-align:left;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);padding-bottom:.6rem}
.report-table th,.report-table td{padding:.7rem .5rem;border-bottom:1px solid var(--grey);text-align:left;font-weight:400}
.report-table td,.report-table thead th:last-child{text-align:right}
.report-table tfoot th,.report-table tfoot td{color:var(--navy);font-weight:600;border-bottom:0;border-top:2px solid var(--navy)}
.report-extra{margin-top:2rem}
.report-additional-table .cost-label{color:var(--navy);font-weight:500}
.report-additional-table .cost-context{display:block;margin-top:.35rem;font-size:.88rem;color:var(--slate)}
.report-additional-table td{vertical-align:top}
.report-quote{border-left:3px solid var(--bronze);background:var(--paper);padding:1rem 1.2rem;margin:1.5rem 0}
.report-quote h3{margin-bottom:.3em}
.report-actions{display:grid;gap:1rem;margin-top:2rem}
.article-byline{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.95rem;color:var(--slate)}
.article-byline p{margin:0}
.article-byline a{color:inherit;text-decoration:underline}
@media print{[data-type=sale-report] :is(.report-actions,.groupbar,.masthead,.foot,.hero-door){display:none}[data-type=sale-report] .hero{padding:1rem 0;background:#fff;color:var(--navy)}[data-type=sale-report] .hero h1{color:var(--navy);font-size:1.6rem;max-width:none}[data-type=sale-report] .hero .lede{display:none}.sale-report{padding:1rem 0}.sale-report .report-sheet{border:0;padding:0}}
/* All practice homepages: still copy on white, full doorway artwork fading in from the left. */
.hero-arch{padding:0;border-bottom:0;background:#FDFCF9}
.hero-arch::before{display:none}
.hero-arch .hero-in{display:block;position:static}
.hero-arch .hero-copy{position:relative;z-index:2;padding:clamp(2.5rem,7vw,4rem) 0 1rem}
.hero-arch-art{position:relative;z-index:0;margin:0 -1.25rem;display:flex;justify-content:flex-end;height:min(78vw,520px)}
/* The fade lives on the 4:5 artwork box itself, so no letterbox edge can show. */
/* By the final frame each doorway reaches ~20% of the video width. Finish the fade before it. */
.hero-arch-media{position:relative;height:100%;aspect-ratio:4/5;max-width:100%;-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.35) 7%,#000 18%);mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.35) 7%,#000 18%)}
.hero-arch-media :is(img,video){position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:right bottom}
.hero-arch-media video{opacity:0;transition:opacity .6s var(--ease)}
.hero-arch-media.is-playing video{opacity:1}
/* Stacked heroes use the full viewport width, keeping the complete doorway artwork. */
@media(max-width:899.98px){
.hero-arch-art{display:block;height:auto}
.hero-arch-media{width:100%;height:auto;max-width:none;-webkit-mask-image:none;mask-image:none}
}
@media(min-width:900px){
.hero-arch{min-height:clamp(560px,46vw,720px);display:flex;align-items:center}
.hero-arch .hero-in{width:min(1180px,100% - 2.5rem)}
.hero-arch .hero-copy{max-width:min(46%,560px);padding:clamp(3.5rem,6vw,5.5rem) 0}
.hero-arch-art{position:absolute;top:0;right:0;bottom:0;margin:0;height:auto;width:min(62vw,calc(100% - 420px))}
}
