/* Subpage photography and progressive motion. Loaded last through the layout. */
.hero-visual{isolation:isolate;background:var(--copper)}
.hero-visual:before{content:'';position:absolute;inset:-1px;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--copper) 0%,transparent 48%)}
.hero-visual:after{z-index:0}
.hero-caption{z-index:2}
.hero-visual>img{object-position:65% center}
@media(max-width:640px){.hero-visual{min-height:340px}.hero-visual:before{background:linear-gradient(180deg,var(--copper) 0%,transparent 45%)}.hero-visual>img{object-position:65% center}.hero-caption{bottom:25px}}
.page-head{position:relative;isolation:isolate;display:block;min-height:390px;background:#f3f3f0;overflow:hidden}
.page-head>.page-head-copy{position:relative;z-index:2;width:62%;max-width:1000px;padding:45px 5% 48px;min-width:0}
.page-head h1{font-size:clamp(37px,4.4vw,66px);line-height:1.09;max-width:730px;margin-bottom:20px;overflow-wrap:normal}
.page-head .rich{font-size:17px;max-width:510px;line-height:1.7}
.page-head .rich p:last-child{margin-bottom:0}
.page-head .eyebrow{color:#62572b;margin:30px 0 15px;font-size:11px}
.page-head>.page-head-visual{position:absolute;inset:0 0 0 34%;padding:0;z-index:0}
.page-head-visual:after{content:'';position:absolute;inset:-1px;background:linear-gradient(90deg,#f3f3f0 0%,#f3f3f0f2 14%,#f3f3f07a 39%,#f3f3f000 66%)}
.page-head .page-head-visual img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:65% center}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:9px;font-size:12px;line-height:1.5;color:#626469}
.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.page-head-rule{display:block;width:62px;height:4px;background:var(--copper);margin-top:27px}
.service-guide{background:#f4f4f1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:45px 8%}
.service-guide-intro h2{font-size:clamp(32px,3.2vw,48px)}
.service-guide-intro p{max-width:470px;color:var(--muted)}
.service-questions details{border-bottom:1px solid #d8d9d5;padding:22px 0}
.service-questions details:first-child{padding-top:0}
.service-questions summary{list-style:none;display:flex;gap:20px;justify-content:space-between;cursor:pointer;font-weight:700;line-height:1.5}
.service-questions summary::-webkit-details-marker{display:none}
.service-questions summary:after{content:'+';font-size:22px;line-height:1;flex-shrink:0;color:#776013}
.service-questions details[open] summary:after{content:'−'}
.service-questions p{font-size:15px;color:var(--muted);margin:16px 0 0;overflow-wrap:anywhere}
.service-questions p a{text-decoration:underline;text-underline-offset:3px}
.related-services{grid-column:1/-1;padding-top:28px;border-top:1px solid #d8d9d5;display:flex;gap:10px;flex-wrap:wrap}
.related-services .eyebrow{width:100%;margin-bottom:8px}
.related-services>a{font-size:13px;border:1px solid #d3d4ce;border-radius:3px;padding:9px 14px;background:#fff;display:flex;gap:18px;align-items:center}
.related-services>a:hover{border-color:#a5851b;background:#fff8df}
.header nav>a:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--copper);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.header nav>a:hover:after,.header nav>a.active:after{transform:scaleX(1)}
.button span,.text-link span,.service-arrow{transition:transform .25s}
.button:hover span,.text-link:hover span{transform:translate(3px,-3px)}
.service-card:focus-within .service-arrow,.service-card:hover .service-arrow{transform:rotate(-8deg)}
summary:focus-visible{outline:3px solid #b67b00;outline-offset:5px}
@media(prefers-reduced-motion:no-preference){
 .page-head-copy>.eyebrow,.page-head-copy>h1,.page-head-copy>.rich{animation:head-enter .7s both}
 .page-head-copy>h1{animation-delay:.08s}.page-head-copy>.rich{animation-delay:.16s}
 .page-head-rule{animation:rule-enter .8s .2s both;transform-origin:left}
 .page-head-visual img{animation:photo-enter 1.1s both}
 .reveal-pending{transition:opacity .6s var(--reveal-delay,0ms),transform .6s var(--reveal-delay,0ms)}
 .service-questions details[open] p{animation:head-enter .25s both}
 @keyframes head-enter{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}
 @keyframes rule-enter{from{transform:scaleX(0)}to{transform:scaleX(1)}}
 @keyframes photo-enter{from{opacity:.55;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
}
@media(max-width:900px){.page-head>.page-head-copy{width:72%;padding:38px 6%}.page-head h1{font-size:44px}.page-head .rich{font-size:16px}.service-guide{gap:30px 5%}}
@media(max-width:640px){
 .page-head{min-height:0}.page-head>.page-head-copy{width:100%;padding:28px 6% 35px}.page-head.has-photo>.page-head-copy{padding-bottom:185px}
 .page-head>.page-head-visual{inset:30% 0 0 0}
 .page-head-visual:after{background:linear-gradient(180deg,#f3f3f0 0%,#f3f3f0fa 22%,#f3f3f0b0 43%,#f3f3f000 75%)}
 .page-head .page-head-visual img{object-position:65% 70%}
 .page-head h1{font-size:clamp(33px,9vw,44px);max-width:100%}.page-head .eyebrow{margin-top:23px;font-size:10px}
 .page-head .rich{font-size:15px;max-width:100%}.page-head-rule{margin-top:22px}
 .service-guide{grid-template-columns:minmax(0,1fr);gap:32px}.service-guide-intro h2{font-size:34px}.related-services>a{font-size:12px;padding:8px 11px}
}
