:root{
  --ink:#17352d; --forest:#214d3f; --mint:#d9eadf; --cream:#f7f3eb;
  --peach:#efb49c; --paper:#fffdf8; --line:rgba(23,53,45,.18); --white:#fff;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none} img{width:100%;height:100%;object-fit:cover;display:block}
.preview-bar{min-height:38px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;gap:14px;padding:8px 20px;font-size:11px;letter-spacing:.05em;text-align:center}
.preview-bar strong{color:#ffd2c1;letter-spacing:.16em}
.nav-wrap{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,78px);border-bottom:1px solid var(--line);position:relative;z-index:10}
.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:42px;height:42px;border:1.5px solid var(--ink);border-radius:50% 50% 45% 55%;display:grid;place-items:center;font-family:"Playfair Display";font-style:italic;font-size:25px}
.brand>span:last-child{display:flex;flex-direction:column;line-height:1}.brand b{font-size:16px}.brand small{text-transform:uppercase;letter-spacing:.28em;font-size:8px;margin-top:5px}
nav{display:flex;gap:30px;font-size:13px;font-weight:600}nav a{position:relative}nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--ink);transition:.25s}nav a:hover:after{right:0}
.nav-call{border:1px solid var(--ink);padding:11px 16px;border-radius:999px;font-size:12px;font-weight:700}.menu{display:none;background:none;border:0;font-size:24px}
.hero{min-height:700px;display:grid;grid-template-columns:1.02fr .98fr;max-width:1500px;margin:auto}
.hero-copy{padding:100px 6vw 60px;display:flex;flex-direction:column;justify-content:center}
.eyebrow,.kicker{font-size:11px;font-weight:700;letter-spacing:.19em}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow span{width:35px;height:1px;background:var(--ink)}
h1,h2{font-family:"Playfair Display",serif;font-weight:600;letter-spacing:-.045em;margin:0;line-height:.92}
h1{font-size:clamp(70px,8vw,128px);margin:28px 0 30px}h1 em,h2 em{font-weight:600;color:var(--forest)}
.hero-lead{max-width:580px;font-size:17px;color:#49635a}
.hero-actions{display:flex;align-items:center;gap:24px;margin-top:25px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;border-radius:999px;padding:16px 22px;font-weight:700;font-size:13px}
.button.primary{background:var(--forest);color:#fff}.button.primary:hover,.submit:hover{transform:translateY(-2px)}
.button.text{padding-left:0}.button.text span{font-weight:500;color:#61776f}
.trust-row{display:flex;gap:40px;margin-top:70px;padding-top:24px;border-top:1px solid var(--line);max-width:580px}.trust-row div{display:flex;flex-direction:column}.trust-row strong{font-family:"Playfair Display";font-size:22px}.trust-row span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#71827c}
.hero-art{background:var(--mint);position:relative;min-height:650px;overflow:hidden;padding:45px 5vw 50px;display:flex;align-items:center;justify-content:center}
.arch{height:82%;width:min(82%,560px);border-radius:280px 280px 20px 20px;overflow:hidden;box-shadow:0 25px 80px rgba(23,53,45,.13)}
.float-card{position:absolute;left:4%;bottom:18%;background:var(--paper);padding:18px 25px 18px 18px;display:flex;gap:13px;align-items:center;box-shadow:0 15px 45px rgba(23,53,45,.13)}
.float-card .sparkle{font-size:30px;color:#d68768}.float-card div{display:flex;flex-direction:column}.float-card small{font-size:8px;letter-spacing:.18em}.float-card b{font-family:"Playfair Display";font-size:20px}
.photo-note{position:absolute;bottom:20px;right:25px;left:25px;text-align:center;font-size:9px;letter-spacing:.1em;color:#547066}
.marquee{background:var(--peach);overflow:hidden;padding:14px 0;white-space:nowrap;font-size:10px;letter-spacing:.18em;font-weight:700}.marquee-track{display:flex;width:max-content;animation:scroll 34s linear infinite;will-change:transform}.marquee-group{display:flex;align-items:center;flex-shrink:0}.marquee span{margin:0 28px}@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.intro{padding:130px 6vw;display:grid;grid-template-columns:80px 1.25fr .75fr;gap:35px;max-width:1500px;margin:auto}
.section-number{font-family:"Playfair Display";font-size:16px;color:#8a9b94}.kicker{margin:0 0 24px;color:#71827c}
.intro h2,.services h2,.photo-story h2,.reviews h2,.estimate h2{font-size:clamp(45px,5.5vw,82px)}
.intro-copy{align-self:end;color:#51665f;font-size:15px}.intro-copy p{margin:0 0 18px}.intro-copy a{display:inline-block;margin-top:15px;color:var(--ink);font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:4px}
.services{background:var(--ink);color:#fff;padding:120px 6vw}.services-head{max-width:1380px;margin:auto;display:flex;justify-content:space-between;gap:50px;align-items:end}.services .kicker{color:#a9c2b8}.services h2 em{color:#c9dfd5}.services-head>p{max-width:390px;color:#b7c5c0}
.service-grid{max-width:1380px;margin:70px auto 0;display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18)}
.service-card{min-height:330px;grid-column:span 2;padding:30px;position:relative;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);transition:.25s}.service-card:hover{background:#285647;transform:translateY(-5px)}
.service-card .num{font-size:9px;color:#91aaa0}.service-card .icon{font-family:"Playfair Display";font-size:38px;margin:55px 0 25px;color:#efb49c}.service-card h3{font-family:"Playfair Display";font-size:26px;margin:0 0 15px}.service-card p{font-size:13px;color:#b7c5c0}.service-card .line{position:absolute;bottom:28px;width:35px;height:1px;background:#efb49c}
.accuracy-note,.source-note{max-width:1380px;margin:18px auto 0;font-size:9px;letter-spacing:.08em;color:#91aaa0}.source-note{color:#6d7f78}
.photo-story{display:grid;grid-template-columns:1fr 1.2fr .8fr;min-height:680px;background:var(--paper)}
.story-image{position:relative;overflow:hidden}.story-image.large{min-height:680px}.story-image.large span{position:absolute;bottom:15px;left:15px;background:#fff;padding:6px 9px;font-size:8px;letter-spacing:.12em}
.story-copy{padding:90px 5vw;display:flex;flex-direction:column;justify-content:center}.story-copy h2{font-size:clamp(42px,4.5vw,70px)}
.steps{margin-top:55px}.steps>div{display:flex;gap:18px;border-top:1px solid var(--line);padding:18px 0}.steps b{width:28px;height:28px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:10px}.steps p{margin:0;display:flex;flex-direction:column}.steps p strong{font-size:13px}.steps p span{font-size:12px;color:#6c7e77;margin-top:3px}
.story-image.small{margin:80px 40px 80px 0}.replace-note{position:absolute;left:12px;right:12px;bottom:12px;background:rgba(255,253,248,.92);padding:12px;font-size:9px;line-height:1.4}
.reviews{padding:120px 6vw;display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;max-width:1500px;margin:auto}.review-title{padding-right:25px}.review-card{background:#fff;padding:40px;min-height:310px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #eee7db}.stars{letter-spacing:.2em;color:#d98d70}.review-card blockquote{font-family:"Playfair Display";font-size:24px;line-height:1.35;margin:30px 0}.review-card p{font-size:11px;color:#71827c}.source-note{grid-column:2/4}
.estimate{background:var(--peach);display:grid;grid-template-columns:1fr 1fr;padding:110px 7vw;gap:8vw}.kicker.light{color:#704c3f}.estimate-copy p:not(.kicker){max-width:440px}.big-phone{display:block;font-family:"Playfair Display";font-size:clamp(28px,3vw,46px);margin-top:40px}.estimate-copy>span{font-size:11px;letter-spacing:.1em}
.estimate-form{background:var(--paper);padding:42px;display:flex;flex-direction:column;gap:18px;box-shadow:12px 12px 0 rgba(23,53,45,.12)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.estimate-form label{font-size:9px;letter-spacing:.12em;font-weight:700}.estimate-form input,.estimate-form select,.estimate-form textarea{width:100%;border:0;border-bottom:1px solid #c8c6bd;background:transparent;padding:11px 0;font:inherit;font-size:13px;outline:none}.estimate-form textarea{resize:vertical}.submit{border:0;background:var(--forest);color:#fff;cursor:pointer;transition:.2s;margin-top:5px}.estimate-form small{font-size:9px;color:#75857f;text-align:center}
footer{background:#102a23;color:#fff;padding:65px 6vw;display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}.footer-brand .brand-mark{border-color:#fff}.footer-mid{display:flex;flex-direction:column;gap:15px}.footer-mid strong{font-family:"Playfair Display";font-size:25px}.footer-mid a{font-size:14px;color:#c5d5cf}.footer-right span{font-size:9px;letter-spacing:.15em;color:#efb49c}.footer-right p{font-size:10px;color:#91aaa0;max-width:350px}.instagram-link{display:block;width:max-content;margin-bottom:14px;font-size:10px;color:#91aaa0;letter-spacing:.05em;transition:.2s}.instagram-link:hover{color:#fff}
.mobile-cta{display:none}
@media(max-width:950px){
 nav,.nav-call{display:none}.menu{display:block}.nav-wrap.open nav{display:flex;position:absolute;top:88px;left:0;right:0;background:var(--cream);flex-direction:column;padding:25px;box-shadow:0 10px 30px rgba(0,0,0,.08)}
 .hero{grid-template-columns:1fr}.hero-copy{padding-top:70px}.hero-art{min-height:620px}.intro{grid-template-columns:45px 1fr}.intro-copy{grid-column:2}.service-grid{grid-template-columns:1fr 1fr}.photo-story{grid-template-columns:1fr 1fr}.story-copy{grid-column:2}.story-image.small{display:none}.reviews{grid-template-columns:1fr 1fr}.review-title{grid-column:1/3}.source-note{grid-column:1/3}.estimate{grid-template-columns:1fr}
}
@media(max-width:620px){
 body{padding-bottom:58px}.preview-bar{font-size:9px;display:block}.preview-bar strong{display:block}.nav-wrap{height:72px;padding:0 18px}.hero-copy{padding:55px 22px 45px}h1{font-size:68px}.hero-art{min-height:500px;padding:35px 25px}.arch{height:85%;width:90%}.trust-row{gap:22px}.intro{padding:85px 22px;grid-template-columns:1fr}.section-number{display:none}.intro-copy{grid-column:1}.services{padding:85px 22px}.services-head{display:block}.services-head>p{margin-top:25px}.service-grid{grid-template-columns:1fr}.service-card{min-height:280px}.photo-story{display:block}.story-image.large{min-height:470px}.story-copy{padding:75px 22px}.reviews{padding:85px 22px;display:block}.review-card{margin-top:16px}.source-note{margin-top:18px}.estimate{padding:80px 22px}.estimate-form{padding:28px 20px}.field-row{grid-template-columns:1fr}footer{grid-template-columns:1fr;padding:55px 22px}.mobile-cta{position:fixed;z-index:50;bottom:0;left:0;right:0;height:58px;display:grid;grid-template-columns:1fr 1.4fr;background:#fff;border-top:1px solid #ddd}.mobile-cta a{display:grid;place-items:center;font-weight:700;font-size:12px}.mobile-cta a:last-child{background:var(--forest);color:#fff}
}.brand-logo{width:150px;height:68px;object-fit:contain;display:block}
.hidden-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.thanks-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 22px;background:var(--cream)}
.thanks-logo{width:220px;height:auto;object-fit:contain;margin-bottom:30px}
.thanks-page h1{font-size:clamp(64px,9vw,120px);margin:10px 0 20px}
.thanks-page>p:not(.kicker){max-width:520px;color:#51665f;margin:0 0 28px}
.thanks-phone{margin-top:18px;font-weight:700;font-size:14px}
@media(max-width:620px){.brand-logo{width:112px;height:52px}.thanks-logo{width:180px}}

.service-card:nth-child(4),.service-card:nth-child(5){grid-column:span 3}
.work-gallery{padding:110px 6vw;background:#fffdf8}
.work-gallery-head{max-width:1380px;margin:0 auto 45px;display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:end}
.work-gallery-head .kicker{grid-column:1/3;margin-bottom:0}.work-gallery-head h2{font-size:clamp(44px,5vw,74px);margin:0}.work-gallery-head>p{max-width:420px;color:#60736c;margin:0 0 10px}
.before-after-grid{max-width:1380px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:28px}
.before-after-card{border:1px solid #e5dfd5;background:#fff;padding:22px}.before-after-card h3{font-family:"Playfair Display";font-size:28px;margin:0 0 18px}
.ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ba-pair figure{margin:0;position:relative;overflow:hidden;background:#eee}.ba-pair img{width:100%;height:360px;object-fit:cover;display:block}.ba-pair figcaption{position:absolute;left:10px;bottom:10px;background:rgba(255,253,248,.94);padding:7px 10px;font-size:9px;font-weight:700;letter-spacing:.14em}
@media(max-width:950px){.service-grid{grid-template-columns:repeat(2,1fr)}.service-card,.service-card:nth-child(4),.service-card:nth-child(5){grid-column:auto}.before-after-grid{grid-template-columns:1fr}.work-gallery-head{grid-template-columns:1fr}.work-gallery-head .kicker{grid-column:1}.ba-pair img{height:320px}}
@media(max-width:620px){.work-gallery{padding:80px 22px}.ba-pair{gap:8px}.ba-pair img{height:230px}.before-after-card{padding:14px}.before-after-card h3{font-size:24px}}

/* Hero + review refinements */
.hero-art.hero-photo-panel{padding:0;min-height:650px;background:#d9eadf;position:relative;overflow:hidden}
.hero-photo{width:100%;height:100%;min-height:650px;object-fit:cover;object-position:center;display:block}
.hero-photo-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,53,45,.02),rgba(23,53,45,.12));pointer-events:none}
.hero-photo-panel .float-card{z-index:2}

.reviews{display:block;padding:120px 6vw;max-width:1500px;margin:auto}
.review-title{display:grid;grid-template-columns:1.15fr .85fr;column-gap:50px;align-items:end;margin-bottom:42px;padding-right:0}
.review-title .kicker{grid-column:1/3}
.review-title h2{grid-column:1}
.review-intro{grid-column:2;margin:0 0 16px;color:#60736c;max-width:480px}
.review-link{grid-column:2;justify-self:start;display:inline-block;font-weight:700;font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:4px}
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.review-card{min-height:290px}
.review-card blockquote{font-size:21px}
.reviews .source-note{margin-top:18px;color:#6d7f78}

@media(max-width:950px){
  .hero-art.hero-photo-panel,.hero-photo{min-height:560px}
  .review-title{grid-template-columns:1fr}
  .review-title .kicker,.review-title h2,.review-intro,.review-link{grid-column:1}
  .review-intro{margin-top:22px}
  .review-link{margin-top:4px}
}
@media(max-width:620px){
  .hero-art.hero-photo-panel,.hero-photo{min-height:470px}
  .review-grid{grid-template-columns:1fr}
  .review-card{min-height:auto}
  .review-card blockquote{font-size:20px}
}

/* New owner photo framing */
.hero-photo[src*="miguel-cute-home-cleaning"]{object-position:center 35%;}
.story-image.small img[src*="cute-home-cleaning-car"]{object-position:center;}


.footer-instagram {
  display: inline-block;
  margin-bottom: 8px;
  color: inherit;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  opacity: 0.7;
  text-decoration: none;
  transition: opacity .2s ease;
}
.footer-instagram:hover { opacity: 1; text-decoration: underline; }
