/* Individual compositions, with a shared accessible navigation system. */

.site-header nav>a[aria-current=page]{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:2px}.building-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.building-notes article{border-top:1px solid #c5baaa;padding-top:25px}.building-notes h3{font-size:24px;line-height:1.3}.building-notes p{margin-top:18px;font-size:17px;line-height:1.85}
.pith .header-phone svg{color:inherit}.pith .button{border-radius:2px;box-shadow:0 3px 0 #552716}.pith-arrival{background:#282a25;color:#fff}.pith-arrival-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:85px;align-items:center;padding-block:65px}.pith-arrival h1{font-size:clamp(52px,5vw,75px);font-weight:600;max-width:640px}.pith-arrival .eyebrow{color:#ead1b9}.pith-arrival .lead{font-size:19px;line-height:1.8;margin:26px 0;max-width:590px}.pith-arrival .hero-call{color:white;border-bottom:1px solid #9eaca0;padding-bottom:14px}.pith-arrival .hero-call svg{color:#e4a082}.pith-arrival .hero-call b{font-size:30px}.pith-quick-scope{background:#f9f6f0;color:#272a26;border-top:5px solid #bd5b3c;padding:34px 35px;box-shadow:12px 12px 0 #ffffff0b}.pith-quick-scope h2{font-size:30px;line-height:1.15}.pith-quick-scope>p{font-size:16px;line-height:1.6;margin:16px 0 25px}.pith-quick-scope label{display:block;font-size:15px;font-weight:500;margin-top:18px}.pith-quick-scope label>span{font-weight:400;color:#62695e}.pith-quick-scope input,.pith-quick-scope select{display:block;width:100%;border:1px solid #bdc3b8;border-radius:2px;padding:13px 12px;margin-top:8px;background:#fff;color:#272a26;min-height:49px;font-size:16px}.pith-quick-scope .button{margin-top:25px;width:100%;gap:10px}.pith-quick-scope>small{display:block;font-size:12px;line-height:1.7;margin-top:18px}.pith-wall-band{height:310px;overflow:hidden}.pith-wall-band img{width:100%;height:100%;object-fit:cover;object-position:center 54%}.pith .service-grid,.pith .service-grid:has(>.service-card:nth-child(2):last-child){gap:28px}.pith .service-card{border:1px solid #d9d6ca;background:#f9f7f2}.pith .service-image{height:280px}.pith .service-text{padding:28px;border:0}.pith-inspection{display:grid;grid-template-columns:1fr 1fr;gap:90px;border-top:1px solid var(--line);align-items:center}.pith-inspection p:not(.eyebrow){font-size:19px;line-height:1.8}.pith-inspection .button{margin-top:25px}.comparison-scene{aspect-ratio:3/2;max-height:680px}.comparison-scene img{display:block;width:100%;height:100%;object-fit:cover}.repair-comparison{padding:8px;background:#f6f0e7}.comparison-label{background:#fff;font-size:14px}.comparison-control label{font-size:16px}
.area-hero{display:grid;grid-template-columns:1.45fr 1fr;gap:90px;align-items:center;padding-block:70px}.area-hero h1{font-size:clamp(42px,4.4vw,65px)}.area-hero .lead{font-size:20px;margin:26px 0}.area-card{padding:42px;background:var(--pale);border:1px solid var(--line);border-top:5px solid var(--accent)}.area-card>span{display:block;font-size:16px;font-weight:500;margin-bottom:20px}.area-card h2{font-size:38px;margin-bottom:20px}.area-card p{font-size:18px;line-height:1.8}.area-card a{display:block;font-size:29px;font-weight:600;margin-top:26px}.area-card small{display:block;margin-top:10px}.area-details{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;border-top:1px solid var(--line)}.area-details h2{font-size:33px;margin-bottom:25px}.area-details p{font-size:18px;line-height:1.85}.area-details .text-link{margin-top:25px}.area-details aside{padding:30px;border:1px solid var(--line)}.extra-next{border-top:1px solid var(--line)}.extra-next p{font-size:19px;line-height:1.8;margin:25px 0}.project-context{font-size:15px;line-height:1.8;margin-top:24px;max-width:800px}.project-idea-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 35px}.project-idea-grid img{width:100%;height:380px;object-fit:cover}.project-idea-grid figcaption{padding-top:25px}.project-idea-grid h2{font-size:25px;line-height:1.4;margin-bottom:16px}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-option{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:35px;border:1px solid var(--line);text-decoration:none}.contact-option>span{font-size:17px}.contact-option strong{font-size:27px;line-height:1.4;overflow-wrap:anywhere;max-width:100%}.contact-option small{font-size:14px;line-height:1.8}.contact-phone{background:var(--accent);color:#fff}.contact-phone strong{font-size:38px}.contact-address{grid-column:1/-1}.contact-address strong{font-size:23px}.contact-next{display:flex;align-items:center;justify-content:space-between;gap:65px}.contact-next h2{font-size:36px}.contact-next p{font-size:18px;line-height:1.85;margin-top:22px}.contact-next .button{flex-shrink:0}

@media(max-width:1100px){html{scroll-padding-top:120px}.site-header nav{position:absolute;top:100%;left:0;right:0;margin:0;padding:15px 25px;gap:0;min-height:0;display:none;max-height:calc(100dvh - 185px);overflow:auto}.site-header nav.open{display:flex;align-items:stretch;justify-content:flex-start}.site-header nav>a:not(.button){font-size:18px;padding:15px 0}.header-inner{min-height:100px}.header-actions{display:none}.pith-arrival-grid{gap:45px}.pith-arrival h1{font-size:58px}.pith-quick-scope{padding:27px}.pith-inspection{gap:45px}.area-hero,.area-details{gap:45px}.contact-option{padding:28px}.contact-option strong{font-size:24px}.contact-phone strong{font-size:31px}.contact-next{gap:35px}.contact-next .button{flex-shrink:1}}
@media(max-width:760px){html{scroll-padding-top:105px}.header-inner{min-height:94px}.building-notes{grid-template-columns:1fr;gap:28px}.building-notes p{font-size:16px}.pith-arrival-grid{grid-template-columns:1fr;padding-block:42px;gap:35px}.pith-arrival h1{font-size:clamp(45px,11.5vw,65px)}.pith-arrival .lead{font-size:17px;margin:22px 0}.pith-arrival .hero-call b{font-size:28px}.pith-quick-scope{padding:27px 22px}.pith-quick-scope h2{font-size:29px}.pith-wall-band{height:210px}.pith .service-image{height:290px}.pith .service-text{padding:23px}.pith-inspection{grid-template-columns:1fr;gap:28px}.pith-inspection p:not(.eyebrow){font-size:17px}.comparison-scene{min-height:290px;aspect-ratio:1}.comparison-label{top:12px;padding:8px 10px;font-size:12px}.before-label{left:10px}.after-label{right:10px}.comparison-control label{font-size:14px}.comparison-divider>span{width:48px;height:48px}.area-hero{grid-template-columns:1fr;gap:35px;padding-block:40px}.area-hero h1{font-size:43px}.area-hero .lead{font-size:18px}.area-card{padding:28px}.area-card h2{font-size:33px}.area-details{grid-template-columns:1fr;gap:35px}.area-details h2{font-size:30px}.area-details p{font-size:17px}.project-idea-grid{grid-template-columns:1fr;gap:40px}.project-idea-grid img{height:340px}.contact-options{grid-template-columns:1fr}.contact-option{padding:28px 24px}.contact-option strong{font-size:23px}.contact-phone strong{font-size:33px}.contact-next{display:block}.contact-next h2{font-size:32px}.contact-next p{font-size:17px}.contact-next .button{margin-top:28px}.extra-next p{font-size:17px}}
@media(max-width:360px){.pith-quick-scope{padding:25px 18px}.contact-phone strong{font-size:29px}.area-hero h1{font-size:39px}.comparison-label{font-size:11px}}
.comparison-scene{width:100%;height:auto;min-height:0}

/* One header row. Contact actions use the same height and a restrained radius. */
html{scroll-padding-top:120px}
.company{--control-radius:7px;--call-bg:#f6faff;--call-ink:#155e92;--call-line:#b3cbdf;--call-hover:#155e92;--call-hover-ink:#fff}
.company.pith{--control-radius:3px;--call-bg:#f7ede6;--call-ink:#803c27;--call-line:#d2ac98;--call-hover:#803c27}
.company .button,.company .mobile-actions a{border-radius:var(--control-radius)}
.company .button{transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.company .header-inner{width:min(1600px,calc(100% - 56px));min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.company .site-header .brand{flex:0 0 auto;min-width:0;margin:0}
.company .site-header .brand-lockup{gap:10px;text-align:left}
.company .site-header .brand-words{align-items:flex-start}
.company .site-header .brand-words strong{font-size:32px}
.company .site-header .brand-words>span{font-size:12.5px}
.company .site-header .brand-words small{font-size:12px}
.company .site-header .brand-symbol{width:44px;height:56px;flex-basis:44px}
.company .site-header nav{position:static;display:flex;flex:1 1 auto;align-items:center;justify-content:center;gap:clamp(14px,1.4vw,25px);margin:0;padding:0;border:0;min-height:0;box-shadow:none;overflow:visible}
.company .site-header nav>a:not(.button){padding:15px 0;border:0;font-size:17px;font-weight:500;line-height:1.3;white-space:nowrap}
.company .site-header .header-actions{display:flex;align-items:center;gap:12px;margin:0;flex:0 0 auto}
.company .header-actions .button,.company .site-header .header-phone{height:54px;min-height:54px;padding:9px 16px;border:1px solid transparent;border-radius:var(--control-radius);box-shadow:none;white-space:nowrap;flex:0 0 auto}
.company .header-actions .button{font-size:14px;gap:15px;background:var(--accent);color:#fff;font-weight:600}
.company .header-actions .button>span{font-size:20px}
.company .site-header .header-phone{display:inline-flex;align-items:center;gap:8px;margin:0;background:var(--call-bg);color:var(--call-ink);border-color:var(--call-line);text-decoration:none;transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.company .header-phone>span{gap:2px}
.company .header-phone b{font-size:19px;font-weight:600;letter-spacing:-.035em;line-height:1.15}
.company .header-phone small{font-size:10px;font-weight:450;line-height:1.3;color:inherit}
.company .header-phone>svg{width:18px;height:18px;flex-basis:18px;color:inherit}
.company .site-header .header-phone:is(:hover,:focus-visible){background:var(--call-hover);color:var(--call-hover-ink);border-color:var(--call-hover);transform:translateY(-2px);box-shadow:0 5px 12px #102c4215}
.company .header-phone:is(:hover,:focus-visible) b{text-decoration:none}
.company .header-actions .button:is(:hover,:focus-visible){background:var(--dark);border-color:var(--dark);transform:translateY(-2px);box-shadow:0 5px 12px #102c4220}
.company .site-header :is(.header-phone,.button):active{transform:translateY(0);box-shadow:none}
.company .site-header .menu-toggle{display:none}
.company .article-aside{top:125px}

/* The existing masonry photograph now carries the whole opening. */
.pith-arrival{position:relative;isolation:isolate;overflow:hidden;background:#080b0e}
.pith-arrival-grid{position:relative;padding-block:76px;min-height:650px}
.pith-wall-band{position:absolute;inset:0;height:100%;z-index:-2}
.pith-wall-band img{object-position:center 50%}
.pith-arrival::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#060a0df5 0%,#080b0eec 33%,#090d11a6 62%,#090d1140 100%)}
.pith-arrival .hero-call{border-color:#ffffff66}
.pith-quick-scope{box-shadow:0 16px 45px #0005;border-radius:3px;background:#fffdf8}
.pith-quick-scope .button:is(:hover,:focus-visible){background:#763522}

@media(max-width:1380px) and (min-width:1260px){
 .company .header-inner{width:calc(100% - 40px);gap:18px}
 .company .site-header nav{gap:14px}
 .company .site-header .brand-lockup{gap:8px}
 .company .site-header .brand-symbol{width:38px;flex-basis:38px;height:50px}
 .company .site-header .brand-words strong{font-size:31px}
 .company .site-header .brand-words>span{font-size:12px}
 .company .header-actions .button,.company .site-header .header-phone{padding-inline:12px}
 .company .site-header .header-actions{gap:9px}
}
@media(max-width:1259px){
 .company .site-header .menu-toggle{display:flex;align-items:center;gap:9px;margin-left:auto;min-height:46px;padding:10px 13px;border:1px solid var(--line);border-radius:var(--control-radius);font-size:14px;background:transparent}
 .company .site-header nav{position:absolute;top:100%;left:0;right:0;display:none;max-height:calc(100dvh - 185px);overflow:auto;padding:15px 28px;background:var(--paper);color:var(--ink);box-shadow:0 12px 16px #0001;border-top:1px solid var(--line)}
 .company .site-header nav.open{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0}
 .company .site-header nav>a:not(.button){font-size:18px;padding:14px 0;border-bottom:1px solid var(--line)}
}
@media(max-width:1100px){
 .company .site-header .header-actions{display:none}
 .company .header-inner{width:calc(100% - 48px);gap:20px}
}
@media(max-width:760px){
 html{scroll-padding-top:110px}
 .company .header-inner{width:calc(100% - 32px);min-height:94px;gap:10px}
 .company .site-header .menu-toggle{font-size:12px;padding:10px 11px}
 .company .site-header .brand-words>span{max-width:185px}
 .pith-arrival-grid{padding-block:44px 50px;min-height:0}
 .pith-arrival::before{background:linear-gradient(180deg,#080b0ee8 0%,#080b0edb 45%,#080b0e70 72%,#080b0e4d 100%)}
 .pith-wall-band img{object-position:58% center}
}
@media(max-width:360px){
 .company .header-inner{width:calc(100% - 24px);gap:6px}
 .company .site-header .brand-symbol{width:36px;height:47px;flex-basis:36px}
 .company .site-header .brand-words strong{font-size:29px}
 .company .site-header .brand-words>span{font-size:11px;max-width:156px}
 .company .site-header .brand-lockup{gap:8px}
 .company .site-header .menu-toggle{font-size:11px;gap:7px;padding:10px 8px}
}
@media(prefers-reduced-motion:reduce){
 .company .button,.company .site-header .header-phone{transition:none}
 .company .button:is(:hover,:focus-visible),.company .header-actions .button:is(:hover,:focus-visible),.company .hero .button:is(:hover,:focus-visible),.company .site-header .header-phone:is(:hover,:focus-visible){transform:none}
}
