/* Customer-only improvements; shared SSD/admin gallery files remain unchanged. */
body{line-height:1.65;letter-spacing:-.025em}
.skip-link{position:fixed;left:16px;top:12px;z-index:1000;transform:translateY(-180%);background:#163f88;color:#fff;padding:12px 20px;border-radius:6px}
.skip-link:focus{transform:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.header nav a,.filters button,.search-actions button,.search-actions a,.public-pages a,#approved-status button,.public-detail>a,#close-photo,#original-photo{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}
.header nav{align-items:center}.header nav a{white-space:nowrap}
.search-panel input,.search-panel select,.contact-form input,.contact-form select,.contact-form textarea{font-size:16px;min-height:48px;line-height:1.5}
.search-panel label,.contact-form label{font-size:14px}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#63738a;opacity:1}
.eyebrow{font-size:11px}.values{font-size:14px}.contact-detail strong{font-size:15px}
.footer-inner p,.footer-inner small{color:#52647b}.footer-inner small{font-size:12px}
.search-panel label{min-width:0}.search-panel input::placeholder{color:#e4edff}
.search-panel .orange{color:#132b4b}.search-heading p{font-size:13px;color:#d1dff4}
.search-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0}
.search-actions button,.search-actions a,#approved-status button{border:1px solid #bdcadd;border-radius:6px;background:#fff;color:#163f88;font:inherit;font-size:14px;padding:10px 16px}
.filters{gap:8px}.filters button{font-size:14px;padding:10px 18px;color:#52647b}
.location,.property-meta,.search-note,.section-description,.example-heading,.public-local-note,.footer-note,.form-notice,#approved-status,#approved-count,.filter-row>p,.contact-copy>p:not(.eyebrow),.about-copy>p{color:#52647b}
.search-note,.form-notice,.footer-note,.public-local-note{font-size:13px;line-height:1.8}
.section-description,.contact-copy>p:not(.eyebrow),.about-copy>p{font-size:16px;line-height:1.8}
.about-copy>p,.hero-description,.section-description,.contact-copy>p{word-break:keep-all;overflow-wrap:anywhere}
.property-grid{align-items:start}.property-card{min-width:0}.property-photo{height:auto;aspect-ratio:3/2;border-radius:8px;background:#e8edf3}
.property-photo img{display:block}.property-photo img[hidden]{display:none}
.property-photo .photo-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;color:#52647b;font-size:15px;background:#e8edf3}
.property-info{padding:12px 2px 4px}.property-info h3{font-size:20px;line-height:1.55;overflow-wrap:anywhere}
.property-info h3 a{display:inline-flex;align-items:center;min-height:44px;padding-block:4px}
.property-info .location{font-size:14px;line-height:1.65;margin:6px 0 8px}
.property-info .price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;font-size:14px;margin:12px 0 16px;overflow-wrap:anywhere}
.property-info .price strong,.approved-card .price strong{font-size:26px;line-height:1.4;margin:0;font-weight:800;letter-spacing:-.6px;overflow-wrap:anywhere;max-width:100%}
.property-info .price>span{font-size:14px;margin:0}.property-meta{font-size:14px;line-height:1.65;flex-wrap:wrap;gap:6px 0}
.badge{font-size:12px}.public-pages{flex-wrap:wrap;gap:12px}
#approved-status{font-size:15px;line-height:1.8;overflow-wrap:anywhere}
#approved-status button{margin:10px 10px 0 0}#approved-list[aria-busy=true] #approved-grid{opacity:.45}
.public-reset{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;margin:10px 0 0 12px;padding:10px 16px;border:1px solid #bdcadd;border-radius:6px;background:#fff;color:#163f88;font-size:14px}
#approved-status:has(button){padding:20px;background:#f3f6fa;border:1px solid #d5dfeb;border-radius:8px}
.approved-heading p{font-size:14px}.example-heading{font-size:14px}
#approved-count:focus-visible,#approved-status:focus-visible{outline:2px solid #163f88;outline-offset:4px}
.public-detail-heading h1{font-size:clamp(28px,4.5vw,42px);line-height:1.45;letter-spacing:-.035em}
.public-detail-heading>p{font-size:16px;color:#52647b}
.public-detail-heading .public-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;padding:18px 20px;border-left:4px solid #f47a38;border-radius:0 8px 8px 0;background:#f1f5fb;color:#163f88;font-size:16px}
.public-price strong{font-size:clamp(26px,4.5vw,36px);line-height:1.4;overflow-wrap:anywhere;max-width:100%;font-weight:800}
.public-facts dl>div{font-size:16px;grid-template-columns:minmax(100px,120px) minmax(0,1fr);gap:14px}
.public-facts dt{color:#52647b}.public-facts>p{font-size:14px;color:#52647b}
.public-detail .gallery-main{display:block;position:relative;aspect-ratio:4/3;max-height:560px}
.public-detail .gallery-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.public-detail #gallery-caption{color:#52647b;font-size:15px;line-height:1.7;min-height:26px}
.public-detail .gallery-thumbs{scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:thin;gap:12px;padding:8px 4px 16px}
.public-detail .gallery-thumb{min-width:80px;min-height:68px;scroll-snap-align:start}
.public-detail #photo-dialog{width:min(1200px,calc(100% - 24px));max-width:none;max-height:calc(100svh - 24px);padding:16px}
.public-detail #photo-dialog img{margin:12px auto;max-width:100%;max-height:calc(100svh - 160px)}
.public-detail #close-photo{padding:10px 18px;font-size:16px}.public-detail #original-photo{font-size:15px}
.public-detail [data-retry-image]{min-height:44px;border:1px solid #163f88;border-radius:6px;background:#fff;color:#163f88;padding:10px 18px;font:inherit}
.public-error{padding-block:64px;max-width:760px}.public-error h1{font-size:clamp(28px,5vw,40px);letter-spacing:-.04em;line-height:1.5;overflow-wrap:anywhere}.public-error p{font-size:16px;color:#52647b;line-height:1.8}.public-error .button{max-width:300px;min-height:48px;font-size:16px}
body.photo-open{overflow:hidden}
.mobile-consult-bar{display:none}.mobile-consult-bar[hidden]{display:none}
#contact,#properties{scroll-margin-top:24px}#contact h2:focus{outline:2px solid #163f88;outline-offset:6px}
@media(max-width:1050px){.about-copy .desktop-break{display:none}}
@media(min-width:701px) and (max-width:1050px){.property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{background-image:url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1600&q=78')}.contact-section{gap:32px}.form-row{grid-template-columns:1fr}.search-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.search-panel .button{grid-column:1/-1;justify-content:center}}
@media(max-width:700px){
 body{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}
 html{scroll-padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
 .header{height:auto;min-height:80px;padding:12px 20px;gap:6px 12px;flex-wrap:wrap}
 .header nav{gap:12px;margin-left:auto;flex-wrap:wrap}.header nav a{font-size:14px}
 .hero{height:480px;background-image:url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=900&q=78')}.hero-content{padding-top:44px}.hero h1{font-size:clamp(32px,8.5vw,42px);line-height:1.3;letter-spacing:-1.5px;word-break:keep-all}
 .hero-description{font-size:15px;line-height:1.8}.hero-link{font-size:14px;min-height:44px}
 .search-section{margin-top:-36px}.search-panel{padding:22px 20px;gap:16px}.search-panel label{gap:5px}.search-heading strong{font-size:17px}
 .search-panel .button{min-height:50px;font-size:16px;padding:14px 18px}.search-actions{justify-content:flex-start;gap:8px}
 .filters{gap:8px}.filters button{font-size:14px;padding:10px 16px}.filter-row>p{font-size:13px}
 .section{padding-block:44px}.section-description{font-size:15px}.property-grid{gap:32px}.property-photo{aspect-ratio:4/3}
 .property-info .price strong,.approved-card .price strong{font-size:26px}.property-info h3{font-size:21px}
 .property-meta span+span:before{margin-inline:10px}.approved-heading{gap:0}
 .public-detail-heading{padding:22px 0 6px}.public-detail-heading .public-price{padding:16px;font-size:15px}
 .public-facts{padding:20px 16px}.public-facts dl>div{grid-template-columns:96px minmax(0,1fr);gap:12px}.public-facts .button{font-size:16px;max-width:none}
 .public-detail .gallery-main{max-height:70svh}.public-detail .gallery-thumb{flex-basis:80px}.public-detail .gallery-thumb img{width:68px;height:55px}
 .form-row{grid-template-columns:1fr;gap:19px}.contact-form label{font-size:14px}.contact-form button{min-height:52px;font-size:16px}#form-status{font-size:14px}
 .mobile-consult-bar{display:block;position:fixed;z-index:50;bottom:0;left:0;right:0;padding:10px 20px calc(10px + env(safe-area-inset-bottom,0px));background:#fffffff5;border-top:1px solid #d5dfeb;box-shadow:0 -4px 20px #132b4b0d}
 .mobile-consult-bar a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;border-radius:7px;background:#163f88;color:#fff;padding:12px 18px;font-size:16px;font-weight:700}
 .mobile-consult-bar span{font-size:12px;font-weight:400;color:#dce8ff}
 .photo-open .mobile-consult-bar{display:none}.footer-inner small{font-size:12px;color:#52647b}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.property-photo img{transition:none}}
/* Consultation intake: keyboard-friendly controls, plain-language consent, no hidden submit. */
.privacy-notice{padding:16px;border:1px solid #ccd7e5;border-radius:12px;background:#f3f7fc;font-size:14px;line-height:1.75;color:#24374d}
.privacy-notice p{margin:8px 0;overflow-wrap:anywhere}
.contact-form .consent-label{display:flex;align-items:center;gap:12px;min-height:48px;font-size:15px;cursor:pointer}
.contact-form .consent-label input{width:24px;height:24px;min-height:24px;flex:none;accent-color:#155bc0}
.spam-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.consult-phones,.public-phone-actions{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}
.consult-phones a,.public-phone-actions a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 16px;border:1px solid #155bc0;color:#164c91;border-radius:10px;font-weight:700}
.contact-form button{min-height:48px;white-space:normal}.draft-button{background:#edf2f8;color:#24436a;border:1px solid #ccd7e5}
.contact-form [aria-busy=true]{opacity:.75}#form-status{overflow-wrap:anywhere;scroll-margin-bottom:120px}
@media(max-width:700px){.consult-phones{flex-direction:column}.public-phone-actions a{flex:1}.mobile-consult-bar .quick-call{background:#155bc0;color:white;flex:0 0 30%;justify-content:center}.mobile-consult-bar{gap:8px}.mobile-consult-bar>a{min-width:0;flex:1}.privacy-notice{padding:12px}.contact-form input,.contact-form textarea{scroll-margin-block:100px}}


@media(max-width:700px){.mobile-consult-bar{display:flex}.mobile-consult-bar span{display:none}.mobile-consult-bar a{padding-inline:12px}.mobile-consult-bar .quick-call{flex-basis:38%}}
