/* Shared visitor layout and controls. Keep editorial reading columns intact. */
:root{--site-gutter:clamp(20px,3vw,48px);--section-space:56px;--control-radius:8px}
.topbar.portfolio-header.single-company-header{padding:20px max(var(--site-gutter),calc((100vw - 1504px)/2));}
.single-company-header .portfolio-header-row{max-width:1504px;margin-inline:auto}
.visitor-footer{box-sizing:border-box;padding:56px max(var(--site-gutter),calc((100vw - 1504px)/2));gap:32px;align-items:start}
.visitor-footer .family-lockup,.visitor-footer .family-wordmark small{color:#fff}
.visitor-footer .hardening-contact-actions{margin-top:20px}
.visitor-footer .hardening-contact-actions .secondary{color:#fff;border-color:#8c9198;background:transparent}
.visitor-footer .hardening-contact-actions .secondary:hover{background:#34383e}
.visitor-footer .hardening-contact-actions .contact-placeholder-note{color:#c9cbd0}
.visitor-footer h3{line-height:1.5;margin-bottom:20px}
.visitor-footer>div{min-width:0}
.visitor-footer>div:not(:first-child)>a{min-height:32px;display:flex;align-items:center;margin:6px 0}
#app .website>:is(.experience-section,.site-section,.visitor-section,.terrain-image-story,.group-portfolio),#app>.visitor-section{padding:var(--section-space) var(--site-gutter)}
#app .photo-hero .site-hero-copy,#app .guard-hero>div:first-child{padding:var(--section-space) var(--site-gutter)}
#app .planned-service-group{padding:32px 0;margin-top:24px}
#app .planned-service-group>header h3{font-size:28px;line-height:1.2;margin:12px 0}
#app .planned-service-group>header p{margin-bottom:16px}
#app .planned-service-grid{gap:20px;margin-top:20px}
#app .planned-service-grid>article{padding:24px;border-radius:12px}
#app .planned-service-grid h4{margin:0 0 12px;line-height:1.35}
#app .planned-service-grid p{margin:0}
#app .service-details summary,#app .optional-house>summary{min-height:44px;padding:12px 0;line-height:1.5}
#app .compact-service-area{align-items:start;gap:28px 32px}
#app .compact-service-area .county-directory h3:first-child{margin-top:0}
#app .county-directory button{min-height:44px;border-radius:var(--control-radius)}
#app .improvement-slide{border-radius:12px;gap:28px}
#app .improvement-slide>div{padding:28px 28px 28px 0}
#app .improvement-slide h4{margin:12px 0 16px}
#app .improvement-controls{margin:20px 0}
#app .improvement-picker button{min-height:44px;border-radius:var(--control-radius);line-height:1.4}
body:not(.studio-open):not(.internal-view) main :is(.primary,.secondary){box-sizing:border-box;min-height:44px;border-radius:var(--control-radius);padding:12px 18px;font:600 13px/1.4 var(--body);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:8px;vertical-align:middle}
body:not(.studio-open):not(.internal-view) main .secondary{border:1px solid var(--line)}
body:not(.studio-open):not(.internal-view) main .primary:hover{filter:brightness(.92)}
body:not(.studio-open):not(.internal-view) main :is(button,a,summary):focus-visible{outline:3px solid #b82c23;outline-offset:4px}
.visitor-footer :is(button,a):focus-visible{outline-color:#fff!important}
.single-company-header .visitor-nav :is(button,a,summary){min-height:44px;display:flex;align-items:center}
#app .website section[id]{scroll-margin-top:120px}
@media(max-width:1100px){
 :root{--section-space:40px}
 .single-company-header .visitor-nav{justify-content:center}
 #app .website section[id]{scroll-margin-top:180px}
}
@media(max-width:700px){
 :root{--section-space:32px}
 .topbar.portfolio-header.single-company-header{padding:14px var(--site-gutter)}
 .single-company-header .portfolio-header-row{gap:12px}
 .single-company-header .visitor-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;width:100%}
 .single-company-header .visitor-nav :is(button,a,summary){justify-content:center;white-space:normal;text-align:center;font-size:12px;padding:10px 6px}
 .single-company-header .company-menu>div{left:auto;right:0;max-width:calc(100vw - 40px)}
 .single-company-header .portfolio-header-row>.hardening-contact-actions{gap:6px}
 body:not(.studio-open):not(.internal-view) .portfolio-header-row>.hardening-contact-actions button{padding:10px;font-size:12px}
 .portfolio-home .family-symbol{width:30px;height:30px}
 .portfolio-home .family-wordmark{font-size:18px}
 .portfolio-home .family-wordmark small{font-size:6px;letter-spacing:.7px}
 .portfolio-home .family-lockup{gap:6px}
 .visitor-footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;padding-block:36px}
 .visitor-footer>div:first-child{grid-column:1/-1}
 .visitor-footer>div:not(:first-child)>a{min-height:44px;margin:0}
 #app .planned-service-group{padding:24px 0;margin-top:16px}
 #app .planned-service-group>header h3{font-size:24px}
 #app .planned-service-grid{grid-template-columns:1fr}
 #app .improvement-slide{grid-template-columns:1fr;gap:0}
 #app .improvement-slide>div{padding:24px}
 #app .compact-service-area{grid-template-columns:minmax(0,1fr)}
 #app .compact-service-area .california-demo-map{max-width:280px;margin-inline:auto}
 #app .county-directory ul{grid-template-columns:minmax(0,1fr)}
 #app .website section[id]{scroll-margin-top:210px}
}
@media(max-width:360px){
 .single-company-header .portfolio-header-row>.hardening-contact-actions{width:100%;justify-content:flex-end}
 #app .website section[id]{scroll-margin-top:260px}
}

