#hero-main{position:relative;overflow:hidden;background:var(--bone);padding:0}
#hero-main .hero-grid{display:block}
#hero-main .hero-plate{background:var(--pine);padding:64px var(--gutter) 72px}
#hero-main .hero-plate-inner{max-width:640px}
#hero-main h1{color:var(--dark-text);margin:0 0 var(--sp-6);font-size:clamp(38px,10.6vw,48px)}
#hero-main .hero-sub{color:var(--dark-text);font-size:19px;line-height:1.58;max-width:46ch;margin:0}
#hero-main .hero-threshold{position:relative;background:var(--bone);margin-left:24px;padding:36px var(--gutter) 64px 0}
#hero-main .red-block{display:block;width:6px;height:6px;background:var(--brick);margin:0 0 var(--sp-5) 2px}
#hero-main .hero-lanes{font-family:var(--font-display);font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--pine);margin:0 0 var(--sp-5);max-width:26ch;line-height:1.7}
#hero-main .hero-lanes span{color:var(--brick)}
#hero-main .hero-cta{width:100%;max-width:420px;min-height:56px;font-size:18px;font-weight:700;padding:16px 28px}
#hero-main .hero-secondary{display:inline-flex;align-items:center;min-height:44px;margin-top:var(--sp-5);font-family:var(--font-body);font-size:18px;color:var(--pine);background-size:100% 2px}
#hero-main .hero-secondary:hover{color:var(--brick)}
@media(min-width:760px){
#hero-main{min-height:92vh;display:flex;align-items:stretch}
#hero-main .hero-grid{position:relative;width:100%;display:block}
#hero-main .hero-plate{position:absolute;inset:0 32% 0 0;width:68%;padding:clamp(64px,9vh,120px) 4vw clamp(64px,9vh,120px) 8vw;display:flex;align-items:center;clip-path:polygon(0 0,100% 0,100% 52%,54% 52%,54% 100%,0 100%)}
#hero-main .plate-load-notch{animation:hero-notch-open 600ms cubic-bezier(.22,1,.36,1) both}
#hero-main .hero-plate-inner{max-width:none;width:100%;transform:translateY(-8%)}
#hero-main h1{font-size:clamp(44px,5.6vw,84px);margin-bottom:var(--sp-6)}
#hero-main .hero-sub{font-size:21px}
#hero-main .hero-threshold{position:absolute;left:calc(68% * 0.54);right:0;bottom:0;margin-left:0;padding:0 var(--gutter) clamp(48px,8vh,96px) 32px;max-width:none;min-height:36%;display:flex;flex-direction:column;justify-content:flex-end}
#hero-main .hero-cta{max-width:340px}
#hero-main .red-block{margin-bottom:var(--sp-6)}
#hero-main .hero-lanes{max-width:34ch}
}
@media(min-width:1100px){
#hero-main .hero-threshold{padding-left:48px}
#hero-main .hero-lanes{max-width:44ch}
}
@keyframes hero-notch-open{from{clip-path:polygon(0 0,100% 0,100% 100%,100% 100%,100% 100%,0 100%)}to{clip-path:polygon(0 0,100% 0,100% 52%,54% 52%,54% 100%,0 100%)}}
@media(prefers-reduced-motion:reduce){#hero-main .plate-load-notch{animation:none}}

#what-we-do{background:var(--bone);padding-bottom:0}
#what-we-do .wwd-head{max-width:44ch;margin-bottom:var(--sp-8)}
#what-we-do h2{margin-bottom:var(--sp-5)}
#what-we-do .wwd-intro{font-size:19px;margin:0}
#what-we-do .wwd-pair{display:grid;grid-template-columns:1fr;gap:var(--sp-5)}
#what-we-do .lane-card{padding:var(--sp-6) var(--sp-6) var(--sp-7)}
#what-we-do .lane-card p{margin-bottom:var(--sp-5)}
#what-we-do .card-link{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--pine);display:inline-flex;align-items:center;min-height:44px;background-size:100% 2px}
#what-we-do .card-link:hover{color:var(--brick)}
#what-we-do .wwd-pine{background:var(--pine);margin-top:var(--sp-8);padding-block:var(--sp-7)}
#what-we-do .wwd-pine-inner{border-top:3px solid var(--dark-text);padding-top:var(--sp-6)}
#what-we-do .wwd-pine-inner .lane-index{color:var(--brass)}
#what-we-do .wwd-pine-inner h3{color:var(--dark-text)}
#what-we-do .wwd-pine-inner p{color:var(--dark-text);max-width:56ch;margin-bottom:var(--sp-5)}
#what-we-do .pine-link{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--brass);display:inline-flex;align-items:center;min-height:44px;background-size:100% 2px}
#what-we-do .pine-link:hover{color:var(--dark-text)}
@media(min-width:768px){
#what-we-do .wwd-pair{grid-template-columns:1fr 1fr;gap:0}
#what-we-do .wwd-pair::before{content:none}
#what-we-do .wwd-pair>.lane-card:first-child{padding-right:var(--sp-7)}
#what-we-do .wwd-pair>.lane-card:last-child{padding-left:var(--sp-7)}
#what-we-do .wwd-pair>.lane-card:first-child+.lane-card{margin-left:0}
#what-we-do .wwd-pine{padding-block:var(--sp-8)}
#what-we-do .wwd-pine-inner{padding-top:var(--sp-7)}
}
@media(min-width:768px){
#what-we-do .wwd-pair{position:relative}
#what-we-do .wwd-pair::after{content:"";position:absolute;top:3px;bottom:0;left:50%;width:1px;background:var(--pine-hairline)}
}
@media(min-width:1100px){
#what-we-do .wwd-head{margin-bottom:var(--sp-9)}
#what-we-do .lane-card{padding:40px}
#what-we-do .wwd-pair>.lane-card:first-child{padding-right:48px}
#what-we-do .wwd-pair>.lane-card:last-child{padding-left:48px}
}

#statement-one{position:relative;overflow:hidden;padding-block:64px}
#statement-one .slab-inner{padding-inline:24px}
#statement-one .slab-line{max-width:30ch;font-size:clamp(28px,4vw,44px)}
@media(min-width:768px){
#statement-one{padding-block:var(--sp-9)}
#statement-one .slab-inner{padding-inline:8vw}
}

#acquisition{background:var(--bone);position:relative;overflow:hidden}
#acquisition .acq-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-6)}
#acquisition .acq-white{background:var(--surface);border-top:3px solid var(--pine);padding:var(--sp-6) var(--sp-6) var(--sp-7)}
#acquisition .acq-white h3{font-size:clamp(24px,4.6vw,32px);line-height:1.1;margin-bottom:var(--sp-5)}
#acquisition .acq-white p{font-size:19px}
#acquisition .acq-brick{background:var(--brick);padding:var(--sp-6) var(--sp-6) var(--sp-7);margin-inline:calc(var(--gutter) * -1)}
#acquisition .acq-brick h3{color:var(--dark-text);font-size:clamp(24px,4.6vw,32px);line-height:1.1;margin-bottom:var(--sp-5)}
#acquisition .acq-brick p{color:#FFFFFF;font-size:19px;font-weight:600;max-width:44ch}
#acquisition .acq-brick-index{color:var(--dark-text)}
#acquisition .spec-strip{display:flex;gap:4px;margin-top:var(--sp-8)}
#acquisition .bar{display:block;height:6px}
#acquisition .bar--pine{background:var(--pine);flex:0 0 52%}
#acquisition .bar--brick{background:var(--brick);flex:0 0 28%}
#acquisition .bar--brass{background:var(--brass);flex:0 0 8%}
@media(min-width:768px){
#acquisition .acq-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:0;align-items:start}
#acquisition .acq-white{grid-column:1 / span 7;padding:40px 48px 56px;margin-top:72px}
#acquisition .acq-brick{grid-column:8 / span 5;padding:40px;margin-inline:0}
#acquisition .spec-strip{margin-top:var(--sp-9);gap:4px}
#acquisition .bar{height:8px}
}
@media(min-width:1100px){
#acquisition .acq-white{grid-column:1 / span 7;padding:48px 56px 64px}
#acquisition .acq-brick{grid-column:7 / span 6;padding:48px;position:relative;z-index:2}
#acquisition .acq-white{position:relative;z-index:1}
}

#property-management{background:var(--bone);position:relative;overflow:hidden;padding-bottom:56px}
#property-management .pm-band{background:var(--pine);padding-block:72px 0}
#property-management .pm-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-7)}
#property-management .pm-head h2{color:var(--dark-text);margin-bottom:var(--sp-5)}
#property-management .pm-head .lane-index{color:var(--brass)}
#property-management .pm-head p{color:var(--dark-text);font-size:19px;max-width:36ch;margin:0}
#property-management .pm-panel{background:var(--surface);border-top:3px solid var(--brick);padding:var(--sp-6) var(--sp-6) var(--sp-7);margin-bottom:-24px}
#property-management .pm-panel p{font-size:19px;color:var(--ink)}
#property-management .pm-list{list-style:none;margin:var(--sp-6) 0 var(--sp-6);padding:0}
#property-management .pm-list li{display:flex;align-items:center;gap:14px;font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--ink);margin-bottom:var(--sp-4);padding-top:var(--sp-2)}
#property-management .pm-list li::before{content:"";flex:0 0 6px;width:6px;height:6px;background:var(--brick)}
#property-management .pm-cta{font-family:var(--font-display);font-weight:600;font-size:16px;color:var(--pine);display:inline-flex;align-items:center;min-height:44px;background-size:100% 2px}
#property-management .pm-cta:hover{color:var(--brick)}
@media(min-width:768px){
#property-management{padding-bottom:88px}
#property-management .pm-band{padding-block:var(--sp-9) 0}
#property-management .pm-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sp-7);align-items:start}
#property-management .pm-head{grid-column:1 / span 5;padding-top:var(--sp-4)}
#property-management .pm-panel{grid-column:6 / span 7;padding:48px;margin-bottom:-40px}
#property-management .pm-panel p{font-size:20px}
}
@media(min-width:1100px){
#property-management .pm-head{grid-column:1 / span 4}
#property-management .pm-panel{grid-column:6 / span 7}
}

#about-bl{background:var(--bone);position:relative;overflow:hidden}
#about-bl .about-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-7)}
#about-bl .about-side h2{margin-bottom:0;max-width:22ch}
#about-bl .about-lede{font-family:var(--font-display);font-weight:600;font-size:clamp(21px,3vw,26px);line-height:1.28;letter-spacing:-.015em;color:var(--pine);max-width:34ch;margin-bottom:var(--sp-6)}
#about-bl .about-body p{font-size:19px;line-height:1.65;max-width:62ch}
#about-bl .about-signoff{border-top:1px solid var(--pine-hairline);padding-top:var(--sp-7);margin-top:var(--sp-2);display:flex;align-items:center;gap:var(--sp-5)}
#about-bl .about-lockup{display:flex;flex-direction:column;line-height:1}
#about-bl .about-wordmark{font-family:var(--font-display);font-weight:700;font-size:38px;letter-spacing:-.01em;text-transform:uppercase;color:var(--ink);line-height:1}
#about-bl .about-wordmark .amp{color:var(--brick)}
#about-bl .about-descriptor{font-family:var(--font-display);font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin-top:10px}
@media(min-width:768px){
#about-bl .about-grid{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:0;row-gap:var(--sp-8)}
#about-bl .about-side{grid-column:1 / span 4;padding-right:48px}
#about-bl .about-body{grid-column:5 / span 8;padding-left:48px;border-left:1px solid var(--pine-hairline)}
#about-bl .about-signoff{grid-column:5 / span 8;margin-left:48px}
#about-bl .about-body p{font-size:20px}
}
@media(min-width:1100px){
#about-bl{padding-block:160px}
#about-bl .about-side{position:sticky;top:calc(var(--header-h) + 48px);align-self:start}
#about-bl .about-body{grid-column:6 / span 7}
#about-bl .about-signoff{grid-column:6 / span 7}
}

#statement-two{position:relative;overflow:hidden;padding-block:64px}
#statement-two .slab-inner{padding-inline:24px}
#statement-two .slab-line{max-width:30ch}
@media(min-width:768px){
#statement-two{padding-block:var(--sp-9)}
#statement-two .slab-inner{padding-inline:8vw}
}

#contact{background:var(--bone);position:relative;overflow:hidden}
#contact .contact-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-7)}
#contact .contact-head h2{margin-bottom:var(--sp-5)}
#contact .contact-head p{font-size:19px;max-width:40ch}
#contact .contact-lockup{display:flex;align-items:center;gap:12px;margin-top:var(--sp-7);padding-top:var(--sp-5);border-top:1px solid var(--pine-hairline)}
#contact .cl-wordmark{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:-.01em;text-transform:uppercase;color:var(--ink);line-height:1}
#contact .cl-wordmark .amp{color:var(--brick)}
#contact .cl-rule{display:block;width:1px;height:16px;background:var(--brick)}
#contact .cl-descriptor{font-family:var(--font-display);font-weight:600;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}
#contact .contact-card{background:var(--surface);border-top:3px solid var(--pine);padding:28px 20px 32px}
#contact .lane-select{border:0;margin:0 0 var(--sp-6);padding:0}
#contact .lane-select legend{font-family:var(--font-display);font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);padding:0;margin-bottom:var(--sp-4)}
#contact .lane-options{display:grid;grid-template-columns:1fr;gap:8px}
#contact .lane-option{display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 16px;border:1px solid var(--pine-hairline);cursor:pointer;margin:0;text-transform:none;letter-spacing:0;color:var(--ink);font-family:var(--font-display);font-weight:600;font-size:15px;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}
#contact .lane-option input{position:absolute;opacity:0;width:1px;height:1px}
#contact .lane-num{font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.12em;color:var(--brick);transition:color var(--t-fast)}
#contact .lane-option:hover{border-color:var(--pine)}
#contact .lane-option:has(input:checked){background:var(--pine);border-color:var(--pine);color:var(--dark-text)}
#contact .lane-option:has(input:checked) .lane-num{color:var(--brass)}
#contact .lane-option:has(input:focus-visible){outline:2px solid var(--brick);outline-offset:3px}
#contact .submit-btn{width:100%;min-height:56px;font-size:18px;font-weight:700;margin-top:var(--sp-2)}
@media(min-width:768px){
#contact .contact-grid{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--sp-8);row-gap:var(--sp-8)}
#contact .contact-head{grid-column:1 / span 5}
#contact .contact-card{grid-column:6 / span 7;padding:48px}
#contact .lane-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#contact .lane-option{flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;min-height:76px}
}
@media(min-width:1100px){
#contact .contact-head{grid-column:1 / span 4}
#contact .contact-card{grid-column:6 / span 7}
}
/* fix: at very wide viewports the threshold panel climbed into the third
   headline line — keep it right of and below the headline block */
@media (min-width:1600px){#hero-main .hero-threshold{left:56%;min-height:38%}}
@media (min-width:1400px){#statement-one .slab-inner,#statement-two .slab-inner{max-width:1240px;margin-inline:auto}}
@media (min-width:1100px){#hero-main .hero-plate-inner{padding-bottom:200px}}
