:root{
  --ink:#101614;--bottle:#1C3B32;--limestone:#E9EAE5;--paper:#FBFBF9;--brass:#B08D57;
  --rule:rgba(16,22,20,.14);--muted:rgba(16,22,20,.66);
  --display:"Bodoni Moda","Didot","Times New Roman",serif;
  --sans:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--limestone);color:var(--ink);font-family:var(--sans);line-height:1.6}
.bar{background:var(--bottle);padding:1rem}
.mark{color:var(--paper);text-decoration:none;font-family:var(--display);font-size:1.25rem}
.wrap{max-width:46rem;margin:0 auto;padding:0 1rem 4rem}
.display{font-family:var(--display);font-weight:400;font-size:clamp(2rem,6vw,3rem);line-height:1.1;margin:.25rem 0;text-wrap:balance}
.display--sm{font-size:1.75rem}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:var(--muted);margin:0}
.muted{color:var(--muted)}
.hero{margin:0 -1rem}
.hero img{width:100%;max-height:70vh;object-fit:cover;display:block}
.clean__head{padding:1.5rem 0 1rem}
.room{background:var(--paper);padding:1.25rem 1rem;margin:0 0 1rem;border-top:3px solid var(--bottle)}
.room h2{font-family:var(--display);font-weight:400;font-size:1.5rem;margin:0 0 .5rem}
.room__note{border-left:3px solid var(--brass);padding-left:.75rem}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem}
.shot{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;margin:0 0 .5rem}
.shot img,video.shot{width:100%;height:auto;display:block;background:var(--limestone)}
.detail{margin:.75rem 0}
.detail__label{font-weight:600;margin:0}
.done summary{cursor:pointer;color:var(--bottle);font-weight:600;min-height:44px;display:flex;align-items:center}
.actions{display:grid;gap:.75rem;margin:2rem 0}
.btn{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.75rem 1.25rem;
  background:var(--bottle);color:var(--paper);border:1px solid var(--bottle);font:inherit;font-weight:600;
  text-decoration:none;cursor:pointer}
.btn--ghost{background:transparent;color:var(--bottle)}
.link{background:none;border:0;color:var(--bottle);text-decoration:underline;font:inherit;cursor:pointer;min-height:44px}
.card{background:var(--paper);padding:2rem 1.25rem;margin:2rem 0}
.center{text-align:center;display:grid;gap:1rem}
.sheet,.viewer{border:0;padding:1.5rem;max-width:32rem;width:calc(100% - 2rem)}
.sheet::backdrop,.viewer::backdrop{background:rgba(16,22,20,.6)}
.sheet textarea,.sheet input{display:block;width:100%;font:inherit;padding:.6rem;margin:.25rem 0 1rem;border:1px solid var(--rule)}
.sheet__close,.viewer__close{float:right;background:none;border:0;font-size:1.75rem;cursor:pointer;min-width:44px;min-height:44px}
.viewer{max-width:none;width:100%;height:100%;background:#000;padding:0}
.viewer img,.viewer video{width:100%;height:calc(100% - 44px);object-fit:contain}
.viewer__close{color:#fff}
.label{display:block;font-weight:600;font-size:.9rem}
.msg{min-height:1.5em}
.cleanings{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.cleaning{display:flex;gap:.75rem;align-items:center;width:100%;text-align:left;background:none;border:1px solid var(--rule);
  padding:.5rem;font:inherit;color:var(--ink);cursor:pointer;min-height:64px}
.cleaning img{width:64px;height:64px;object-fit:cover}
.cleaning__text{display:grid}
.cleaning[disabled]{cursor:default;opacity:.8}
.install{border-top:3px solid var(--brass)}
.steps{padding-left:1.25rem}
.btn--danger{background:#8A2B1F;border-color:#8A2B1F;color:var(--paper)}
.link--danger{color:#8A2B1F}
details.card summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}
.card input{display:block;width:100%;font:inherit;padding:.6rem;margin:.25rem 0 1rem;border:1px solid var(--rule)}
