/* Mobile only. Desktop rules and dimensions stay in style.css unchanged. */
@media(max-width:768px){
 :root{--secondary-size:15px!important;--base:16px!important}
 [data-mobile-only][hidden]{display:block}
 html{scroll-padding-top:80px}body{font-size:16px;line-height:1.75;overflow-wrap:break-word;word-break:normal}
 body:not(.admin-body) .container,body:not(.admin-body):not([data-page="home"]) #main .container{width:calc(100% - 40px);min-width:0}
 body:not(.admin-body) #main{min-width:0}body:not(.admin-body) #main :is(h1,h2,h3,p,a){overflow-wrap:anywhere;word-break:normal}
 body:not(.admin-body) .section,body:not(.admin-body):not([data-page="home"]) #main .section{padding:40px 0}
 body:not(.admin-body) .section-head{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:24px;text-align:left}
 body:not(.admin-body) .section-head h2,body:not(.admin-body) .about-copy h2{font-size:clamp(25px,5.5vw,32px);line-height:1.45}
 body:not(.admin-body) .section-head p,body:not(.admin-body) .about-copy p{font-size:15px;line-height:1.85;margin-top:14px}
 body:not(.admin-body) .section-head .link{margin-top:0;font-size:14px;white-space:normal}
 .eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:10px}.btn{min-height:46px;font-size:14px;padding:12px 20px}.icon-btn{min-width:44px;min-height:44px}
 .site-header .header-row{height:68px;gap:12px}.site-header .brand{min-width:0}.site-header .brand img{height:auto!important;max-height:44px;max-width:min(180px,58vw);width:auto}.site-header .brand-name{font-size:22px}.site-header .header-cta{display:none}
 .site-header .menu-toggle{display:grid;flex-shrink:0;background:var(--background);border:1px solid var(--line);border-radius:13px}
 .site-header .nav{display:none;position:absolute;top:68px;left:12px;right:12px;padding:10px 18px;max-height:calc(100dvh - 90px);overflow-y:auto;border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 36px #11283f18;background:white;flex-direction:column;gap:0;align-items:stretch}
 .site-header .nav.open{display:flex}.site-header .nav a{min-height:46px;padding:12px 4px;font-size:15px;white-space:normal;border-bottom:1px solid var(--line)}.site-header .nav a:last-child{border:0}.site-header .nav a.active:after{display:none}
 .hero-wrap{padding:12px 12px 0}.hero{border-radius:22px}.hero:not(.hero-image-only){min-height:var(--hero-mobile-height,420px)!important}
 .hero .container{width:calc(100% - 40px)}.hero .hero-copy{padding:30px 0 92px;max-width:100%}.hero .hero-logo{max-width:160px;max-height:75px;width:auto!important;margin-bottom:18px}
 .hero h1{font-size:clamp(28px,7.5vw,40px)!important;line-height:1.45!important;letter-spacing:-.02em}.hero p{font-size:15px;line-height:1.8;max-width:38ch;margin:16px 0 24px}.hero .eyebrow{font-size:10px}.hero .actions{gap:10px}.hero .actions .btn{font-size:14px;min-height:46px;flex:1 1 130px;padding:12px 16px}.hero .hero-image-actions .btn{flex:0 1 auto;max-width:100%}.hero.hero-image-buttons{min-height:clamp(280px,82vw,460px)!important}
 .hero-bg{object-position:60% center}.hero-bottom{bottom:18px}.hero-bottom .container{gap:8px;flex-wrap:wrap;font-size:8px}.hero-bottom-right{display:none}.hero-image-only{border-radius:22px}.hero-image-actions{bottom:24px}
 .stats{padding:24px 0;gap:8px}.stat{padding:0 5px}.stat strong{font-size:clamp(25px,6vw,34px)}.stat span{font-size:12px;line-height:1.6}
 .about-grid,.about-content-block,.about-content-block.align-full,.about-content-block.text-only{grid-template-columns:minmax(0,1fr);gap:24px}.about-grid.reverse .about-image,.about-content-block.align-right>img{order:0}.about-image>img{aspect-ratio:4/3;border-radius:20px}.about-copy p{margin:16px 0 22px}.about-content-block{margin-bottom:32px}.about-content-block h2{font-size:26px}.about-block-body p{font-size:15px;line-height:1.85}
 .service-grid,body[data-page="about"] #main .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px}.service-card{padding:20px 16px;border-radius:18px;min-width:0}.service-icon{width:44px;height:44px;margin-bottom:16px}.service-card h3{font-size:18px;line-height:1.5}.service-card p{font-size:14px;line-height:1.8}
 .reasons-grid{grid-template-columns:minmax(0,1fr);gap:0}.reason{gap:16px;padding:20px 0;min-width:0}.reason>div{min-width:0}.reason h3{font-size:20px}.reason p{font-size:15px}
 body:not(.admin-body) #main :is(.houses-grid,.articles-grid,.works-grid,.updates-page-grid,.news-grid),body:not(.admin-body):not([data-page="home"]) #main :is(.houses-grid,.articles-grid){grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;grid-auto-flow:row;grid-auto-columns:auto;overflow:visible}
 body:not(.admin-body)[data-page="about"] #main #featured .houses-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;overflow:visible;padding-bottom:0}
 .house-card,.summary-card,.news-card{min-width:0}.house-card .card-image img,.summary-card .news-image img{aspect-ratio:4/3}.house-card .house-info,.summary-content{padding:20px 18px}.house-card .house-info h3{font-size:23px;line-height:1.5}.house-card .house-price strong{font-size:26px}.house-card .house-specs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 5px;margin-bottom:18px}.house-card .house-specs span{font-size:12px;line-height:1.6;min-width:0}.house-card .house-specs b{font-size:14px}.house-specs span:last-child{grid-column:auto}.house-specs .house-area{grid-column:1/-1}.house-card .house-specs svg{width:15px;height:15px}
 body:not(.admin-body) .summary-card h3,body:not(.admin-body) .articles-grid .summary-card h3{font-size:20px;line-height:1.5}body:not(.admin-body) .summary-card .summary-excerpt{display:-webkit-box;font-size:15px;line-height:1.8;margin-bottom:18px}.summary-card .meta{font-size:12px;flex-wrap:wrap;gap:6px 10px}.card-detail-btn{min-height:46px;font-size:14px}.house-style{font-size:12px}.center-action{margin-top:24px}
 .quote-section{padding:0 12px}.quote-box,body:not(.admin-body):not([data-page="home"]) #main .quote-box{padding:30px 24px;border-radius:22px;gap:22px;flex-direction:column;align-items:flex-start}.quote-box h2{font-size:27px;line-height:1.5}.quote-box p{font-size:15px}.quote-box .btn{width:100%}
 .page-head{padding:28px 0!important}.page-head h1{font-size:28px;line-height:1.5}.page-head p{font-size:15px;line-height:1.8}.page-head .eyebrow{font-size:10px}
 .filter-box{padding:20px;border-radius:20px}.filter-row{gap:16px;flex-wrap:wrap}.filter-group{min-width:0!important;width:100%;flex-basis:100%}.filter-group select,.filter-group input{width:100%;min-width:0}.results-bar{align-items:flex-start;gap:12px;flex-wrap:wrap;font-size:14px}.results-bar select{font-size:14px;min-height:44px;max-width:100%}.chips{flex-wrap:wrap}.chips button{min-height:42px;font-size:13px}.pagination{gap:8px;flex-wrap:wrap}
 .detail-title{padding-top:28px}.detail-title h1,.work-detail-heading h1,.article-wrap h1,.feed-item h1{font-size:clamp(27px,6.5vw,34px);line-height:1.5}.gallery-main{border-radius:20px}.gallery-main>img{aspect-ratio:4/3;object-fit:cover}.thumbs{max-width:100%;overflow-x:auto;gap:8px}.thumbs button{flex-shrink:0}.thumbs img{width:76px;height:58px}.gallery-nav{width:44px;height:44px}.model-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.model-summary-item{padding:16px 12px;min-width:0}.model-summary-item>span{font-size:13px}.model-summary-item>strong{font-size:23px;overflow-wrap:anywhere}.summary-price{grid-column:1/-1}.model-actions,.work-bottom-actions{flex-direction:column;align-items:stretch;gap:12px}.model-actions .btn,.work-bottom-actions .btn{width:100%}.model-detail{padding:28px 0}.model-detail .prose,.work-description,.prose{font-size:16px;line-height:1.9}.work-related{padding:22px;flex-direction:column;align-items:flex-start;gap:18px}.work-related .btn{width:100%}
 .article-wrap{width:100%;padding:28px 20px 40px}.article-cover{aspect-ratio:4/3;border-radius:20px;margin:24px 0}.prose :is(h2,h3){font-size:24px;line-height:1.5}.prose img{max-width:100%;height:auto}.prose table{display:block;max-width:100%;overflow-x:auto}.feed-item{padding:20px;border-radius:20px}.feed-item>p{font-size:16px;line-height:1.9}.feed-images{gap:8px}
 body:not(.admin-body) .contact-grid{grid-template-columns:minmax(0,1fr);gap:24px!important}.office-card{padding:24px 20px;border-radius:20px}.office-card h2{font-size:25px}.office-address p,.office-direct a{font-size:15px}.office-map{height:240px}.lead-form{padding:24px 20px;min-width:0}.lead-form h2{font-size:25px}.lead-form>p{font-size:15px!important}.form-grid{grid-template-columns:minmax(0,1fr);gap:18px}.form-grid .full{grid-column:auto}.field{min-width:0}.field :is(input,select,textarea){max-width:100%;min-width:0;font-size:16px!important}.field :is(input:not([type=checkbox]):not([type=color]):not([type=range]),select){min-height:46px}.checkbox-row input,.check-label input{flex-shrink:0}.check-label{font-size:13px;line-height:1.7}
 .footer.footer-minimal>.container{flex-direction:column;align-items:flex-start;gap:20px}body:not(.admin-body) .footer.footer-minimal{padding:28px 0 36px;margin-top:24px}.footer-consult{width:100%}.footer-credit{font-size:13px;line-height:1.7}.floating-contact{display:none}
 dialog{max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);margin:auto;overflow:auto;border-radius:22px}.modal-content{padding:30px 20px 24px!important;max-width:100%!important;min-width:0}.modal-content h2{font-size:25px}.modal-close{position:sticky;top:8px;margin-left:auto;z-index:4;min-width:44px;min-height:44px}.popup{padding:24px}.popup h2{font-size:26px}.popup p{font-size:15px}.dialog-actions{flex-wrap:wrap;gap:10px}.dialog-actions .btn{flex:1 1 120px}
 /* Admin controls use the screen width; only wide data tables scroll within their panel. */
 .admin-layout{display:block}.admin-main,.admin-content,.editor-page,.panel,.two-cols>*,.editor-page-grid>*,.typography-layout>*{min-width:0;max-width:100%}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:min(290px,86vw);height:100dvh;transform:translateX(-100%);visibility:hidden;overflow-y:auto;z-index:70;box-shadow:none}.admin-sidebar.open{transform:none;visibility:visible;box-shadow:0 0 0 100vmax #11283f66}.admin-mobile-menu{display:grid}.admin-top{padding:12px 16px;min-height:72px;gap:10px}.admin-top h1{font-size:18px;line-height:1.4}.admin-top p{display:none}.admin-top .actions{gap:8px}.admin-top .actions .btn{min-height:40px;padding:8px 12px;font-size:12px}.admin-top .actions a{display:none}.admin-content{padding:22px 16px 40px}.panel{padding:20px 16px;border-radius:18px}.panel-head,.admin-title{gap:14px;flex-wrap:wrap}.panel-head h3,.panel h3{font-size:19px}.admin-body .small,.admin-body .notice{font-size:14px}.editor-fields,.two-cols,.editor-page-grid,.visual-layout,.typography-layout{grid-template-columns:minmax(0,1fr)}.editor-fields .full{grid-column:1}.admin-savebar{position:static;display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:16px;margin-top:20px}.admin-savebar p{max-width:none;font-size:13px}.admin-savebar .btn{min-height:48px;font-size:15px;width:100%}.list-item{padding:16px 12px;gap:12px;flex-wrap:wrap;min-width:0}.list-item .item-info{min-width:0;flex:1 1 150px;overflow-wrap:anywhere}.list-item .row-actions{display:flex;gap:8px;flex-wrap:wrap;max-width:100%;margin-left:auto}.list-item input:not([type=checkbox]){width:100%!important}.admin-body .btn{min-height:44px;font-size:14px}.admin-body .icon-btn{width:44px;height:44px}.tabs,.filter-admin{flex-wrap:wrap;gap:10px}.filter-admin>*{max-width:100%;min-width:0}.table-wrap{max-width:100%;overflow-x:auto}.data-table{font-size:13px}.image-upload{min-width:0}.image-upload .actions{gap:10px;flex-wrap:wrap}.image-upload img{max-width:100%}.color-field{flex-wrap:wrap}.color-field>[data-hex-input]{max-width:none;flex:1 1 140px}.font-face-row{grid-template-columns:minmax(0,1fr) 44px}.font-face-row>div,.font-face-row label{grid-column:1}.font-face-row>.icon-btn{grid-column:2;grid-row:2/4}.admin-metrics{gap:12px}.metric{padding:18px 14px}.quick-links{grid-template-columns:1fr 1fr;gap:10px}.quick-links button{padding:16px 12px;font-size:14px;overflow-wrap:anywhere}.typography-live-panel{position:static;grid-row:auto;padding:16px}.typography-live-stage{max-width:100%;min-width:0}.typography-live-stage iframe{width:100%;height:360px;min-width:0}.typography-layout .group-type-fields,.spacing-fields{grid-template-columns:minmax(0,1fr)}.preview-controls{flex-wrap:wrap;gap:10px}.preview-controls select{width:100%;max-width:none;min-width:0}.preview-stage,.visual-stage{max-width:100%;overflow:auto;justify-content:flex-start;padding:8px}.editor-page{padding:20px 16px}.rich-toolbar{position:static;flex-wrap:wrap;gap:6px}.rich-editor{padding:18px;min-height:380px;overflow-wrap:anywhere}.editor-title-input{font-size:26px!important}.editor-page-grid>aside{display:block}.reference-frames{visibility:hidden}
}
@media(max-width:540px){
 body:not(.admin-body) #main :is(.houses-grid,.articles-grid,.works-grid,.updates-page-grid,.news-grid),body:not(.admin-body):not([data-page="home"]) #main :is(.houses-grid,.articles-grid),body:not(.admin-body)[data-page="about"] #main #featured .houses-grid{grid-template-columns:minmax(0,1fr)}
 .service-grid,body[data-page="about"] #main .service-grid{grid-template-columns:minmax(0,1fr)!important}.service-card{padding:22px}.service-card h3{font-size:20px}.service-card p{font-size:15px}.service-icon{margin-bottom:14px}.section-head h2{max-width:100%}.hero .hero-copy{text-align:left;margin:0}.hero .hero-copy p{margin-left:0;margin-right:0}.hero .actions{justify-content:flex-start}.hero .hero-image-actions{justify-content:center!important}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat strong{font-size:25px}.stat span{font-size:11px}.admin-top h1{font-size:16px}.admin-top>.actions .btn{padding:8px 10px}.metric strong{font-size:28px}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:540px){.hero .actions:not(.hero-image-actions){flex-direction:column;align-items:stretch}.hero .actions:not(.hero-image-actions) .btn{flex:0 0 auto;width:100%}}
/* Requested compact mobile catalogs: 3 cards per row, at most 4 rows. */
@media(max-width:768px){
 body:not(.admin-body) #main :is(.houses-grid,.articles-grid,.works-grid,.updates-grid,.news-grid),body:not(.admin-body):not([data-page="home"]) #main :is(.houses-grid,.articles-grid),body:not(.admin-body)[data-page="about"] #main #featured .houses-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 8px;grid-auto-flow:row;grid-auto-columns:auto;overflow:visible}
 body:not(.admin-body) #main :is(.house-card,.summary-card){border-radius:12px;overflow:hidden;min-width:0}
 body:not(.admin-body) #main :is(.house-info,.summary-content){padding:10px 7px;min-width:0}
 body:not(.admin-body) #main :is(.house-info h3,.summary-card h3,.articles-grid .summary-card h3){font-size:13px;line-height:1.55;margin:0 0 8px;letter-spacing:0;overflow-wrap:anywhere}
 body:not(.admin-body) #main .house-price{margin:0 0 8px}body:not(.admin-body) #main .house-price strong{font-size:12px;margin:0;letter-spacing:-.035em;white-space:nowrap}
 body:not(.admin-body) #main .house-specs{display:none}
 body:not(.admin-body) #main :is(.summary-excerpt,.house-style,.promo-tag,.latest-tag,.summary-category,.work-model-link){display:none}
 body:not(.admin-body) #main .summary-card .meta{font-size:10px;line-height:1.5;margin:0 0 7px;gap:4px;overflow-wrap:anywhere}
 body:not(.admin-body) #main .card-detail-btn{font-size:11px;line-height:1.5;min-height:44px;padding:8px 4px;width:100%;border-radius:10px;overflow-wrap:anywhere}
 body:not(.admin-body) #main .card-detail-btn [data-edit]{font-size:11px!important}
 body:not(.admin-body) #main .card-detail-btn svg{display:none}
 body:not(.admin-body) #main :is(.house-card .card-image img,.summary-card .news-image img){aspect-ratio:1.15;object-fit:cover}
 body:not(.admin-body) #main .news-image{border-radius:12px 12px 0 0}
 body:not(.admin-body) #main .service-grid,body:not(.admin-body)[data-page="about"] #main .service-grid,body:not(.admin-body) #main .reasons-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px}
 body:not(.admin-body) #main .service-card{padding:18px 12px;border-radius:16px}body:not(.admin-body) #main .service-card h3{font-size:17px;line-height:1.5}body:not(.admin-body) #main .service-card p{font-size:13px;line-height:1.8}
 body:not(.admin-body) #main .reason{display:flex;flex-direction:column;gap:12px;padding:18px 12px;border:1px solid var(--line);border-radius:16px;align-items:flex-start;min-width:0}body:not(.admin-body) #main .reason h3{font-size:17px;line-height:1.5}body:not(.admin-body) #main .reason p{font-size:13px;line-height:1.8}
 [data-section="home.about"] .about-copy{order:0}[data-section="home.about"] .about-image,[data-section="home.about"] .about-grid.reverse .about-image{order:1}
 [data-section="home.about"] .about-image>img{height:var(--home-about-mobile-image-height,auto)}
 .mobile-grid-pager{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:22px;flex-wrap:wrap}.mobile-grid-pager span{font-size:13px}.mobile-grid-pager button{min-height:44px;padding:9px 16px;border-radius:99px;border:1px solid var(--line);background:white;color:var(--navy);font:inherit;font-size:13px}
 body:not(.admin-body) #main :is(.house-card,.summary-card,.service-card,.reason)[hidden]{display:none!important}
}
@media(max-width:768px){body:not(.admin-body) #main :is(.houses-grid,.articles-grid,.works-grid,.updates-grid,.news-grid){grid-template-columns:repeat(3,minmax(0,1fr))!important}}
/* Restore numeric house specifications inside the compact three-column mobile cards. */
@media(max-width:768px){
 body:not(.admin-body) #main .house-card .house-specs{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding-top:10px;margin-bottom:12px;text-align:left}
 body:not(.admin-body) #main .house-card .house-specs span,body:not(.admin-body) #main .house-card .house-specs .house-area{display:flex;align-items:center;flex-wrap:wrap;gap:3px;grid-column:auto;min-width:0;font-size:10px;line-height:1.5;letter-spacing:0;overflow-wrap:anywhere}
 body:not(.admin-body) #main .house-card .house-specs b{font-size:11px;font-weight:600;line-height:1.5;color:var(--navy)}
 body:not(.admin-body) #main .house-card .house-specs svg{display:block;width:12px;height:12px;flex-shrink:0}
}
/* Compact mobile specifications: keep only the icon and number visible. */
@media(max-width:768px){
 body:not(.admin-body) #main .house-card .house-specs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 3px;padding-top:8px;margin-bottom:10px}
 body:not(.admin-body) #main .house-card .house-specs .house-spec-label{display:none!important}
 body:not(.admin-body) #main .house-card .house-specs span{flex-wrap:nowrap;gap:3px}
 body:not(.admin-body) #main .house-card .house-specs .house-area{grid-column:1/-1}
}
/* Separate mobile feeds: two columns, with eight items per page. Home stays three columns. */
@media(max-width:768px){
 body:not(.admin-body):not([data-page="home"]) #main :is(.articles-grid,.works-grid,.updates-grid,.news-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px 12px}
 body:not(.admin-body):not([data-page="home"]) #main :is(.article-summary-card,.work-summary-card,.update-summary-card) .summary-content{padding:14px 10px}
 body:not(.admin-body):not([data-page="home"]) #main :is(.article-summary-card,.work-summary-card,.update-summary-card) h3{font-size:15px;line-height:1.55}
}

/* Mobile typography refinement. No desktop layout or font rules are changed.
   The custom properties also guide saved desktop typography on small screens. */
@media (max-width:768px){
 body:not(.admin-body){font-size:16px;line-height:1.8}
 body:not(.admin-body) #main :is(h1,h2,h3,p){word-break:normal;overflow-wrap:break-word;letter-spacing:0}
 body:not(.admin-body) #main :is(.section-head h2,.about-copy h2,.about-content-block h2,.quote-box h2){--mobile-type-size:clamp(24px,6.15vw,30px);--mobile-type-leading:1.5;--mobile-type-tracking:0px;font-size:var(--mobile-type-size)!important;line-height:var(--mobile-type-leading)!important}
 body:not(.admin-body) #main .page-head h1{--mobile-type-size:clamp(26px,6.7vw,32px);--mobile-type-leading:1.45;--mobile-type-tracking:0px;font-size:var(--mobile-type-size)!important;line-height:1.45!important}
 body:not(.admin-body) #main :is(.section-head p,.about-copy p,.about-block-body p,.page-head p,.quote-box p){--mobile-type-size:clamp(15px,3.85vw,16px);--mobile-type-leading:1.85;--mobile-type-tracking:0px;font-size:var(--mobile-type-size)!important;line-height:1.85!important}
 body:not(.admin-body) #main .eyebrow{--mobile-type-size:clamp(11px,2.8vw,12px);--mobile-type-leading:1.6;--mobile-type-tracking:1.2px;font-size:var(--mobile-type-size)!important;line-height:1.6!important;letter-spacing:1.2px!important}
 body:not(.admin-body) .hero h1{--mobile-type-size:clamp(28px,7.2vw,38px);--mobile-type-leading:1.45;--mobile-type-tracking:0px;font-size:var(--mobile-type-size)!important;line-height:1.45!important}
 body:not(.admin-body) .hero p{--mobile-type-size:clamp(15px,3.85vw,16px);--mobile-type-leading:1.8;--mobile-type-tracking:0px;font-size:var(--mobile-type-size)!important;line-height:1.8!important}
 body:not(.admin-body) .stat strong{--mobile-type-size:clamp(26px,6.8vw,34px);--mobile-type-leading:1.3;font-size:var(--mobile-type-size)!important;line-height:1.3!important}
 body:not(.admin-body) .stat>span{--mobile-type-size:clamp(12px,3vw,14px);--mobile-type-leading:1.6;--mobile-type-tracking:0px;font-size:var(--mobile-type-size)!important;line-height:1.6!important}
 body:not(.admin-body) #main :is(.service-card h3,.reason h3){--mobile-type-size:clamp(16px,4.1vw,19px);--mobile-type-leading:1.55;--mobile-type-tracking:0px;font-size:var(--mobile-type-size)!important;line-height:1.55!important}
 body:not(.admin-body) #main :is(.service-card p,.reason p){--mobile-type-size:clamp(14px,3.6vw,15px);--mobile-type-leading:1.8;--mobile-type-tracking:0px;font-size:var(--mobile-type-size)!important;line-height:1.8!important}
 body:not(.admin-body) #main :is(.house-info h3,.summary-card h3,.articles-grid .summary-card h3){--mobile-type-size:clamp(13px,3.35vw,16px);--mobile-type-leading:1.6;--mobile-type-tracking:0px;font-size:var(--mobile-type-size)!important;line-height:1.6!important;letter-spacing:0!important;word-break:normal;overflow-wrap:break-word;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 body:not(.admin-body) #main .house-price strong{--mobile-type-size:clamp(12px,3.2vw,16px);--mobile-type-leading:1.5;--mobile-type-tracking:0px;font-size:var(--mobile-type-size)!important;line-height:1.5!important;letter-spacing:0}
 body:not(.admin-body) #main .house-specs :is(span,b){--mobile-type-size:clamp(12px,3vw,14px);--mobile-type-leading:1.5;--mobile-type-tracking:0px;font-size:var(--mobile-type-size)!important;line-height:1.5!important}
 body:not(.admin-body) #main .summary-card .meta{--mobile-type-size:clamp(11px,2.8vw,12px);--mobile-type-leading:1.6;--mobile-type-tracking:0px;font-size:var(--mobile-type-size)!important;line-height:1.6!important}
 body:not(.admin-body):not([data-page="home"]) #main .summary-card h3{--mobile-type-size:clamp(16px,4.1vw,19px)}
 body:not(.admin-body):not([data-page="home"]) #main .summary-card .meta{--mobile-type-size:clamp(12px,3vw,13px)}
 body:not(.admin-body) #main :is(.detail-title h1,.work-detail-heading h1,.article-wrap h1,.feed-item h1,.feed-item h2){--mobile-type-size:clamp(25px,6.4vw,32px);--mobile-type-leading:1.5;--mobile-type-tracking:0px;font-size:var(--mobile-type-size)!important;line-height:1.5!important}
 body:not(.admin-body) #main :is(.prose,.prose p,.work-description,.feed-item>p){--mobile-type-size:16px;--mobile-type-leading:1.9;--mobile-type-tracking:0px;font-size:16px!important;line-height:1.9!important}
 body:not(.admin-body) #main .prose h2{--mobile-type-size:24px;--mobile-type-leading:1.55;font-size:24px!important;line-height:1.55!important}
 body:not(.admin-body) #main .prose h3{--mobile-type-size:20px;--mobile-type-leading:1.6;font-size:20px!important;line-height:1.6!important}
 body:not(.admin-body) #main .model-summary-item>span{--mobile-type-size:14px;--mobile-type-leading:1.6;font-size:14px!important;line-height:1.6!important}
 body:not(.admin-body) #main .model-summary-item>strong{--mobile-type-size:clamp(23px,6vw,28px);--mobile-type-leading:1.4;font-size:var(--mobile-type-size)!important;line-height:1.4!important}
 body:not(.admin-body) #main :is(.contact-grid h2,.lead-form h2){--mobile-type-size:clamp(23px,5.9vw,27px);--mobile-type-leading:1.5;font-size:var(--mobile-type-size)!important;line-height:1.5!important}
 body:not(.admin-body) #main :is(.contact-grid p,.office-direct a,.lead-form>p){--mobile-type-size:15px;--mobile-type-leading:1.85;--mobile-type-tracking:0px;font-size:15px!important;line-height:1.85!important}
 body:not(.admin-body) #main .lead-form label{--mobile-type-size:14px;--mobile-type-leading:1.7;font-size:14px!important;line-height:1.7!important}
 body:not(.admin-body) .btn{--mobile-type-size:14px;--mobile-type-leading:1.6;--mobile-type-tracking:0px;line-height:1.6!important}
 body:not(.admin-body) #main .card-detail-btn{--mobile-type-size:clamp(12px,3.05vw,14px);--mobile-type-leading:1.55;font-size:var(--mobile-type-size)!important;line-height:1.55!important}
 body:not(.admin-body) #main :is(.section-head .link,.about-copy .link){--mobile-type-size:14px;--mobile-type-leading:1.7;--mobile-type-tracking:0px;font-size:14px!important;line-height:1.7!important}
 body:not(.admin-body) .footer-slogan{--mobile-type-size:16px;--mobile-type-leading:1.65;--mobile-type-tracking:0px;line-height:1.65!important}
 body:not(.admin-body) .footer-credit{--mobile-type-size:12px;--mobile-type-leading:1.7;--mobile-type-tracking:0px;font-size:12px!important;line-height:1.7!important}
 body:not(.admin-body) .site-header .nav a{--mobile-type-size:16px;--mobile-type-leading:1.6;--mobile-type-tracking:0px;font-size:16px!important;line-height:1.6!important}
}
/* Keep full house prices readable in the narrowest three-column catalogs. */
@media(max-width:768px){
 body:not(.admin-body)[data-page="about"] #main #featured .house-info{padding:10px 7px!important}
}
@media(max-width:359px){
 body:not(.admin-body) #main .house-card .house-info{padding:10px 5px!important}
 body:not(.admin-body) #main .house-price strong{--mobile-type-size:11.5px}
}

/* Two-column house catalogs and fully readable mobile filters. */
@media(max-width:768px){
 body:not(.admin-body) #main .houses-grid,
 body:not(.admin-body):not([data-page="home"]) #main .houses-grid,
 body:not(.admin-body)[data-page="about"] #main #featured .houses-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px 12px}
 body:not(.admin-body) #main .house-card .house-info,
 body:not(.admin-body)[data-page="about"] #main #featured .house-info{padding:14px 10px!important}
 body:not(.admin-body) #main .house-card .house-info h3{--mobile-type-size:clamp(16px,4.1vw,19px)}
 body:not(.admin-body) #main .house-price strong{--mobile-type-size:clamp(15px,3.85vw,20px);white-space:normal;overflow-wrap:normal}
 body:not(.admin-body) #main .house-specs :is(span,b){--mobile-type-size:13px}
 body:not(.admin-body) #main .house-card .house-specs{gap:8px 6px}
 body:not(.admin-body) #main .house-card .card-detail-btn{--mobile-type-size:13px}
 body[data-page="models"] .filter-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}
 body[data-page="models"] .filter-label{--mobile-type-size:14px;font-size:14px;white-space:normal;overflow-wrap:break-word}
 body[data-page="models"] .filter-dropdown summary{--mobile-type-size:16px;font-size:16px;min-height:48px;height:auto;align-items:flex-start;gap:8px;padding:11px 12px}
 body[data-page="models"] .filter-current{min-width:0;flex:1;white-space:normal;text-overflow:clip;overflow:visible;word-break:normal;overflow-wrap:anywhere;line-height:1.65}
 body[data-page="models"] .filter-dropdown summary svg{flex:0 0 17px;margin-top:4px}
 body[data-page="models"] .filter-dropdown-panel{position:static;width:100%;min-width:0;max-width:100%;margin-top:8px;padding:10px 8px;max-height:320px;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}
 body[data-page="models"] .filter-option{--mobile-type-size:15px;font-size:15px;min-height:44px;align-items:flex-start;gap:10px;padding:10px 6px}
 body[data-page="models"] .filter-option input{flex:0 0 auto;width:18px;height:18px;margin-top:4px}
 body[data-page="models"] .filter-option>span{min-width:0;flex:1;white-space:normal;word-break:normal;overflow-wrap:anywhere;line-height:1.75}
 body[data-page="models"] .filter-dropdown-panel>p{font-size:13px;white-space:normal;line-height:1.7}
 body[data-page="models"] .results-bar{--mobile-type-size:14px;font-size:14px}
 body[data-page="models"] #sort-houses{--mobile-type-size:16px;font-size:16px;white-space:normal;width:100%!important;min-width:0}
 body[data-page="models"] #clear-filters{--mobile-type-size:14px;font-size:14px;min-height:44px;max-width:100%}
 body:not(.admin-body) .hero .hero-copy>p{margin-bottom:40px}
 body:not(.admin-body) .hero .hero-image-actions,
 body:not(.admin-body) .hero-image-only .hero-image-actions{bottom:max(12px,env(safe-area-inset-bottom))}
}
@media(max-width:480px){body[data-page="models"] .filter-row{grid-template-columns:minmax(0,1fr)}}
