/* Shared touch layouts, loaded after the section styles. */
.fill-touch-controls{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:760px){
 html{scroll-padding-top:145px}
 .container,.nav-wrap{padding-left:18px;padding-right:18px}
 .nav-wrap{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:10px 16px;padding-top:12px;padding-bottom:12px;min-height:0}
 .brand{min-width:0;font-size:23px;gap:9px}.brand-light{font-size:16px}.brand small{letter-spacing:1px;font-size:6px}.brandmark i{height:27px}.brandmark i:nth-child(2){height:35px}.brandmark i:nth-child(3){height:22px}
 .menu-toggle{grid-column:2;grid-row:1;margin:0;border-radius:9px;min-width:44px;min-height:44px}
 .nav-cta{display:flex;grid-column:1/-1;grid-row:2;justify-content:center;align-items:center;margin:0;min-height:42px;padding:9px 16px;font-size:12px}
 .nav{grid-column:1/-1;grid-row:3;order:initial;padding:4px 0;min-width:0}.nav.open{display:flex}.nav a{min-height:44px;border-top:1px solid #dce7d2}
 .hero-copy,.fill-copy,.location-copy,.section-head>div,.playground-heading>div{min-width:0}
 .hero h1{font-size:clamp(28px,11cqw,62px);letter-spacing:-1.5px}.hero:before{right:0;width:100%}
 .hero .actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center}.hero .button{gap:12px}.hero-checks{display:flex;flex-wrap:wrap;gap:8px 15px}
 .eyebrow{overflow-wrap:anywhere;line-height:1.65}.fill-copy .eyebrow{letter-spacing:1.3px}.playground-heading h2,.fill-copy h2{font-size:clamp(29px,8.6vw,39px)}
 .signal-strip{--strip-height:60px}.signal-group{gap:28px;padding:0 18px}.signal-item{gap:12px;font-size:12px}
 .scene-toolbar{flex-wrap:wrap;gap:9px;padding:13px 14px}.scene-toolbar>span{font-size:11px}.scene-toolbar button{font-size:11px;min-height:44px;white-space:normal;padding:10px 13px}
 .spatial-stage{height:clamp(240px,75vw,360px)}.spatial-top{top:14px;left:14px;right:14px}.spatial-help{display:none}.spatial-status{left:12px;bottom:12px;font-size:9px;padding:8px 11px}
 .step-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:12px 10px 0}.step-buttons button{position:relative;min-width:0;min-height:64px;display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:center;gap:4px;padding:9px 4px;font-size:11px;line-height:1.3;border-radius:9px}.step-buttons button span{font-size:9px}.step-buttons button b{display:none}.step-explanation{min-height:0;padding:22px 18px;gap:13px}.step-explanation h3{font-size:22px}
 .fill-badges{inset:12px 10px auto;gap:6px}.fill-badges span{font-size:8px;padding:6px 9px;letter-spacing:0;max-width:65%}.fill-invitation{max-width:calc(100% - 28px);font-size:10px;bottom:13px;padding:9px 13px}.fill-invitation span{margin-left:8px;font-size:17px}.fill-divider span{width:44px;height:44px}.fill-photo .fill-divider{left:clamp(22px,var(--fill),calc(100% - 22px))}
 .fill-widget.fill-side-layout{gap:22px}.fill-touch-controls{position:static;width:auto;height:auto;overflow:visible;clip-path:none;display:block;min-width:0}.fill-touch-controls label{font-size:11px;color:#417505;margin-bottom:8px}.fill-touch-controls .fill-keyboard{position:static;display:block;width:100%;height:44px;clip-path:none;overflow:visible;white-space:normal;margin:0;padding:0;border:0;background:transparent;accent-color:#417505;touch-action:pan-y}
 .editorial-note{padding:25px}.editorial-note h3{overflow-wrap:break-word}.editorial-photo figcaption{left:18px;right:18px}.editorial-photo figcaption b{font-size:23px}.location-photo{min-height:0;height:auto;aspect-ratio:16/10}.location-copy{padding:27px}.location-copy h2{font-size:30px}
 .banner:after{display:none}.banner .button{max-width:100%;white-space:normal}.button>span{flex-shrink:0}.text-link{display:inline-block;max-width:100%;white-space:normal;line-height:1.6}.faq summary{min-height:64px}.faq summary span{flex:0 0 24px;text-align:center}
 .all-motion{position:static;display:block;width:calc(100% - 36px);margin:0 18px 22px;min-height:44px;font-size:11px;padding:10px 16px;box-shadow:none}
 input,select,textarea{font-size:16px}.form-grid>*{min-width:0}.calculator .estimate-line{flex-wrap:wrap}.table-wrap{overflow-x:auto}td,th{padding:13px 15px}
}
@media(hover:none){.button:hover,.feature:hover,.editorial-photo:hover img{transform:none}.scroll-invite>span{animation-duration:3s}}
@media(prefers-reduced-motion:reduce){.all-motion{display:none}}
