:root{--navy:#0f2d4a;--teal:#6da9a2;--teal-dark:#4e8e87;--mint:#dce8e2;--warm-white:#faf9f7;--sand:#ede7df;--charcoal:#4c565b;--white:#fff;--shadow:0 22px 60px #0f2d4a1f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--warm-white);color:var(--charcoal);margin:0;font-family:Montserrat,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.header{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#faf9f7eb;border-bottom:1px solid #0f2d4a14;justify-content:space-between;align-items:center;gap:24px;padding:18px clamp(20px,5vw,72px);display:flex;position:sticky;top:0}.brand img{width:260px}.nav{color:var(--navy);gap:28px;font-weight:700;display:flex}.nav a{padding:8px 0;position:relative}.nav a:after{content:"";background:var(--teal);height:2px;transition:all .2s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav a:hover:after{transform:scaleX(1)}.phone-pill,.button,.contact-card button{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:10px;font-weight:800;display:inline-flex}.phone-pill{background:var(--teal);color:#fff;box-shadow:var(--shadow);padding:14px 22px}.hero{background:radial-gradient(circle at 85% 18%, #6da9a229, transparent 30%), linear-gradient(135deg, var(--white) 0%, var(--warm-white) 55%, var(--mint) 100%);grid-template-columns:.9fr 1.1fr;align-items:center;gap:42px;min-height:720px;padding:60px clamp(20px,5vw,88px) 40px;display:grid}.eyebrow,.section-kicker{color:var(--teal-dark);letter-spacing:.15em;text-transform:uppercase;font-size:.78rem;font-weight:900}h1,h2,h3{color:var(--navy);margin:0}h1,h2{font-family:Playfair Display,Georgia,serif;line-height:1.02}h1{letter-spacing:-.05em;font-size:clamp(3.4rem,8vw,7rem)}h2{letter-spacing:-.035em;font-size:clamp(2.2rem,5vw,4.2rem)}h3{font-family:Playfair Display,Georgia,serif;font-size:1.55rem}.lead{max-width:680px;font-size:1.25rem;line-height:1.8}.divider{color:var(--teal);align-items:center;gap:16px;margin:24px 0;display:flex}.divider span{background:var(--teal);width:135px;height:2px}.button-row{flex-wrap:wrap;gap:16px;margin-top:34px;display:flex}.button{padding:17px 28px}.primary{background:var(--teal);color:#fff;box-shadow:var(--shadow)}.primary:hover{background:var(--teal-dark)}.secondary{border:1.5px solid var(--navy);color:var(--navy);background:#fff}.light{color:var(--navy);background:#8ec5bf}.hero-card{min-height:540px;box-shadow:var(--shadow);background:#fff;border-radius:36px;padding:18px;overflow:hidden}.room-scene{background:linear-gradient(115deg,#ede7dfe6,#ffffffbf),radial-gradient(circle at 80% 35%,#6da9a261,#0000 26%),linear-gradient(90deg,#efe8dc,#fff);border-radius:26px;height:100%;min-height:504px;position:relative;overflow:hidden}.sun{background:#ffffffe6;border-radius:50%;width:120px;height:120px;position:absolute;top:60px;right:58px;box-shadow:0 0 60px #ffffffe6}.sofa{background:#dfd5c8;border-radius:34px;height:170px;position:absolute;bottom:88px;left:70px;right:70px;box-shadow:inset 0 -18px #0f2d4a0d}.pillow{border-radius:20px;width:90px;height:90px;position:absolute;bottom:185px}.pillow.one{background:var(--mint);left:132px}.pillow.two{background:#bad5cf;right:150px}.plant{opacity:.8;background:linear-gradient(45deg,#0000 35%,#6f875f 36% 43%,#0000 44%);border-radius:90px 90px 0 0;width:90px;height:180px;position:absolute;bottom:235px;right:130px}.table{background:#c8a77f;border-radius:50%;width:220px;height:50px;position:absolute;bottom:45px;left:50%;transform:translate(-50%)}.feature-strip{background:#0f2d4a21;grid-template-columns:repeat(4,1fr);gap:1px;padding:0 clamp(20px,5vw,88px);display:grid}.feature-strip div{background:linear-gradient(180deg, var(--mint), #eef5f2);text-align:center;justify-items:center;gap:8px;padding:30px 22px;display:grid}.feature-strip svg{color:var(--teal-dark);width:42px;height:42px}.feature-strip strong{color:var(--navy)}.feature-strip span{font-size:.9rem}.split-section,.contact-section{grid-template-columns:1fr 1fr;align-items:center;gap:56px;padding:90px clamp(20px,5vw,88px);display:grid}.image-panel{background:linear-gradient(135deg, var(--sand), #fff);min-height:420px;box-shadow:var(--shadow);color:var(--teal);border-radius:34px;place-items:center;display:grid}.hands-panel{background:radial-gradient(circle at 30% 30%, #6da9a23d, transparent 30%), linear-gradient(135deg, #fff, var(--sand))}.text-panel p,.contact-section p{font-size:1.08rem;line-height:1.8}.text-link{color:var(--teal-dark);font-weight:900}.services-section,.gallery-section{text-align:center;background:linear-gradient(180deg, #f2f8f6, var(--warm-white));padding:90px clamp(20px,5vw,88px)}.services-section h2,.gallery-section h2{max-width:860px;margin:12px auto 48px}.cards{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.card{background:#fff;border:1px solid #0f2d4a14;border-radius:28px;padding:32px;box-shadow:0 12px 34px #0f2d4a14}.icon-circle{width:70px;height:70px;color:var(--navy);background:var(--mint);border-radius:50%;place-items:center;margin:0 auto 18px;display:grid}.icon-circle svg{width:34px;height:34px}.card p{line-height:1.7}.cta-band{background:linear-gradient(135deg, var(--navy), #082136);color:#fff;border-radius:26px;grid-template-columns:auto 1fr auto;align-items:center;gap:32px;margin:40px clamp(20px,5vw,88px);padding:36px 42px;display:grid}.cta-band h2,.cta-band p{color:#fff;margin:0}.cta-band p{opacity:.85;margin-top:8px}.cta-icon{color:#aee0da;border:1px solid #ffffff40;border-radius:22px;place-items:center;width:86px;height:86px;display:grid}.cta-icon svg{width:48px;height:48px}.gallery-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.gallery-item{background:linear-gradient(135deg, #fff, var(--sand));min-height:170px;box-shadow:var(--shadow);color:var(--navy);border-radius:24px;place-items:center;font-weight:900;display:grid}.gallery-item svg{color:var(--teal);width:40px;height:40px;margin-bottom:8px}.contact-section{background:#fff}.contact-list{margin-top:28px}.contact-list p{color:var(--navy);align-items:center;gap:12px;font-weight:800;display:flex}.contact-list svg{color:var(--teal)}.contact-card{background:var(--warm-white);box-shadow:var(--shadow);border-radius:30px;gap:16px;padding:30px;display:grid}label{color:var(--navy);gap:8px;font-weight:800;display:grid}input,textarea{width:100%;font:inherit;background:#fff;border:1px solid #0f2d4a24;border-radius:16px;padding:14px 16px}textarea{resize:vertical;min-height:130px}.contact-card button{background:var(--teal);color:#fff;font:inherit;padding:16px}.contact-card small{color:#6b7478;line-height:1.5}.footer{background:var(--navy);color:#fff;justify-content:space-between;align-items:center;gap:22px;padding:28px clamp(20px,5vw,72px);display:flex}.footer img{background:#fff;border-radius:14px;width:180px;padding:8px}@media (width<=980px){.header{flex-wrap:wrap}.nav{flex-wrap:wrap;order:3;justify-content:center;width:100%}.phone-pill{display:none}.hero,.split-section,.contact-section{grid-template-columns:1fr}.feature-strip,.cards,.gallery-grid{grid-template-columns:repeat(2,1fr)}.cta-band{text-align:center;grid-template-columns:1fr;justify-items:center}}@media (width<=620px){.brand img{width:210px}.nav{gap:16px;font-size:.9rem}.hero{min-height:auto;padding-top:38px}h1{font-size:3.3rem}.hero-card{min-height:350px}.room-scene{min-height:314px}.feature-strip,.cards,.gallery-grid{grid-template-columns:1fr}.footer{text-align:center;flex-direction:column}}.about-photo-panel{border-radius:28px;overflow:hidden}.about-photo{object-fit:cover;width:100%;height:100%;min-height:450px;display:block}.gallery-photo{object-fit:cover;border-radius:18px;width:100%;height:220px;display:block}.gallery-item{text-align:center;background:#f8f7f5;border-radius:24px;padding:12px;box-shadow:0 10px 30px #00000014}.gallery-title{text-align:center;color:#17375e;margin:3rem 0 1.5rem;font-size:2rem}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:60px;display:grid}.gallery-grid img{object-fit:cover;border-radius:20px;width:100%;height:280px;transition:transform .3s;box-shadow:0 10px 25px #0000001f}.gallery-grid img:hover{transform:scale(1.02)}
