:root{--ink:#f4eee3;--accent:#d8b77d;--light:#142520;--muted:#d2d8d2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:#0b1916 url('assets/luxury-pool-patio.png') center/cover fixed;font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #e9c993;outline-offset:5px}.preview{padding:8px 20px;background:#091511;color:#d6c7aa;text-align:center;font-size:10px;letter-spacing:1px}header{padding:24px 6%;display:flex;justify-content:space-between;align-items:center;gap:25px;background:#0b1916ed;border-bottom:1px solid #d8b77d33}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:20px;font-weight:800;line-height:1.2;letter-spacing:1px}.mark{font-size:43px;color:var(--accent)}.division{display:block;font-size:10px;letter-spacing:3px;margin-top:7px}nav{display:flex;gap:25px;align-items:center;font-size:13px}nav a{text-decoration:none}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;background:var(--accent);color:#15251d;text-decoration:none;padding:18px 25px;border:1px solid var(--accent);font:700 14px Arial;cursor:pointer}.button:hover{background:#efd6a9}.small{padding:13px 17px}.hero{position:relative;isolation:isolate;min-height:780px;display:flex;align-items:center;padding:95px 7% 110px;overflow:hidden}.hero-copy{position:relative;z-index:3;max-width:710px}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:3px;color:var(--accent);margin:0 0 24px}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(48px,5.7vw,86px);line-height:1.06;letter-spacing:-2px;margin:0 0 28px;font-weight:400;text-shadow:0 2px 28px #0008}h1 em{font-style:italic;color:#ecd3a6}.intro{font-size:18px;max-width:450px;color:#e5e6dc;margin-bottom:32px}.text-link{display:block;font-size:13px;font-weight:bold;text-underline-offset:7px;margin:25px 0}.hero-note{border-left:2px solid var(--accent);padding-left:16px;margin-top:35px;font-size:12px;color:#ddd6c6}figure{margin:0}.hero-image{position:absolute;inset:0;z-index:-1;background:#142520}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#071510e8 0%,#071510a8 34%,#07151010 78%),linear-gradient(0deg,#091813 0%,transparent 35%)}figcaption{position:absolute;bottom:18px;right:6%;left:6%;z-index:2;color:#e2e4dc;font-size:10px;text-align:right;letter-spacing:1px}.image-tag{position:absolute;bottom:95px;right:7%;color:white;z-index:2;font-family:Georgia,serif;font-size:38px;font-style:italic;line-height:1.15;text-shadow:0 2px 18px #000}.section{padding:95px max(7%,calc((100vw - 1230px)/2));background:#0a1a16eb;border-top:1px solid #d8b77d25}h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,3.6vw,52px);font-weight:400;letter-spacing:-1px;line-height:1.15;margin:0 0 25px}h3{font-family:Georgia,serif;font-size:27px;font-weight:400;margin:20px 0 10px}p{color:var(--muted)}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;margin-bottom:35px}.section-heading p{max-width:450px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.cards article{padding:22px;background:#132920a8;border:1px solid #d8b77d40}.number{font-size:10px;letter-spacing:2px;color:var(--accent)}.pattern{height:210px;margin-top:18px;border:1px solid #d8b77d55;background:url('assets/luxury-pool-patio.png') center/cover}.herringbone{background-position:15% 85%;background-size:220%}.patio{background-position:70% 60%}.walkway{background-position:90% 90%;background-size:180%}.cards p{font-size:14px}.caption{font-size:11px;margin-top:22px;color:#b4beb4}.materials{background:linear-gradient(90deg,#0b1b16f5,#0b1b16bd);display:grid;grid-template-columns:1fr 1fr;gap:85px}.materials p{color:#d0d8cd}.supplier-list a{padding:30px 0;border-bottom:1px solid #d8b77d55;display:flex;justify-content:space-between;align-items:center;text-decoration:none}.supplier-list small{display:block;letter-spacing:2px;font-size:10px;color:#d0d8cd}.supplier-list strong{font-family:Georgia,serif;font-weight:400;font-size:40px}.supplier-list>a>span:last-child{font-size:35px;color:var(--accent)}.area{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center;background:#0b1b16dc}.radius{aspect-ratio:1;max-width:350px;width:100%;border:1px solid #d8b77d80;border-radius:50%;display:grid;place-content:center;text-align:center;position:relative;margin:auto;background:#10251bb3}.radius:before{content:'';position:absolute;inset:24px;border:1px solid #d8b77d40;border-radius:50%}.radius strong{font-family:Georgia,serif;font-size:100px;font-weight:400;line-height:1;color:var(--accent)}.radius span{display:block;font-size:11px;letter-spacing:3px}.radius b{margin-top:20px;font-size:12px;color:var(--accent)}.estimate{display:grid;grid-template-columns:1fr 1.1fr;gap:85px;background:#0a1a16ed}aside{padding:18px 20px;background:#24362b99;border-left:2px solid var(--accent);margin-top:30px}aside p{font-size:12px;margin-bottom:0}label{display:block;font-size:12px;font-weight:bold;margin-bottom:18px;color:#e7decc}input,select,textarea{width:100%;padding:15px;border:1px solid #728372;border-radius:0;font:14px Arial;color:#f5efdf;background:#14291feb;margin-top:7px}input::placeholder,textarea::placeholder{color:#b8c2b6}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}#form-status{font-size:12px}.faq{background:#10231deb}details{border-bottom:1px solid #d8b77d40;padding:20px 0}summary{cursor:pointer;font-weight:bold}details p{max-width:850px;font-size:14px}footer{padding:40px 6%;background:#07130ff5;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap;border-top:1px solid #d8b77d40}footer .brand{font-size:14px}footer p{color:#bbc5b8;font-size:11px}@media(min-width:1800px){.hero{min-height:900px}}@media(max-width:900px){header{flex-wrap:wrap}nav{flex-wrap:wrap;gap:16px}.hero{min-height:730px;padding:70px 6% 100px}.section{padding:65px 6%}.section-heading,.materials,.area,.estimate{gap:35px}.cards{gap:16px}.cards article{padding:16px}.image-tag{display:none}}@media(max-width:650px){body{background-attachment:scroll}header{padding:20px 6%}nav{width:100%;justify-content:space-between;font-size:11px}nav .small{display:none}.hero{min-height:790px;padding:65px 6% 100px;align-items:flex-start}.hero-copy{max-width:100%}h1{font-size:51px;letter-spacing:-1.5px}.intro{font-size:16px;max-width:320px}.hero-image img{object-position:64% center}.hero-image:after{background:linear-gradient(90deg,#071510d9,#07151066),linear-gradient(0deg,#091813 0%,transparent 55%)}figcaption{text-align:left;font-size:9px;bottom:20px}.section-heading,.materials,.area,.estimate,.cards{grid-template-columns:1fr}.section-heading{gap:0}.cards{gap:25px}.pattern{height:220px}.radius{max-width:270px}.area .radius{order:2}.form-row{grid-template-columns:1fr;gap:0}.preview{font-size:9px}.brand{font-size:17px}footer{display:block}footer p{margin-top:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.project-photo{display:block;width:100%;height:245px;object-fit:cover;margin-top:18px;border:1px solid #d8b77d55}.cards article:first-child .project-photo{object-position:center}.cards article:last-child .project-photo{object-position:center 65%}@media(max-width:650px){.project-photo{height:260px}}

/* Keep the pool terrace visible behind every section, not just the hero. */
.section{background-color:#0a1a16c9}.materials{background:linear-gradient(90deg,#0b1b16e6,#0b1b16b0)}.area{background-color:#0b1b16c4}.estimate{background-color:#0a1a16d4}.faq{background-color:#10231dd1}

/* Southwest Florida hub map, aligned with the estate-inspired palette. */
.area{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px}.service-map{width:100%;min-width:0}.service-map img{display:block;width:100%;height:auto}.area>div{min-width:0}@media(max-width:650px){.area{grid-template-columns:1fr;gap:28px}.service-map{order:2}}
