/* Public website responsive experience. Shared by all five landing pages. */
html{scroll-behavior:auto!important;scroll-padding-top:100px}
.site-page .btn-gold,.site-page .bath-btn-gold,#escobar-bathroom-view-projects{color:#171717!important}
.site-page button[type=submit]{font-size:16px!important;min-height:48px}
.website-menu-button{display:none}
.website-mobile-label{display:none}
.website-menu{width:min(420px,calc(100vw - 24px));max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:auto;padding:0;border:1px solid #dfd2bd;border-radius:24px;background:#fbfaf7;color:#171717;box-sizing:border-box;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.3)}
.website-menu[open]{display:flex;flex-direction:column}
.website-menu::backdrop{background:rgba(0,0,0,.65)}
.website-menu-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;padding:18px 20px 15px;border-bottom:1px solid #e8dfd1}
.website-menu-brand{display:block;font:700 10px/1.4 system-ui,sans-serif;letter-spacing:.16em;color:#76531c;margin-bottom:3px}
.website-menu h2{font:750 23px/1.2 system-ui,sans-serif;margin:0}
.website-menu button,.website-menu a,.website-menu summary{font-family:system-ui,sans-serif;min-height:44px;-webkit-tap-highlight-color:transparent}
.website-menu-icon{width:21px;height:21px;flex:0 0 21px}
.website-menu-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border:1px solid #dfd2bd;border-radius:50%;background:#fff;padding:10px;color:#171717;cursor:pointer}
.website-menu-close:hover{background:#f0e8db}
.website-menu-scroll{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:8px 12px;scrollbar-width:thin;scrollbar-color:#c8b18b transparent}
.website-menu nav{display:grid;gap:3px}
.website-menu .website-menu-row{display:flex;align-items:center;gap:13px;min-height:49px;width:100%;padding:12px;text-align:left;text-decoration:none;color:#29241e;background:transparent;border:0;border-radius:12px;font-size:15px;font-weight:600;line-height:1.4;cursor:pointer;box-sizing:border-box}
.website-menu-row>.website-menu-icon{color:#806039}
.website-menu-row>span{flex:1;min-width:0}
.website-menu-row>.website-menu-arrow{width:16px;height:16px;flex-basis:16px;color:#8a7c68;margin-left:auto}
.website-menu .website-menu-row:hover,.website-menu-services a:hover{background:#f0e8db}
.website-menu .website-menu-row[aria-current],.website-menu .website-menu-row.is-current,.website-menu-services a[aria-current]{background:#efe3ce;color:#3c2b10;font-weight:750}
.website-menu-section{margin:0;min-width:0}
.website-menu-section summary{list-style:none}
.website-menu-section summary::-webkit-details-marker{display:none}
.website-menu-section[open]>summary .website-menu-arrow{transform:rotate(180deg)}
.website-menu-services{display:grid;gap:2px;margin:4px 8px 8px 22px;padding-left:12px;border-left:2px solid #c2a372}
.website-menu-services a{display:flex;align-items:center;padding:10px 12px;min-height:44px;border-radius:9px;text-decoration:none;font-size:14px;line-height:1.4;font-weight:550;color:#393228}
.website-menu-services .website-menu-all-services{font-size:13px;color:#76531c;text-decoration:underline;text-underline-offset:3px}
.website-menu-footer{flex:0 0 auto;padding:13px 16px 12px;border-top:1px solid #e8dfd1;background:#fbfaf7}
.website-menu .website-menu-estimate{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 16px;background:#b48a50;color:#171717;border:1px solid #b48a50;border-radius:12px;text-decoration:none;font-size:15px;line-height:1.4;font-weight:750}
.website-menu .website-menu-estimate:hover{background:#c49d64}
.website-menu-estimate .website-menu-icon{width:17px;height:17px;flex-basis:17px}
.website-menu-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:9px}
.website-menu-quick a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:5px 2px;min-height:48px;border-radius:9px;text-decoration:none;color:#4d4438;font-size:12px;font-weight:650;line-height:1.3}
.website-menu-quick a:hover{background:#f0e8db}
.website-menu-quick .website-menu-icon{width:19px;height:19px;flex-basis:19px}
.website-menu-quick svg.website-menu-icon{margin-block:2.5px}
.website-menu-quick .website-menu-brand-icon{width:24px;height:24px;flex-basis:24px;object-fit:contain}
.website-menu button:focus-visible,.website-menu a:focus-visible,.website-menu summary:focus-visible,.website-menu-button:focus-visible,.website-gallery-toggle:focus-visible{outline:3px solid #76531c;outline-offset:2px}
@media(max-width:360px){.website-menu-footer{padding-inline:10px}.website-menu-quick a{font-size:11px}}
@media(max-height:500px){.website-menu-top{padding:10px 16px}.website-menu-brand{display:none}.website-menu-footer{padding:8px 12px}.website-menu-quick{margin-top:4px}.website-menu-scroll{padding-top:4px;padding-bottom:4px}}
.website-field-error{font-size:14px;line-height:1.45;color:#a02121;margin:7px 0 0}
.site-page [aria-invalid=true]{border:2px solid #a02121!important;outline-offset:2px}
.website-contact-help,.website-photo-help{font-size:13px;line-height:1.5;color:#514a40;margin:7px 0 0}
.website-contact-help button,.website-photo-clear,.website-draft-notice button{font:inherit;font-size:14px;font-weight:600;color:#49320c;text-decoration:underline;background:transparent;border:0;min-height:44px;padding:8px 5px;cursor:pointer}
.website-photo-preview{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.website-photo-card{width:92px;min-width:0;background:#faf8f4;border:1px solid #d8cdbb;border-radius:12px;padding:6px}
.website-photo-card img{width:78px;height:68px;object-fit:cover;border-radius:7px}
.website-photo-card span{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}
.website-photo-card button{width:100%;min-height:44px;background:white;border:1px solid #d8cdbb;border-radius:7px;color:#171717;font-size:12px;margin-top:5px}
.website-photo-summary{font-size:13px;color:#514a40;margin:8px 0}
.website-draft-notice{font-size:13px;line-height:1.5;background:#f7f1e6;border:1px solid #ddc8a3;border-radius:12px;padding:10px 14px;margin:12px 0}
.website-draft-notice[hidden]{display:none}
.website-optional{grid-column:1/-1;border:1px solid #dfd2bd;border-radius:12px;background:#fcfaf6;margin:4px 0 10px;min-width:0}
.website-optional summary{padding:13px 14px;min-height:48px;cursor:pointer;font-size:14px;font-weight:700}
.website-optional-fields{padding:0 14px 14px;display:grid;gap:14px;min-width:0}
.website-optional-fields>div{min-width:0}
.website-gallery-toggle{display:block;margin:20px auto 0;min-height:48px;padding:12px 20px;border:1px solid #b48a50;border-radius:24px;background:#b48a50;color:#171717;font:700 15px system-ui,sans-serif;cursor:pointer}
.website-gallery-toggle[hidden]{display:none}
.website-gallery-hidden{display:none!important}
/* Keep the modal close control outside the scrolling photo list. */
#escobar-project-album[open]{display:flex;flex-direction:column;overflow:hidden}
#escobar-project-album .album-top{flex-shrink:0}
#escobar-project-album .album-scroll{overflow-y:auto;min-height:0;padding:4px;overscroll-behavior:contain}
/* The complete desktop header must also fit smaller laptop windows. */
@media(min-width:1051px) and (max-width:1279px){
 .site-page header .nav{gap:8px!important}
 .site-page header .brand span{display:none}
 .site-page header .menu{gap:6px!important}
 .site-page header .escobar-soft-nav{padding:10px 11px!important}
 .site-page header .nav-actions>.btn-dark{padding:12px 16px}
 .site-page header .social-link{width:36px;height:36px}
}
@media(max-width:1050px){
 .site-page header .nav{display:flex!important;align-items:center;gap:10px!important;width:100%;padding:12px 14px!important;min-width:0}
 .site-page header .brand{flex:1 1 auto;min-width:0;gap:9px}
 .site-page header .brand strong{font-size:15px;letter-spacing:.035em;white-space:nowrap}
 .site-page header .brand span{display:none!important}
 .site-page header .brand-logo,.site-page header .escobar-brand-logo{width:36px!important;height:36px!important;min-width:36px!important;object-fit:contain}
 .site-page header .menu,.site-page header .social-links,#escobar-mobile-socials,.site-page header .nav-actions>.btn-soft{display:none!important}
 .site-page header .nav-actions{display:flex!important;gap:8px!important;flex:0 0 auto;flex-wrap:nowrap!important;min-width:0}
 .site-page header .nav-actions>.btn-dark{padding:10px 13px!important;min-height:44px;min-width:0!important;width:auto!important;font-size:14px!important;white-space:nowrap;border-radius:24px}
 .website-desktop-label{display:none}.website-mobile-label{display:inline}
 .website-menu-button{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:48px;min-width:48px;min-height:44px;padding:4px;border:1px solid #d8cdbb;border-radius:12px;background:#fff;color:#171717;font:600 10px/1 system-ui,sans-serif;cursor:pointer}.website-menu-button .website-menu-icon{width:18px;height:18px;flex-basis:18px}
 .site-page .hero h1{font-size:clamp(36px,10.8vw,47px)}
 .site-page .bath-hero h1{font-size:clamp(34px,10vw,44px)}
 .site-page .hero-content{padding:25px!important;padding-bottom:62px!important}
 .site-page .hero-card{min-height:0!important}
 .site-page .hero,.site-page .bath-hero{padding-bottom:24px!important}
 .site-page .hero-trust{display:none}
 .site-page .bath-hero-visual{min-height:0!important}
 .site-page .bath-hero-grid{gap:20px}
 .site-page .escobar-service-estimate{padding:20px 0!important;margin:0!important}
 #homePage #estimate{padding:24px 0!important;scroll-margin-top:90px}
 #homePage .estimate-wrap{gap:18px}
 #homePage .estimate-copy h2{font-size:28px;line-height:1.15}
 #homePage .estimate-copy p{font-size:15px;margin-bottom:0}
 #homePage .estimate-copy>div{display:none}
 .site-page form{scroll-margin-top:95px;scroll-margin-bottom:24px;min-width:0}
 .site-page form input,.site-page form select,.site-page form textarea{font-size:16px;max-width:100%;min-width:0}
 .site-page .form-grid,.site-page .bath-form-grid{grid-template-columns:1fr}
 .site-page .field.full,.site-page .bath-field.full{grid-column:auto}
 .site-page form .crm-submit-status{font-size:14px!important;line-height:1.5!important}
 .mobile-bar,.bath-mobile{gap:8px!important;padding:7px!important;left:8px!important;right:8px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;width:auto!important;border-radius:16px!important}
 .mobile-bar a,.bath-mobile a{min-height:46px!important;padding:10px 8px!important;font-size:14px!important;line-height:1.2!important;white-space:nowrap}
 body.website-form-visible .mobile-bar,body.website-form-visible .bath-mobile,body.website-form-editing .mobile-bar,body.website-form-editing .bath-mobile{display:none!important}
 .site-page .projects .project,.site-page .bath-projects .bath-project{min-height:320px}
 .site-page #bathProjects img,.site-page #kitProjects img,.site-page #paintProjects img,.site-page #gcProjects img{max-height:280px;object-fit:cover}
}
@media(min-width:1051px){.website-menu[open]{display:none}.website-optional-fields{grid-template-columns:1fr 1fr}.website-optional-fields .field.full,.website-optional-fields .bath-field.full{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

/* Service scope and next steps stay visible outside optional form fields. */
.website-request-scope,.website-request-next{font-size:14px;line-height:1.5;color:#514a40;overflow-wrap:anywhere}
.website-request-scope{margin:12px 0 16px;padding-left:12px;border-left:2px solid #b48a50}
.website-request-next{margin:4px 0 12px}
.website-request-scope p,.website-request-next p{margin:0}
.website-request-scope p+p{margin-top:4px}
.website-request-next p+p{margin-top:6px}
.website-request-scope strong,.website-request-next strong{color:#28231d}
.website-request-contact a{display:inline-flex;align-items:center;min-height:44px;padding:6px 2px;color:#49320c;font-weight:600;text-decoration:underline;text-underline-offset:3px;box-sizing:border-box}
.website-request-contact a:focus-visible{outline:3px solid #76531c;outline-offset:3px;border-radius:3px}

