@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:wght@400;500;600&display=swap');
:root{--forest:#17352e;--deep:#0d2723;--ink:#182c27;--cream:#f8f6f0;--warm:#eeeae1;--paper:#fffefa;--gold:#b89864;--muted:#6b7972;--line:rgba(23,53,46,.14);--shadow:0 25px 90px rgba(17,39,33,.11);--radius:4px;--serif:'Playfair Display',Georgia,serif;--sans:'Manrope','DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.72;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}::selection{background:var(--gold);color:#fff}h1,h2,h3,h4,p{margin:0}h1,h2,h3{line-height:1.15}h1,h2,.serif{font-family:var(--serif);font-weight:400}h1{font-size:clamp(3.8rem,6.8vw,7.6rem);letter-spacing:-.048em}h2{font-size:clamp(2.4rem,4vw,4.5rem);letter-spacing:-.043em}h3{font-size:clamp(1.35rem,1.9vw,2rem)}.container{width:min(1190px,calc(100% - 70px));margin:0 auto}.wide{width:min(1360px,calc(100% - 70px));margin:auto}.section{padding:105px 0}.section-sm{padding:74px 0}.kicker{font-size:.71rem;text-transform:uppercase;font-weight:800;letter-spacing:.23em;color:#947349;display:flex;align-items:center;gap:13px;margin-bottom:23px}.kicker:before{content:'';width:28px;height:1px;background:currentColor}.light .kicker{color:#d4b985}.muted{color:var(--muted)}.lead{font-size:1.1rem;line-height:1.9;color:#5a6b61}.eyebrow{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800}.btn{display:inline-flex;align-items:center;justify-content:center;gap:27px;min-height:56px;padding:13px 25px;font-weight:750;font-size:.79rem;letter-spacing:.055em;border:1px solid transparent;transition:.25s ease;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--deep);color:white}.btn-dark:hover{background:#2d5348}.btn-gold{background:var(--gold);color:#162d27}.btn-gold:hover{background:#ceb07c}.btn-outline{border-color:var(--deep);color:var(--deep);background:transparent}.btn-outline:hover{background:var(--deep);color:white}.btn-white{color:var(--deep);background:#fff}.btn-text{min-height:0;padding:0;border:none;color:var(--forest);gap:11px;border-bottom:1px solid var(--gold);padding-bottom:8px}.arrow{font-size:20px;font-weight:400;line-height:1}.line{width:100%;height:1px;background:var(--line)}.header{height:90px;display:flex;align-items:center;position:sticky;top:0;z-index:100;background:rgba(255,254,250,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.header .wide{display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:14px;color:var(--forest)}.brand-mark{height:43px;width:43px;border:1.5px solid var(--gold);position:relative;display:grid;place-items:center;flex:none}.brand-mark:before{content:'';position:absolute;width:16px;height:16px;top:8px;border:2px solid var(--gold);border-bottom:0;transform:rotate(45deg)}.brand-mark:after{content:'';position:absolute;width:17px;height:13px;bottom:8px;border-left:2px solid var(--gold);border-right:2px solid var(--gold)}.brand-name{font-weight:800;letter-spacing:.105em;font-size:.95rem;line-height:1.2}.brand-sub{font-size:.54rem;letter-spacing:.31em;color:#9a825d;margin-top:5px}.nav{display:flex;align-items:center;gap:28px}.nav>a{font-size:.76rem;font-weight:750;letter-spacing:.025em;color:#44554e}.nav>a:hover,.nav>a.active{color:#a17b46}.nav-cta{display:flex;align-items:center;gap:15px}.nav-cta .btn{min-height:45px;padding:9px 16px;font-size:.71rem}.menu-btn{display:none;background:none;border:0;padding:8px;color:var(--forest)}.demo-strip{position:relative;background:#19372f;color:#e8dfce;padding:9px 20px;text-align:center;font-size:.69rem;letter-spacing:.04em;line-height:1.4}.demo-strip b{color:#fff}.hero{background:var(--deep);color:#fff;min-height:690px;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.83)}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,22,20,.93) 0%,rgba(4,22,20,.80) 34%,rgba(4,22,20,.25) 76%,rgba(4,22,20,.15) 100%),linear-gradient(0deg,rgba(4,22,20,.4),transparent 50%)}.hero-content{position:relative;z-index:2;min-height:690px;display:flex;flex-direction:column;justify-content:center;padding:80px 0 100px;max-width:755px}.hero h1{margin-bottom:26px}.hero h1 em{font-style:italic;color:#e1c492}.hero .lead{color:#e0e6df;max-width:540px;margin-bottom:35px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-bottom{position:absolute;bottom:0;left:0;right:0;z-index:3;padding:19px 0;border-top:1px solid rgba(255,255,255,.23)}.hero-bottom .wide{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#dedbd0}.dot{display:inline-block;height:7px;width:7px;border-radius:50%;background:#c4a570;margin-right:9px}.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.intro-grid h2{max-width:470px}.intro-grid .lead{max-width:620px}.signature{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:#9e845b;margin-top:22px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:46px;border-top:1px solid var(--line);padding-top:26px}.stat b{font-family:var(--serif);font-size:2.35rem;font-weight:400;display:block;color:var(--forest)}.stat span{font-size:.76rem;color:var(--muted)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:44px}.section-head>div{max-width:740px}.section-head h2{max-width:720px}.section-head .lead{margin-top:20px;max-width:600px}.bg-warm{background:var(--cream)}.bg-forest{background:var(--deep);color:white}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.property-card{background:var(--paper);overflow:hidden;transition:transform .3s,box-shadow .3s;border:1px solid #e9e7df}.property-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.property-image{position:relative;aspect-ratio:1.28;overflow:hidden;background:#d8d6cc}.property-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.property-card:hover .property-image img{transform:scale(1.055)}.tag{position:absolute;left:18px;top:18px;background:#fffefa;color:#294137;text-transform:uppercase;font-size:.61rem;letter-spacing:.12em;font-weight:850;padding:9px 12px}.save{position:absolute;right:15px;top:15px;border:0;background:#fffefa;width:35px;height:35px;border-radius:50%;font-size:20px;color:var(--forest);display:grid;place-items:center}.save.saved{color:#a57340}.property-body{padding:25px 25px 22px}.property-location{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:#9c7e56;font-weight:800;margin-bottom:11px}.property-body h3{font-family:var(--serif);font-size:1.65rem;line-height:1.22;margin-bottom:11px}.property-body p{color:#728077;font-size:.82rem;min-height:47px}.property-meta{border-top:1px solid var(--line);margin-top:19px;padding-top:18px;display:flex;justify-content:space-between;gap:16px;color:#576a60;font-size:.7rem}.property-price{font-weight:800;color:#17352e;white-space:nowrap}.property-footer{display:flex;justify-content:space-between;align-items:center;margin-top:17px;font-size:.77rem;font-weight:800;color:var(--forest)}.image-split{display:grid;grid-template-columns:1fr 1fr;min-height:555px}.image-split>img{width:100%;height:100%;max-height:700px;object-fit:cover}.image-split .content{display:flex;flex-direction:column;justify-content:center;padding:75px clamp(30px,7vw,125px)}.image-split .content p{margin-top:23px;margin-bottom:29px;max-width:510px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{border:1px solid var(--line);padding:34px;background:white;min-height:285px;display:flex;flex-direction:column;gap:18px;transition:background .2s}.service-card:hover{background:#f0eee6}.service-index{font-size:.74rem;letter-spacing:.1em;color:#a17e4b}.service-card h3{font-size:1.6rem;font-family:var(--serif)}.service-card p{font-size:.85rem;color:#728177}.service-card a{margin-top:auto;font-size:.76rem;font-weight:800;color:var(--forest)}.dark-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.dark-stat{border-left:1px solid rgba(255,255,255,.18);padding-left:28px}.dark-stat b{font-size:2.4rem;font-family:var(--serif);font-weight:400;color:#e2c595}.dark-stat span{display:block;color:#b9c9c0;font-size:.78rem;margin-top:10px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:50px}.process-step{border-top:1px solid #cab389;padding-top:25px}.process-step span{color:#b99e6d;font-size:.74rem}.process-step h3{font-size:1.45rem;margin:18px 0 13px}.process-step p{color:#b7c5bd;font-size:.81rem}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.journal-card{border-bottom:1px solid var(--line);padding-bottom:21px}.journal-card .thumb{aspect-ratio:1.52;background:#dcd9cd;overflow:hidden;margin-bottom:21px}.journal-card .thumb img{width:100%;height:100%;object-fit:cover;transition:.4s}.journal-card:hover .thumb img{transform:scale(1.06)}.journal-card h3{font-size:1.44rem;font-family:var(--serif);line-height:1.4;margin:9px 0}.journal-card p{color:var(--muted);font-size:.81rem}.cta-band{background:#183b32;color:white;padding:70px 0}.cta-flex{display:flex;align-items:center;justify-content:space-between;gap:28px}.cta-band h2{font-size:clamp(2.2rem,4vw,4.2rem)}.cta-band p{color:#c8d4c9;max-width:560px;margin-top:13px}.footer{background:#0c241f;color:#c0cec6;padding:72px 0 0}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:70px;padding-bottom:70px}.footer .brand{color:white}.footer .brand-sub{color:#b9a178}.footer h4{font-size:.73rem;letter-spacing:.12em;text-transform:uppercase;color:white;margin-bottom:23px}.footer a{display:block;margin:10px 0;color:#c0cec6;font-size:.82rem}.footer a:hover{color:#dfc494}.footer-desc{max-width:340px;margin-top:25px;font-size:.82rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding:18px 0;display:flex;justify-content:space-between;gap:20px;font-size:.68rem;color:#91a39a}.page-hero{background:var(--cream);padding:92px 0 85px}.page-hero .wide{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:end}.page-hero h1{font-size:clamp(3.2rem,5.5vw,6rem);color:var(--forest)}.page-hero .lead{max-width:500px;justify-self:end}.breadcrumb{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#8a937f;margin-bottom:22px}.breadcrumb a{color:#a27e4a}.filterbar{background:#fff;border:1px solid var(--line);padding:19px;display:grid;grid-template-columns:2fr 1.2fr 1.2fr 1.2fr;gap:12px;margin-bottom:30px}.filterbar input,.filterbar select,.field input,.field select,.field textarea{width:100%;min-height:53px;border:1px solid #dedfd7;background:var(--paper);padding:12px 16px;outline:none;border-radius:0;color:var(--forest);font-size:.84rem}.filterbar input:focus,.filterbar select:focus,.field input:focus,.field textarea:focus{border-color:#ac8c5d;box-shadow:0 0 0 3px rgba(176,145,92,.11)}.filter-result{margin:0 0 24px;color:#78837a;font-size:.77rem;display:flex;justify-content:space-between}.filterbar label{position:absolute;width:1px;height:1px;overflow:hidden}.pagination-note{text-align:center;color:#78857c;font-size:.75rem;margin-top:24px}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 28px;margin:26px 0;list-style:none;padding:0}.feature-list li{padding-left:24px;position:relative;font-size:.84rem}.feature-list li:before{content:'✓';color:#a18556;position:absolute;left:0}.detail-image{width:100%;height:min(70vh,680px);min-height:350px;object-fit:cover}.detail-intro{display:grid;grid-template-columns:1.4fr .6fr;gap:70px;margin-top:55px}.detail-title h1{font-size:clamp(3rem,5vw,5rem);color:var(--forest)}.detail-sub{max-width:730px;margin-top:25px;color:#69776d;font-size:1.03rem}.detail-summary{border:1px solid var(--line);padding:30px;background:var(--cream);align-self:start}.detail-summary h3{font-family:var(--serif);font-size:1.7rem}.detail-summary .bigprice{font-size:2.15rem;color:var(--forest);margin:15px 0;font-weight:750}.detail-summary small{color:var(--muted);display:block}.detail-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;border-top:1px solid var(--line);padding-top:25px}.detail-meta b{display:block;font-size:1.07rem;color:#193a32}.detail-meta span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#7b877d}.detail-block{margin:70px 0}.detail-block h2{font-size:2.6rem;margin-bottom:20px}.detail-block .lead{max-width:820px}.detail-gallery{display:grid;grid-template-columns:1.5fr 1fr;gap:15px;height:410px}.detail-gallery img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}.detail-gallery>div{display:grid;grid-template-rows:1fr 1fr;gap:15px;min-height:0}.detail-gallery>div img{min-height:0}.steps-list{counter-reset:num}.steps-list article{display:grid;grid-template-columns:50px 1fr;gap:30px;border-bottom:1px solid var(--line);padding:28px 0}.steps-list article b{font-family:var(--serif);font-size:1.7rem;color:#ac925f}.steps-list article h3{font-size:1.35rem;margin-bottom:9px}.steps-list article p{font-size:.89rem;color:var(--muted)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px}.contact-note{padding:28px;background:#f0ece1;color:#526159;font-size:.82rem;margin-top:30px}.form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field.full{grid-column:1/-1}.field label{display:block;font-size:.71rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:9px}.field textarea{min-height:140px;resize:vertical}.field input[type=checkbox]{height:auto;width:auto;min-height:0}.form-agree{display:flex;gap:11px;align-items:start;font-size:.76rem;color:#758177}.form-agree input{margin-top:6px}.form-status{grid-column:1/-1;font-size:.8rem;min-height:20px}.info-row{padding:22px 0;border-bottom:1px solid var(--line)}.info-row b{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.info-row p{color:var(--muted);margin-top:8px}.faq-list details{border-bottom:1px solid var(--line);padding:23px 0}.faq-list summary{list-style:none;cursor:pointer;font-weight:750;font-size:1.03rem;display:flex;justify-content:space-between;gap:16px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font-size:1.5rem;color:#a38655}.faq-list details[open] summary:after{content:'−'}.faq-list details p{color:var(--muted);max-width:800px;margin-top:13px;font-size:.89rem}.article-grid{display:grid;grid-template-columns:minmax(0,720px) minmax(200px,290px);gap:90px;align-items:start}.article-content{font-size:1rem;color:#40524b;line-height:1.96}.article-content h2{font-size:2.05rem;color:var(--forest);margin:36px 0 14px}.article-content h3{font-size:1.3rem;color:var(--forest);margin:26px 0 12px;font-family:var(--serif)}.article-content p{margin:0 0 19px}.article-content ul{padding-left:23px;margin:16px 0 24px}.article-content li{margin:9px 0}.article-content a{color:#7c603e;text-decoration:underline}.article-aside{position:sticky;top:120px;padding:30px;background:#f4f0e6}.article-aside h3{font-size:1.6rem;margin-bottom:17px}.article-aside a{font-size:.82rem;color:#53675d;display:block;border-bottom:1px solid var(--line);padding:13px 0}.highlight{background:#f4efe2;border-left:3px solid var(--gold);padding:20px 24px;margin:23px 0;color:#59685c}.mini-map{height:260px;background:linear-gradient(135deg,#d5d9cc,#f3e9d5);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;color:#304e43}.mini-map:before,.mini-map:after{content:'';position:absolute;width:130%;height:65px;left:-14%;transform:rotate(-22deg);background:#fcfaf3;border:1px solid #d2cabc}.mini-map:after{transform:rotate(30deg);left:10%;top:30%;width:100%}.mini-map>*{position:relative;z-index:1}.mini-map .pin{font-size:45px}.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.location-card{min-height:265px;background:#e7e5d8;padding:30px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:end}.location-card:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,30,24,.88),rgba(9,30,24,.06)),var(--bg);background-position:center;background-size:cover;transition:transform .4s}.location-card:hover:before{transform:scale(1.06)}.location-card>*{position:relative;color:#fff}.location-card h3{font-family:var(--serif);font-size:2rem}.location-card p{font-size:.78rem;color:#e0e3da}.calculator{background:var(--cream);padding:35px}.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.calc-field{margin-bottom:22px}.calc-field label{display:flex;justify-content:space-between;gap:15px;font-weight:700;font-size:.77rem;margin-bottom:12px}.calc-field input[type=range]{width:100%;accent-color:#986f44}.calc-output{background:var(--forest);color:#fff;padding:34px;display:flex;flex-direction:column;justify-content:center}.calc-output .emi{font-size:clamp(2rem,4vw,3.3rem);font-family:var(--serif);margin:10px 0}.calc-output small{color:#b8cbc1}.calc-output hr{width:100%;border:0;border-top:1px solid rgba(255,255,255,.22);margin:22px 0}.calc-line{display:flex;justify-content:space-between;gap:20px;font-size:.79rem;margin:7px 0;color:#d9e2da}.notice{font-size:.73rem;color:#79857c;line-height:1.7}.error-page{text-align:center;padding:130px 20px}.small-tag{display:inline-block;border:1px solid var(--line);font-size:.64rem;letter-spacing:.13em;padding:5px 10px;color:#947951;text-transform:uppercase}.divider-head{margin-bottom:35px}.legal h2{font-size:2rem;margin:28px 0 12px}.legal p,.legal li{color:var(--muted);margin-bottom:14px}.legal ul{padding-left:22px}.image-credit{font-size:.7rem;color:#8a938b;margin-top:6px}.alert{background:#f5efe2;border-left:3px solid var(--gold);padding:17px 21px;font-size:.8rem;color:#726149}.empty{border:1px dashed var(--line);padding:70px 25px;text-align:center;grid-column:1/-1}.mobile-only{display:none}.backtop{position:fixed;right:21px;bottom:23px;z-index:30;width:42px;height:42px;border:1px solid #c9d4c9;background:#fff;color:var(--forest);font-size:20px;opacity:0;pointer-events:none;transition:.2s}.backtop.show{opacity:1;pointer-events:auto}.reveal{animation:appear .6s both}@keyframes appear{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.lightbox{position:fixed;inset:0;background:rgba(4,19,16,.94);z-index:1000;display:none;align-items:center;justify-content:center;padding:40px}.lightbox.open{display:flex}.lightbox img{max-height:87vh;max-width:93vw;object-fit:contain}.lightbox button{position:absolute;right:20px;top:20px;border:1px solid #8a9990;color:#fff;background:transparent;font-size:25px;padding:5px 14px}.check-list{padding:0;list-style:none}.check-list li{padding:13px 0;border-bottom:1px solid var(--line);color:#52675b}.check-list li:before{content:'✓';color:#ad9060;margin-right:11px}
@media(max-width:1100px){.nav{gap:16px}.nav>a{font-size:.7rem}.container,.wide{width:min(100% - 44px,1190px)}.intro-grid{gap:45px}.footer-grid{gap:30px}.image-split .content{padding:55px 40px}.detail-intro{gap:35px}}
@media(max-width:860px){.header{height:75px}.nav{position:absolute;top:75px;left:0;right:0;background:#fffefa;border-bottom:1px solid var(--line);padding:20px 26px;display:none;flex-direction:column;align-items:stretch;gap:0;box-shadow:var(--shadow)}.nav.open{display:flex}.nav a{padding:11px 0;font-size:.83rem;border-bottom:1px solid #ecebe6}.menu-btn{display:block}.nav-cta{margin-left:auto}.nav-cta .btn{display:none}.hero,.hero-content{min-height:650px}.hero-content{max-width:650px}.intro-grid,.contact-shell,.article-grid,.two-col,.detail-intro{grid-template-columns:1fr;gap:36px}.cards,.journal-grid,.location-grid,.service-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.dark-stats,.process-grid{grid-template-columns:repeat(2,1fr)}.page-hero .wide{grid-template-columns:1fr;gap:18px}.page-hero .lead{justify-self:start}.filterbar{grid-template-columns:1fr 1fr}.image-split{grid-template-columns:1fr}.image-split img{height:390px}.article-aside{position:static}.cta-flex{flex-direction:column;align-items:flex-start}.section{padding:75px 0}.detail-gallery{height:310px}}
@media(max-width:570px){body{font-size:14px}.container,.wide{width:calc(100% - 34px)}.brand{gap:10px}.brand-mark{width:36px;height:36px}.brand-name{font-size:.78rem}.brand-sub{font-size:.46rem}.header{height:69px}.nav{top:69px}.hero,.hero-content{min-height:665px}.hero h1{font-size:clamp(3rem,13vw,4.7rem)}.hero-content{padding:45px 0 90px}.hero:after{background:linear-gradient(90deg,rgba(4,22,20,.91),rgba(4,22,20,.52)),linear-gradient(0deg,rgba(4,22,20,.8),transparent)}.hero-bottom .wide{font-size:.52rem}.hero-bottom .wide span:last-child{display:none}.btn{min-height:50px;padding:12px 17px;font-size:.72rem;gap:13px}.hero-actions .btn{flex:1}.section,.section-sm{padding:59px 0}.section-head{align-items:start;flex-direction:column;gap:22px;margin-bottom:27px}.cards,.journal-grid,.location-grid,.service-grid,.stat-row,.dark-stats,.process-grid,.footer-grid,.calc-grid,.form,.detail-meta{grid-template-columns:1fr}.card{max-width:none}.image-split .content{padding:48px 22px}.image-split>img{height:290px}.stat-row{gap:15px}.dark-stats{gap:20px}.page-hero{padding:63px 0 58px}.page-hero h1{font-size:clamp(2.9rem,11.5vw,4.3rem)}.filterbar{grid-template-columns:1fr;padding:13px}.filter-result{gap:12px;flex-direction:column}.detail-image{height:340px;min-height:0}.detail-summary{padding:22px}.detail-gallery{height:auto;grid-template-columns:1fr}.detail-gallery>img{height:235px}.detail-gallery>div{grid-template-columns:1fr 1fr;grid-template-rows:auto}.detail-gallery>div img{height:145px}.detail-block{margin:48px 0}.detail-block h2{font-size:2.1rem}.footer{padding-top:52px}.footer-grid{gap:25px;padding-bottom:40px}.footer-bottom{flex-direction:column;gap:5px}.form .field.full,.form-agree,.form-status{grid-column:auto}.calc-output{padding:25px}.steps-list article{grid-template-columns:35px 1fr;gap:17px}.contact-shell{gap:30px}.location-card{min-height:210px}.mobile-only{display:block}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* FINAL TOUCH: accessible keyboard navigation, local image treatments, and subtle motion */
.skip-link{position:fixed;z-index:9999;top:-100px;left:16px;padding:12px 20px;background:#fff;color:#17352e;border:2px solid #b59659;font-weight:800}
.skip-link:focus{top:12px}
:focus-visible{outline:3px solid #bd9b53;outline-offset:3px}
.hero-bg{filter:saturate(.86) contrast(1.06)}
.property-card img,.card img{transition:transform .5s ease,filter .5s ease}
.property-card:hover img,.card:hover img{transform:scale(1.04);filter:saturate(1.02)}
.modal-open{overflow:hidden}
@media(prefers-reduced-motion:reduce){.property-card img,.card img{transition:none!important}}

/* NJ Builders branding and accessible shortcuts */
.brand-mark {display:inline-flex;align-items:center;justify-content:center;background:#17352e;border:1px solid #c5a066;border-radius:8px;width:46px;height:44px;position:relative}
.brand-mark::before{content:'NJ';font-size:21px;letter-spacing:-2px;font-family:Georgia,serif;color:#e3bc7a;font-weight:800}
.brand-mark::after{display:none}
.brand-name{letter-spacing:.075em;font-size:21px}
.brand-sub{letter-spacing:.32em;font-size:10px}
.nj-quickbar{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#f5f2eb;padding:20px max(25px,calc((100vw - 1180px)/2));border-bottom:1px solid #e7e0d4}
.nj-quickbar>div{display:flex;flex-direction:column;gap:6px}.nj-quickbar strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#6f654e}.nj-quickbar span,.nj-quickbar a:not(.btn){color:#17352e;font-weight:600}.nj-quickbar .btn{white-space:nowrap}
@media(max-width:820px){.nj-quickbar{padding:18px 22px;flex-wrap:wrap}.nj-quickbar .btn{width:100%;text-align:center}}

/* Form and tap targets */
@media(max-width:640px){.hero-actions .btn{min-height:46px}.demo-strip{font-size:11px;line-height:1.5;text-align:center}.brand-mark{flex:none}}


/* WEBTECHIO MOBILE QA PATCH v2 — scoped to responsive viewports only. */
@media (max-width: 900px) {
  html { -webkit-text-size-adjust: 100%; }
  html, body { max-width: 100%; }
  img, picture, video, canvas, svg { max-width: 100%; }
  iframe { max-width: 100%; }
  input, select, textarea { max-width: 100%; min-width: 0; }
  button, [role="button"], a { touch-action: manipulation; }
  :is(main, header, footer, section, article, aside, .container, .wrap, .grid, .hero, .hero-copy) { min-width: 0; }
  :is(h1, h2, h3, h4, p, a, button) { overflow-wrap: break-word; }
  [hidden] { display: none !important; }
}
@media (max-width: 480px) {
  html, body { max-width: 100%; }
  :is(input, select, textarea) { font-size: max(16px, 1em); }
  :is(.page-title, .hero-title, .hero h1) { max-width: 100%; }
  :is(.button-group, .hero-actions, .cta-actions) { flex-wrap: wrap; }
  table { max-width: 100%; }
  :is(.table-wrap,.table-responsive,.table-scroll) { overflow-x:auto; -webkit-overflow-scrolling:touch; }
}


/* WEBTECHIO-QA31-20261102: non-invasive responsive/touch hardening */
@media (max-width: 980px) {
  :where(.navlinks.open,.nav.open,.nav-links.open,.primary-menu.is-open,.mobile-links.open,.mobile-menu.open,.mobile-menu.is-open) {
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  :where(form,fieldset,.form-grid,.contact-form,.booking-form) { min-width:0; }
  :where(form input:not([type=checkbox]):not([type=radio]),form textarea,form select) {
    min-width:0; max-width:100%;
  }
  :where(.hero-buttons,.hero-actions,.cta-group,.hero-cta,.buttons) {
    flex-wrap: wrap;
  }
  :where(.hero-buttons,.hero-actions,.cta-group,.hero-cta,.buttons) > :is(a,button) {
    max-width:100%;
  }
}
@media (max-width: 767px) and (pointer:coarse) {
  :where(.navlinks.open,.nav.open,.nav-links.open,.primary-menu.is-open,.mobile-links.open,.mobile-menu.open,.mobile-nav.open,.mobile-nav.is-open) a {
    min-height:44px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {scroll-behavior:auto;}
}
@media(max-width:900px){.nav.open,.navlinks.open{max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain;}}
