:root{--ink:#112a37;--muted:#5a6c75;--teal:#087e80;--teal-dark:#056467;--mint:#e7f4f1;--line:#dce8e9;--paper:#fff;--soft:#f5f9f9;--accent:#d7f49b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);line-height:1.65;background:var(--paper)}a{color:inherit}button,input,select,textarea{font:inherit}.container{width:min(1120px,calc(100% - 44px));margin:auto}header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:19px;font-weight:850;letter-spacing:-.6px;line-height:1.1}.brand-mark{height:39px;width:39px;border-radius:11px;display:grid;place-items:center;background:var(--teal);color:white;font-size:23px}.brand small{display:block;font-size:10px;letter-spacing:2.3px;color:var(--teal);margin-top:3px}.links{display:flex;align-items:center;gap:24px}.links>a{font-size:13px;font-weight:650;text-decoration:none}.links>a:not(.button):hover{color:var(--teal)}.button{display:inline-block;background:var(--teal);color:#fff;border-radius:8px;padding:13px 21px;text-decoration:none;font-weight:750;border:0;cursor:pointer;box-shadow:0 4px 8px #087e8014}.button:hover{background:var(--teal-dark)}.button.outline{background:white;color:var(--teal);border:1px solid #b9d2d0;box-shadow:none}.menu-button{display:none;background:none;border:0;font-size:22px;cursor:pointer}.hero{padding:90px 0 84px;background:radial-gradient(ellipse at 88% 20%,#ccece6 0,transparent 40%),linear-gradient(130deg,#f6faf8,#eaf5f2)}.hero-layout{display:grid;grid-template-columns:1.13fr .87fr;align-items:center;gap:55px}.eyebrow{font-weight:800;color:var(--teal);text-transform:uppercase;font-size:12px;letter-spacing:2.2px}.hero h1{font-size:clamp(39px,5.2vw,67px);letter-spacing:-2.7px;line-height:1.08;margin:15px 0 22px}.hero p{font-size:18px;color:#49616b;max-width:560px;margin-bottom:28px}.button-row{display:flex;gap:13px;flex-wrap:wrap}.trustline{margin-top:27px;font-size:13px;color:var(--muted);display:flex;gap:15px;flex-wrap:wrap}.trustline span:before{content:'✓';color:var(--teal);margin-right:7px;font-weight:900}.hero-art{position:relative;min-height:370px;border-radius:30px;overflow:hidden;background:linear-gradient(140deg,#0e6269,#0a9392);box-shadow:0 25px 60px #1f655c2c}.window{position:absolute;top:32px;left:30px;right:30px;bottom:78px;border:12px solid #c7f1e8;border-radius:7px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.window span{background:linear-gradient(145deg,#89d8cb,#e2f8f2)}.desk{position:absolute;height:15px;background:#163b49;left:30px;right:30px;bottom:85px;border-radius:8px}.desk:after{content:'';position:absolute;top:14px;left:12%;width:9px;height:75px;background:#163b49;box-shadow:280px 0 #163b49}.art-card{position:absolute;right:17px;bottom:20px;background:white;padding:19px 22px;border-radius:14px;box-shadow:0 12px 38px #0b515a40;min-width:205px}.art-card strong{display:block;font-size:15px}.art-card span{font-size:12px;color:var(--muted)}.sparkle{position:absolute;color:white;font-size:49px;top:20%;right:17%;opacity:.95}.section{padding:85px 0}.section.soft{background:var(--soft)}.section-heading{max-width:670px;margin-bottom:35px}.section h2{font-size:clamp(29px,3.5vw,43px);line-height:1.16;letter-spacing:-1.35px;margin:12px 0 16px}.section-heading p,.lead{color:var(--muted);font-size:16px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.card{padding:27px;border:1px solid var(--line);border-radius:17px;background:white}.card .symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:var(--mint);color:var(--teal);font-size:23px}.card h3{font-size:19px;margin:17px 0 7px}.card p{margin:0;color:var(--muted);font-size:14px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.about-art{position:relative;height:340px;border-radius:30px;background:linear-gradient(145deg,#d8f0eb,#9fd6cb);padding:34px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 18px 40px #1f655c14}.about-art:before{content:'';position:absolute;right:-35px;top:-18px;width:240px;height:240px;border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.26),rgba(255,255,255,.08));transform:rotate(14deg)}.about-art .panel{position:relative;z-index:1;background:white;border-radius:22px;padding:34px 30px;max-width:340px;box-shadow:0 18px 44px #236b6126;border:1px solid #edf3f4}.panel .big{font-size:44px;font-weight:850;color:var(--teal);line-height:.98;letter-spacing:-1px}.panel p{font-size:14px;color:var(--muted);margin:12px 0 0;max-width:250px}.checks{list-style:none;padding:0;display:grid;gap:13px}.checks li:before{content:'✓';display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--mint);color:var(--teal);font-weight:800;margin-right:10px}.pill-wrap{display:flex;flex-wrap:wrap;gap:12px}.pill{padding:12px 17px;border:1px solid var(--line);border-radius:30px;background:white;font-weight:650;font-size:14px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.step{border-top:3px solid var(--teal);padding-top:17px}.step .number{font-weight:850;color:var(--teal);font-size:13px;letter-spacing:1px}.step h3{margin:7px 0}.step p{color:var(--muted);font-size:14px}.cta{background:#103b46;color:white;padding:65px 0}.cta p{color:#d3e2e3}.cta-layout{display:flex;align-items:center;justify-content:space-between;gap:35px}.cta h2{font-size:35px;letter-spacing:-1px;margin:0}.cta .button{background:#c9ef8c;color:#153c36}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.contact-note{background:var(--soft);border-radius:16px;padding:23px;margin-top:23px;color:var(--muted);font-size:14px}form{display:grid;gap:16px}label{font-weight:750;font-size:13px}input,select,textarea{width:100%;padding:13px 14px;border:1px solid #cbd9dc;border-radius:8px;background:white;color:var(--ink);margin-top:6px;outline-color:var(--teal)}textarea{min-height:112px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-help{font-size:12px;color:var(--muted);margin:0}footer{border-top:1px solid var(--line);padding:27px 0;color:var(--muted);font-size:13px}.foot{display:flex;justify-content:space-between;gap:20px;align-items:center}.foot a{color:var(--teal);text-decoration:none}

/* Refined surfaces, generous spacing, and a consistent responsive layout. */
:root { --ink:#143b3c; --muted:#586e6b; --teal:#126d61; --teal-dark:#0b5148; --mint:#e7f2eb; --soft:#f5f7f2; --line:#dce5de; }
body { -webkit-font-smoothing:antialiased; }
.container { width:min(1160px,calc(100% - 64px)); }
.hero-layout > *, .two-col > *, .contact-layout > *, .form-row > * { min-width:0; }
h1,h2,h3 { text-wrap:balance; }
p { text-wrap:pretty; }
header { background:rgba(255,255,255,.94); }
.nav { min-height:84px; }
.brand-mark { border-radius:12px 12px 12px 3px; background:var(--teal); }
.brand small { letter-spacing:1.8px; }
.links { gap:20px; }
.links > a:not(.button) { position:relative; }
.links > a:not(.button)::after { content:''; position:absolute; left:0; bottom:-6px; width:100%; height:2px; background:var(--teal); transform:scaleX(0); transform-origin:left; transition:transform .2s; }
.links > a:hover::after,.links > a:focus-visible::after { transform:scaleX(1); }
.button { min-height:48px; border-radius:12px; padding:13px 22px; transition:transform .2s,box-shadow .2s,background .2s; text-align:center; }
.button:disabled { opacity:.65; cursor:wait; }
.button.outline { background:rgba(255,255,255,.75); }
.hero { position:relative; padding:96px 0; background:radial-gradient(ellipse at 90% 5%,#d5e9d9 0,transparent 48%),linear-gradient(120deg,#fafbf6,#eef4eb); border-bottom:1px solid var(--line); }
.hero h1 { font-size:clamp(42px,5.3vw,70px); letter-spacing:-3px; line-height:1.07; }
.hero h1 span { color:var(--teal); }
.hero .eyebrow { display:inline-flex; align-items:center; gap:9px; border:1px solid #cbded0; border-radius:30px; padding:7px 13px; font-size:10px; letter-spacing:1.6px; }
.hero .eyebrow::before { content:''; width:7px; height:7px; border-radius:50%; background:var(--teal); }
.hero p { font-size:17px; line-height:1.8; }
.hero-art { min-height:420px; border-radius:100px 24px 24px 24px; background:linear-gradient(145deg,#164e44,#548879); box-shadow:0 24px 48px #194c3820; border:8px solid #fff8; }
.window { top:48px; bottom:98px; left:36px; right:36px; border:10px solid #e2eee2; border-radius:48px 5px 5px 5px; overflow:hidden; }
.window span { background:linear-gradient(150deg,#aed0b9,#f5fae8); }
.desk { left:24px; right:24px; bottom:100px; background:#d4b98b; }
.desk:after { width:100%; left:0; background:linear-gradient(90deg,transparent 8%,#173f36 8% 10%,transparent 10% 90%,#173f36 90% 92%,transparent 92%); box-shadow:none; }
.art-card { right:16px; bottom:18px; padding:20px 24px; border:1px solid #ffffff90; }
.sparkle { top:20%; right:22%; text-shadow:0 0 22px #fff8; }
.section { padding:96px 0; }
.section-heading { margin-bottom:40px; }
.eyebrow { letter-spacing:2px; font-size:11px; }
.section h2 { font-size:clamp(30px,3.5vw,44px); }
.card { padding:30px; border-radius:20px; box-shadow:0 5px 18px #143b3c04; transition:transform .25s,box-shadow .25s,border-color .25s; }
.card .symbol { border-radius:15px 15px 15px 4px; }
.card p { line-height:1.8; }
.about-art { border-radius:24px 72px 24px 24px; background:linear-gradient(145deg,#e5eee0,#b1d0b6); }
.about-art .panel { padding:38px; }
.panel .big { font-size:clamp(34px,4vw,48px); }
.checks li { display:flex; align-items:baseline; }
.checks li:before { flex-shrink:0; }
.pill { padding:13px 20px; background:var(--soft); }
.step { padding:24px; border-top:2px solid var(--teal); border-radius:0 0 18px 18px; background:var(--soft); }
.step .number { font-size:12px; }
.cta { margin:0 24px; border-radius:24px; padding:60px 0; background:radial-gradient(ellipse at 100% 0,#2f6953,transparent 65%),#143b34; }
.cta .button { flex-shrink:0; }
#quoteForm { padding:32px; background:#fff; border:1px solid var(--line); border-radius:24px; box-shadow:0 16px 48px #143b3c08; }
.contact-layout { align-items:start; }
.contact-note { border:1px solid var(--line); }
.contact-note a { color:var(--teal); font-weight:700; overflow-wrap:anywhere; }
input,select,textarea { min-width:0; min-height:48px; font-size:16px; background:#fbfcf9; transition:border-color .2s,box-shadow .2s; }
input:focus,select:focus,textarea:focus { border-color:var(--teal); box-shadow:0 0 0 3px #126d6114; outline:none; }
textarea { min-height:130px; }
footer { background:var(--soft); }
.skip-link { position:absolute; left:16px; top:-80px; z-index:30; background:white; padding:12px; }
.skip-link:focus { top:12px; }
:focus-visible { outline:3px solid var(--teal); outline-offset:4px; }
.reveal { opacity:0; transform:translateY(20px); transition:opacity .6s var(--reveal-delay,0ms),transform .6s var(--reveal-delay,0ms); }
.reveal.is-visible { opacity:1; transform:none; }
@keyframes arrive { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
@keyframes polish { 0%,100% { transform:scale(1) rotate(0); } 50% { transform:scale(1.15) rotate(12deg); } }
@media(prefers-reduced-motion:no-preference) {
  .hero-layout > div:first-child { animation:arrive .7s both; }
  .hero-art { animation:arrive .9s .12s both; }
  .sparkle { animation:polish 2.4s .8s 2; }
}
@media(hover:hover) {
  .button:not(:disabled):hover { transform:translateY(-2px); box-shadow:0 8px 20px #126d6120; }
  .card.is-visible:hover,.card:not(.reveal):hover { transform:translateY(-5px); border-color:#a9c8b4; box-shadow:0 16px 32px #143b3c0c; }
}
@media(max-width:980px) {
  .nav { min-height:76px; }
  .menu-button { display:grid; place-items:center; width:48px; height:48px; border:1px solid var(--line); border-radius:12px; color:var(--ink); }
  .links { display:none; position:absolute; top:76px; left:24px; right:24px; padding:18px; background:white; border:1px solid var(--line); border-radius:0 0 18px 18px; box-shadow:0 16px 32px #143b3c15; flex-direction:column; align-items:stretch; gap:4px; max-height:calc(100dvh - 100px); overflow-y:auto; }
  .links.open { display:flex; animation:arrive .2s both; }
  .links > a { padding:12px 14px; min-height:44px; }
  .links > a::after { display:none; }
  .hero-layout { gap:30px; }
  .hero h1 { font-size:clamp(40px,5.5vw,58px); letter-spacing:-2px; }
  .hero-art { min-height:370px; }
  .two-col { gap:36px; }
  .contact-layout { gap:32px; grid-template-columns:.85fr 1.15fr; }
  .form-row { grid-template-columns:1fr; }
  .cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .container { width:calc(100% - 40px); }
  .hero { padding:56px 0; }
  .hero-layout,.two-col,.contact-layout { grid-template-columns:1fr; gap:36px; }
  .hero h1 { max-width:620px; font-size:clamp(40px,8vw,60px); }
  .hero-art { width:100%; max-width:540px; min-height:340px; margin:auto; }
  .hero p { max-width:600px; }
  .section { padding:64px 0; }
  #about .about-art { order:2; }
  .about-art { height:290px; }
  .steps { grid-template-columns:1fr; gap:18px; }
  .cta { margin:0 12px; padding:44px 0; }
  .cta-layout { flex-direction:column; align-items:start; gap:16px; }
  .cta h2 { font-size:30px; line-height:1.2; }
  .form-row { grid-template-columns:1fr 1fr; }
  .foot { flex-direction:column; align-items:start; gap:10px; }
}
@media(max-width:480px) {
  .container { width:calc(100% - 32px); }
  .brand { font-size:17px; gap:8px; }
  .brand small { font-size:8px; letter-spacing:1.5px; }
  .brand-mark { width:34px; height:36px; }
  .links { left:16px; right:16px; }
  .hero h1 { font-size:40px; letter-spacing:-1.8px; }
  .hero p { font-size:16px; }
  .button-row { flex-direction:column; gap:10px; }
  .button-row .button { width:100%; }
  .trustline { gap:8px 14px; font-size:12px; }
  .hero-art { min-height:285px; border-radius:64px 20px 20px 20px; }
  .window { top:30px; left:22px; right:22px; bottom:85px; border-width:8px; }
  .desk { bottom:85px; }
  .art-card { right:10px; bottom:12px; padding:14px 18px; min-width:0; }
  .cards,.form-row { grid-template-columns:1fr; }
  .card { padding:25px; }
  .section-heading { margin-bottom:28px; }
  .about-art { padding:24px; height:260px; }
  .about-art .panel { padding:28px; }
  .checks li { font-size:14px; }
  .pill-wrap { gap:8px; }
  .pill { font-size:12px; padding:10px 13px; }
  #quoteForm { padding:22px 18px; border-radius:18px; }
  .cta .button { width:100%; }
}
.reading-progress { position:fixed; left:0; top:0; right:0; height:3px; z-index:50; background:var(--teal); transform:scaleX(0); transform-origin:left; pointer-events:none; }
.links > a.active:not(.button) { color:var(--teal); }
.links > a.active::after { transform:scaleX(1); }
.back-to-top { position:fixed; bottom:max(20px,env(safe-area-inset-bottom)); right:20px; z-index:20; display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:var(--teal); color:white; font-size:24px; text-decoration:none; box-shadow:0 6px 22px #143b3c26; opacity:0; visibility:hidden; transform:translateY(12px); transition:opacity .2s,transform .2s,visibility .2s; }
.back-to-top.visible { opacity:1; visibility:visible; transform:none; }
.hero-art.has-photo { isolation:isolate; }
.about-art.cleaning-photo { height:400px; align-items:flex-end; justify-content:flex-start; padding:22px; background:#b1d0b6; }
.cleaning-photo > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cleaning-photo .panel { padding:22px 24px; max-width:310px; background:rgba(255,255,255,.94); backdrop-filter:blur(8px); }
.cleaning-photo .panel .big { font-size:34px; }
@media(max-width:480px) { .about-art.cleaning-photo { height:340px; padding:16px; } .cleaning-photo .panel { padding:18px 20px; } }
.office-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:-2; transition:transform .7s; }
.hero-art.has-photo::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,transparent 40%,#143b3440); }
.hero-art.has-photo .sparkle { top:12%; right:12%; }
.hero-art.has-photo .art-card { background:rgba(255,255,255,.94); backdrop-filter:blur(8px); }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .hero-art.has-photo:hover .office-photo { transform:scale(1.045); } }
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
  .reveal { opacity:1; transform:none; }
}
