@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--navy:#0b1933;--navy2:#122746;--gold:#c99d59;--gold2:#a97836;--ink:#17233b;--muted:#6b7689;--line:#e6eaf0;--soft:#f5f7fa;--white:#fff;--green:#2c7a4b;--radius:20px;--shadow:0 20px 55px rgba(12,29,55,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}a{color:inherit}button,input,select,textarea{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.center{text-align:center}.narrow{max-width:820px}
.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid rgba(23,35,59,.08);background:rgba(255,255,255,.96);position:sticky;top:0;z-index:100;backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:20px;font-weight:700;letter-spacing:-.3px}.brand-mark{width:40px;height:40px;border-radius:13px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:13px;letter-spacing:.5px;font-weight:800}.nav{display:flex;align-items:center;gap:4px}.nav>a{padding:10px 12px;text-decoration:none;font-size:14px;font-weight:600;color:#3d4a60}.nav>a:hover,.nav>a.active{color:var(--navy)}.menu-toggle{display:none;border:0;background:#f2f4f8;color:var(--navy);width:48px;height:48px;border-radius:15px;font-size:22px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;background:var(--navy);color:#fff;text-decoration:none;padding:14px 20px;font-weight:700;cursor:pointer;box-shadow:0 8px 20px rgba(11,25,51,.12);transition:transform .18s,box-shadow .18s,background .18s}.btn:hover{transform:translateY(-1px);box-shadow:0 12px 25px rgba(11,25,51,.16)}.btn-white{background:#fff;color:var(--navy)}.btn-light{background:#f1f4f8;color:var(--navy);box-shadow:none}.btn-gold{background:var(--gold);color:#111c30}.btn-small{padding:10px 14px!important;background:var(--navy)!important;color:#fff!important;border-radius:10px!important}.btn-full{width:100%}.text-link{font-weight:700;text-decoration:none;color:var(--gold2)}
.hero{min-height:720px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(5,18,38,.88) 0%,rgba(5,18,38,.62) 46%,rgba(5,18,38,.18) 100%),url('assets/grand-prairie-exterior.webp') center/cover}.hero-content{padding:95px 0}.hero-content>div{max-width:760px}.eyebrow{display:inline-block;font-size:12px;letter-spacing:3px;font-weight:800;color:var(--gold2)}.hero .eyebrow{color:#efd29c}.hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(54px,7vw,86px);line-height:1.02;letter-spacing:-2px;margin:17px 0 20px;max-width:700px}.hero p{font-size:20px;color:#e7ebf2;max-width:680px;margin:0 0 30px}.actions{display:flex;flex-wrap:wrap;gap:12px}.hero-search{display:flex;gap:10px;max-width:700px;margin-top:35px;padding:9px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:16px;backdrop-filter:blur(10px)}.hero-search input{flex:1;min-width:0;border:0;outline:0;background:#fff;border-radius:10px;padding:15px 16px;color:var(--ink)}.hero-search button{border:0;background:var(--gold);color:#15223a;border-radius:10px;padding:0 20px;font-weight:800;cursor:pointer}
.section{padding:90px 0}.section.soft{background:var(--soft)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:34px}.section h2,.page-hero h1{font-family:'Playfair Display',Georgia,serif;letter-spacing:-1px}.section h2{font-size:44px;line-height:1.1;margin:8px 0}.section-head h2{margin-bottom:0}.section p{color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.property-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 10px 35px rgba(15,32,58,.07);transition:transform .2s,box-shadow .2s}.property-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.property-photo{height:250px;background-size:cover;background-position:center;position:relative}.property-photo>span{position:absolute;top:16px;left:16px;background:#fff;color:var(--green);padding:7px 10px;border-radius:9px;font-size:12px;font-weight:800;box-shadow:0 5px 16px rgba(0,0,0,.08)}.favorite{position:absolute;right:14px;top:14px;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.94);font-size:20px;color:#667085;cursor:pointer}.favorite.saved{color:#a64646}.photo-grand{background-image:url('assets/grand-prairie-exterior.webp')}.photo-1{background-image:url('assets/grand-prairie-exterior.webp')}.photo-2{background-image:url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1400&q=88')}.photo-3{background-image:url('https://images.unsplash.com/photo-1600585154526-990dced4db0d?auto=format&fit=crop&w=1400&q=88')}.photo-4{background-image:url('https://images.unsplash.com/photo-1600047509807-ba8f99d2cdde?auto=format&fit=crop&w=1400&q=88')}.card-body{padding:23px}.card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.card-body h3{font-size:19px;line-height:1.3;margin:0 0 7px}.card-body p{margin:5px 0}.price{font-size:29px;font-weight:800;margin:16px 0 10px;color:var(--navy)}.price small{font-size:13px;font-weight:500;color:var(--muted)}.muted{font-size:14px!important}.mini-specs{display:flex;gap:16px;padding:13px 0;margin:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#526077;font-size:13px}.mini-specs b{color:var(--ink)}
.intro-band{background:var(--navy);color:#fff;padding:22px 0}.intro-band .container{display:flex;justify-content:space-between;gap:25px;align-items:center}.intro-band p{margin:0;color:#d9dfeb}.intro-band b{color:#fff}.intro-band .text-link{color:#e9c98f;white-space:nowrap}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.features>div{background:#fff;border:1px solid var(--line);padding:30px;border-radius:18px}.icon{width:45px;height:45px;border-radius:13px;background:#f2eadc;color:var(--gold2);display:grid;place-items:center;font-size:19px;margin-bottom:18px}.features b{font-size:17px}.features p{margin-bottom:0}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.trust-strip>div{padding:25px;text-align:center;border-right:1px solid var(--line)}.trust-strip>div:last-child{border-right:0}.trust-strip strong{display:block;font-size:17px}.trust-strip span{font-size:13px;color:var(--muted)}
.cta{background:var(--navy);color:#fff;padding:82px 0;text-align:center}.cta h2{font-family:'Playfair Display',Georgia,serif;font-size:50px;line-height:1.05;margin:0 0 10px}.cta p{color:#d9dfeb;max-width:650px;margin:0 auto 26px}.page-hero{background:linear-gradient(135deg,#f7f9fc,#eef2f7);padding:88px 0 72px}.page-hero h1{font-size:clamp(44px,6vw,68px);line-height:1.05;max-width:850px;margin:14px 0}.page-hero p{font-size:18px;color:var(--muted);max-width:700px}.filters{display:grid;grid-template-columns:1.5fr .8fr .8fr auto;gap:10px;margin-bottom:30px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 28px rgba(16,32,60,.06)}.filters input,.filters select,.form-card input,.form-card textarea,.form-card select{width:100%;padding:14px 15px;border:1px solid #dfe3ea;border-radius:12px;background:#fff;color:var(--ink);outline:none}.filters input:focus,.filters select:focus,.form-card input:focus,.form-card textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(199,154,85,.12)}.empty{display:none;text-align:center;padding:50px;border:1px dashed #ccd3df;border-radius:18px;color:var(--muted)}
.property-hero{padding:25px 0 0;background:#f5f7fb}.gallery{display:grid;grid-template-columns:2fr 1fr;gap:14px;height:560px}.gallery-main,.gallery-side>div{border-radius:20px;background-size:cover;background-position:center}.gallery-main{position:relative}.gallery-main .gallery-label{position:absolute;left:18px;bottom:18px;background:rgba(255,255,255,.94);padding:8px 12px;border-radius:10px;font-size:12px;font-weight:800}.gallery-side{display:grid;grid-template-rows:1fr 1fr;gap:14px}.detail-grid{display:grid;grid-template-columns:1.65fr .8fr;gap:60px}.detail-grid h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(38px,5vw,60px);line-height:1.07;letter-spacing:-1.2px;margin:12px 0 18px}.lead{font-size:18px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin:35px 0 50px;border:1px solid var(--line);border-radius:16px;overflow:hidden}.stats div{padding:22px;text-align:center;border-right:1px solid var(--line)}.stats div:last-child{border-right:0}.stats b{display:block;font-size:27px}.stats span{color:var(--muted);font-size:13px}.checklist{padding-left:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}.checklist li{padding:9px 0}.checklist li:before{content:'✓';display:inline-grid;place-items:center;width:23px;height:23px;margin-right:10px;border-radius:50%;background:#edf5ee;color:#33753d;font-weight:800}.rent-box{align-self:start;position:sticky;top:105px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.rent-box>span{color:var(--muted);font-size:13px}.rent-box strong{display:block;font-size:40px;margin:5px 0 15px}.rent-box p{color:var(--muted)}.rent-box .btn{margin-top:8px}.rent-box .save-note{font-size:12px;text-align:center;margin-top:12px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.steps>div{padding:30px;border:1px solid var(--line);border-radius:18px;background:#fff}.steps span{font-size:13px;font-weight:800;color:var(--gold2)}.steps h2{font-family:'Playfair Display',Georgia,serif;font-size:30px;margin:15px 0 8px}.steps p{color:var(--muted)}.faq{max-width:850px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;font-weight:700;font-size:17px}.faq p{color:var(--muted);max-width:700px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-item{padding:20px 0;border-bottom:1px solid var(--line)}.contact-item b{display:block;margin-bottom:5px}.contact-item a{color:var(--gold2);font-weight:700}.form-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:var(--shadow)}.form-card label{display:block;font-weight:700;font-size:14px;margin-bottom:18px}.form-card input,.form-card textarea{margin-top:7px}.form-card textarea{resize:vertical}.form-card .check{display:flex;gap:10px;align-items:flex-start;font-weight:500;color:var(--muted)}.form-card .check input{width:auto;margin-top:4px}.success{color:#27713a;background:#edf7ef;border:1px solid #cfe7d4;padding:12px;border-radius:10px}.notice{padding:14px 16px;border-radius:12px;background:#fff8eb;border:1px solid #f1dfba;color:#72531f;font-size:13px;margin-bottom:20px}.selected-home{background:#f7f9fc;border:1px solid var(--line);padding:16px;border-radius:14px;margin-bottom:22px}.selected-home strong{display:block}.selected-home span{font-size:13px;color:var(--muted)}
.buy-sell-panel{display:grid;grid-template-columns:1fr 1fr;gap:22px}.service-card{position:relative;overflow:hidden;border-radius:22px;min-height:330px;padding:38px;color:#fff;background:linear-gradient(135deg,rgba(11,25,51,.94),rgba(18,39,70,.8)),url('assets/grand-prairie-exterior.webp') center/cover}.service-card:nth-child(2){background:linear-gradient(135deg,rgba(18,39,70,.94),rgba(11,25,51,.82)),url('assets/grand-prairie-living.webp') center/cover}.service-card h2{font-family:'Playfair Display',Georgia,serif;font-size:42px;margin:8px 0}.service-card p{color:#dbe1ea;max-width:470px}.service-card .eyebrow{color:#e9ca91}
footer{background:#091426;color:#dfe5ef;padding:60px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px}.footer-brand{color:#fff;margin-bottom:14px}.footer-grid p{color:#9da9bb;max-width:350px}.footer-grid b{display:block;color:#fff;margin-bottom:12px}.footer-grid a{display:block;color:#aeb8c8;text-decoration:none;margin:8px 0}.footer-grid a:hover{color:#fff}.copyright{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:20px;text-align:center;color:#7f8da2;font-size:13px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--navy);color:#fff;padding:12px 18px;border-radius:12px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.25s;z-index:200;font-size:14px}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:980px){.site-header{padding:0 18px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:78px;left:12px;right:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav a{padding:13px}.nav .btn{width:100%;margin-top:4px}.hero{min-height:650px}.cards,.features{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr;gap:35px}.rent-box{position:static}.gallery{height:440px}.contact-grid{grid-template-columns:1fr;gap:35px}.footer-grid{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr 1fr}.filters .filter-btn{grid-column:span 2}.buy-sell-panel{grid-template-columns:1fr}.intro-band .container{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.container{width:min(100% - 28px,1180px)}.site-header{height:70px}.nav{top:70px}.brand{font-size:18px}.brand-mark{width:36px;height:36px}.hero{min-height:720px;background-position:65% center}.hero-content{padding:70px 0}.hero h1{font-size:50px}.hero p{font-size:17px}.hero-search{display:block;background:transparent;border:0;padding:0;margin-top:30px}.hero-search input{width:100%;margin-bottom:9px}.hero-search button{width:100%;height:50px}.section{padding:65px 0}.section-head{display:block}.section-head .text-link{display:inline-block;margin-top:15px}.cards,.features,.steps,.buy-sell-panel{grid-template-columns:1fr}.trust-strip{grid-template-columns:1fr}.trust-strip>div{border-right:0;border-bottom:1px solid var(--line)}.trust-strip>div:last-child{border-bottom:0}.property-photo{height:235px}.filters{grid-template-columns:1fr;padding:11px}.filters .filter-btn{grid-column:auto}.gallery{height:360px;grid-template-columns:1fr}.gallery-side{display:none}.detail-grid h1{font-size:40px}.stats{margin:28px 0 40px}.stats div{padding:17px 8px}.stats b{font-size:23px}.checklist{grid-template-columns:1fr}.cta h2{font-size:36px}.footer-grid{grid-template-columns:1fr;gap:30px}.page-hero{padding:65px 0 55px}.service-card h2{font-size:35px}}
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:22px 0 42px}.gallery-grid img{width:100%;height:260px;object-fit:cover;border-radius:15px;display:block}@media(max-width:620px){.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:235px}}
