:root{--green:#07896c;--deep:#075d51;--ink:#173f3a;--muted:#607872;--line:#d5e8df;--gold:#efb849;--shadow:0 18px 45px rgba(21,92,77,.11)}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);font-family:Pretendard,"Noto Sans KR",Arial,sans-serif;background:linear-gradient(145deg,#fffaf0,#f5fffa 52%,#edf8f4)}button,input,select{font:inherit}.unified-header{height:86px;padding:9px clamp(18px,4vw,58px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,251,241,.94);border-bottom:1px solid #eee6d3}.unified-header .brand-lockup{text-decoration:none;color:inherit}.home-link{padding:10px 16px;border:1px solid #cee3db;border-radius:999px;background:#fff;color:var(--deep);font-size:13px;font-weight:900;text-decoration:none}.unified-page{width:min(1220px,calc(100% - 28px));margin:22px auto 70px}.unified-hero{padding:24px clamp(22px,4vw,48px);border:1px solid #eadcae;border-radius:26px;background:radial-gradient(circle at 88% 10%,rgba(255,218,102,.35),transparent 32%),linear-gradient(125deg,#fff7df,#effcf7);box-shadow:0 10px 34px rgba(115,93,31,.07)}.unified-hero>span{display:inline-flex;padding:5px 10px;border:1px solid #eacb71;border-radius:999px;background:#fff;color:#976700;font-size:12px;font-weight:900}.unified-hero h1{margin:11px 0 7px;font-size:clamp(28px,4vw,42px);letter-spacing:-1.6px}.unified-hero p{margin:0;color:#58736d;font-size:15px;line-height:1.55}.unified-hero>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.unified-hero b{padding:6px 10px;border-radius:10px;background:rgba(255,255,255,.8);color:#427166;font-size:11px}.unified-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;margin-top:20px;align-items:start}.unified-content{display:grid;gap:16px}.choice-section{padding:23px;border:1px solid var(--line);border-radius:23px;background:rgba(255,255,255,.93);box-shadow:0 9px 28px rgba(24,93,78,.055)}.choice-section[hidden]{display:none}.choice-section>header{display:flex;gap:13px;align-items:flex-start;margin-bottom:17px}.choice-section>header>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--deep);color:#fff;font-size:12px;font-weight:900;flex:0 0 auto}.choice-section h2{margin:0 0 4px;font-size:19px;letter-spacing:-.5px}.choice-section header p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.select-grid{display:grid;gap:10px}.select-grid.two{grid-template-columns:1fr 1fr}.select-grid.three{grid-template-columns:repeat(3,1fr)}.select-grid button{display:grid;grid-template-columns:42px 1fr;gap:2px 11px;align-items:center;text-align:left;padding:15px;border:1px solid #d8e8e2;border-radius:17px;background:#fbfefc;color:var(--ink);cursor:pointer}.select-grid button i{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e5f7f0;font-style:normal;font-size:20px}.select-grid button strong,.select-grid button small{display:block}.select-grid button strong{font-size:15px}.select-grid button small{color:#58716b;font-size:12px;line-height:1.45}.select-grid button.active,.living-options button.active,.pet-options button.active{border-color:#16a681;background:#effff8;box-shadow:inset 0 0 0 1px #16a681}.counter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.counter-grid.compact,.office-counters{grid-template-columns:1fr 1fr}.counter-grid article{display:grid;grid-template-columns:40px 1fr;gap:9px;align-items:center;padding:14px;border:1px solid #dceae5;border-radius:17px;background:#fbfefc}.counter-grid.compact article{grid-template-columns:1fr auto}.counter-grid article>i{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#eaf7f2;font-style:normal;font-size:19px}.counter-grid article strong,.counter-grid article small{display:block}.counter-grid article strong{font-size:14px}.counter-grid article small{margin-top:3px;color:#607873;font-size:11.5px;line-height:1.35}.counter{grid-column:1/-1;display:grid;grid-template-columns:34px 1fr auto 34px;align-items:center;gap:5px;margin-top:3px;padding-top:10px;border-top:1px dashed #dbe8e3}.counter button{width:34px;height:32px;border:1px solid #c7ddd5;border-radius:10px;background:#fff;color:var(--deep);font-size:18px;cursor:pointer}.counter output{text-align:right;font-size:17px;font-weight:900}.counter em{font-style:normal;font-size:12px;font-weight:800}.living-options,.pet-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:12px}.pet-options{grid-template-columns:1fr 1fr}.living-options button,.pet-options button{min-height:45px;border:1px solid #d4e6df;border-radius:13px;background:#fbfefc;color:var(--ink);font-size:13px;font-weight:800;cursor:pointer}.check-option{display:block;margin-top:11px;cursor:pointer}.check-option input{position:absolute;opacity:0}.check-option span{display:grid;grid-template-columns:25px 1fr;gap:1px 9px;padding:12px 14px;border:1px solid #d8e8e2;border-radius:14px;background:#fbfefc}.check-option i{grid-row:1/3;display:grid;place-items:center;width:24px;height:24px;border:2px solid #bdd5cd;border-radius:8px;color:transparent;font-style:normal}.check-option input:checked+span{border-color:#20aa89;background:#effff8}.check-option input:checked+span i{border-color:#07896c;background:#07896c;color:#fff}.check-option b{font-size:13px}.check-option small{color:#607873;font-size:11.5px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:11px}.field-pair label>span{display:block;margin:0 0 6px;font-size:12px;font-weight:900}.field-pair input,.field-pair select{width:100%;height:47px;padding:0 13px;border:1px solid #cfe1db;border-radius:12px;background:#fbfefc;color:var(--ink)}.unified-estimate{position:sticky;top:16px;padding:24px;border-radius:24px;background:linear-gradient(160deg,#0d775f,#075448);color:#fff;box-shadow:var(--shadow)}.unified-estimate>span{color:#bce9dc;font-size:12px;font-weight:900}.unified-estimate h2{margin:8px 0 6px;font-size:37px;letter-spacing:-1.5px}.unified-estimate>p{margin:0;color:#d5efe8;font-size:12px;line-height:1.45}.unified-estimate>div{display:grid;gap:8px;margin-top:18px}.unified-estimate>div div{display:flex;justify-content:space-between;gap:10px;font-size:12.5px}.unified-estimate>div span{color:#d3ebe5}.unified-estimate>div strong{white-space:nowrap}.unified-estimate>div small{color:#cce5df}.unified-estimate hr{height:1px;margin:18px 0 14px;border:0;background:rgba(255,255,255,.2)}.unified-estimate button{width:100%;border:0;border-radius:13px;font-weight:900;cursor:pointer}.unified-estimate #unifiedEstimateNext{height:52px;background:#ffd96a;color:#4d3a00;font-size:15px}.unified-estimate #unifiedReset{height:38px;margin-top:7px;background:transparent;color:#cbe7e0}.unified-estimate>small{display:block;margin-top:7px;text-align:center;color:#bcd9d2;font-size:10.5px;line-height:1.45}@media(max-width:900px){.unified-layout{grid-template-columns:1fr}.unified-estimate{position:static}.counter-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.unified-header{height:72px;padding:7px 12px}.home-link{padding:8px 11px;font-size:11px}.unified-page{width:calc(100% - 16px);margin-top:10px}.unified-hero{padding:18px;border-radius:21px}.unified-hero h1{font-size:28px}.unified-hero p{font-size:13px}.choice-section{padding:17px 13px;border-radius:19px}.choice-section>header{margin-bottom:13px}.choice-section h2{font-size:17px}.select-grid.two,.select-grid.three,.counter-grid,.counter-grid.compact,.office-counters,.field-pair{grid-template-columns:1fr}.living-options{grid-template-columns:1fr 1fr}.living-options button:first-child{grid-column:1/-1}.pet-options{grid-template-columns:1fr}.select-grid button small,.counter-grid article small,.check-option small{font-size:12.5px}.unified-estimate{border-radius:20px}}
@media(max-width:620px){.counter-grid.compact,.office-counters{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.counter-grid.compact article,.office-counters article{min-width:0;padding:12px 10px}.counter-grid.compact article strong,.office-counters article strong{font-size:13px}.counter-grid.compact .counter,.office-counters .counter{grid-template-columns:32px minmax(0,1fr) auto 32px}.counter-grid.compact .counter button,.office-counters .counter button{width:32px}.living-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.living-options button:first-child{grid-column:auto}}
.unified-layout{grid-template-columns:minmax(0,980px);justify-content:center}.unified-submit-panel{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:8px 20px;align-items:center;padding:22px 24px;border:1px solid #d6e6df;border-radius:22px;background:linear-gradient(120deg,#fff9e8,#effbf6);box-shadow:0 10px 30px rgba(24,93,78,.07)}.unified-submit-panel strong{display:block;font-size:18px}.unified-submit-panel p{margin:5px 0 0;color:#58736d;font-size:13px;line-height:1.55}.unified-submit-panel button{grid-column:2;grid-row:1/3;width:100%;height:54px;border:0;border-radius:15px;background:#07896c;color:#fff;font-size:16px;font-weight:900;cursor:pointer;box-shadow:0 10px 24px rgba(7,137,108,.2)}.unified-submit-panel small{grid-column:1/-1;color:#71847f;font-size:11.5px}@media(max-width:620px){.unified-submit-panel{grid-template-columns:1fr;padding:18px 15px}.unified-submit-panel button{grid-column:1;grid-row:auto;margin-top:5px}.unified-submit-panel small{grid-column:1}}
.range-control{grid-column:1/-1;display:block;margin-top:1px}.range-control span{display:block;margin-bottom:5px;color:#698079;font-size:10.5px;font-weight:700}.range-control input{width:100%;height:22px;margin:0;accent-color:#07896c;cursor:grab}.range-control input:active{cursor:grabbing}.modern-date-picker{position:relative}.modern-date-button{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;width:100%;height:54px;padding:6px 13px;border:1px solid #cfe1db;border-radius:13px;background:#fbfefc;color:var(--ink);text-align:left;cursor:pointer}.modern-date-button img{width:32px;height:32px}.modern-date-button b{font-size:14px}.modern-date-button em{color:#0b8067;font-size:11px;font-style:normal;font-weight:800}.modern-date-button[aria-expanded="true"]{border-color:#16a681;box-shadow:0 0 0 3px rgba(22,166,129,.12)}.modern-calendar{position:absolute;z-index:50;top:62px;left:0;width:min(330px,calc(100vw - 42px));padding:15px;border:1px solid #cce2da;border-radius:19px;background:#fff;box-shadow:0 22px 50px rgba(18,71,59,.2)}.modern-calendar[hidden]{display:none}.modern-calendar-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:7px}.modern-calendar-head strong{text-align:center;font-size:15px}.modern-calendar-head button,.modern-calendar-close{border:1px solid #d5e7e0;background:#f6fcf9;color:#0a765f;font-weight:900;cursor:pointer}.modern-calendar-head button{width:36px;height:34px;border-radius:10px;font-size:22px}.modern-calendar-week,.modern-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.modern-calendar-week{margin:13px 0 5px;color:#74847f;font-size:10.5px;text-align:center}.modern-calendar-days button{aspect-ratio:1;border:0;border-radius:10px;background:transparent;color:#21443d;font-size:12px;font-weight:750;cursor:pointer}.modern-calendar-days button:hover:not(:disabled){background:#edf9f5}.modern-calendar-days button.is-today{box-shadow:inset 0 0 0 1px #9fd4c5}.modern-calendar-days button.is-selected{background:#07896c;color:#fff;box-shadow:0 7px 16px rgba(7,137,108,.24)}.modern-calendar-days button.is-sunday{color:#c45a52}.modern-calendar-days button:disabled{color:#c7cecb;cursor:not-allowed}.modern-calendar-days span{aspect-ratio:1}.modern-calendar-close{width:100%;height:34px;margin-top:10px;border-radius:10px}.pyeong-control{align-content:start}@media(max-width:620px){.modern-date-button{height:52px}.modern-calendar{position:fixed;top:50%;left:50%;width:min(340px,calc(100vw - 28px));transform:translate(-50%,-50%);box-shadow:0 0 0 100vmax rgba(11,49,42,.34),0 24px 60px rgba(12,62,51,.28)}.range-control span{font-size:11px}}
.schedule-fields{grid-template-columns:minmax(250px,.82fr) minmax(0,1.45fr);align-items:start}.time-picker-field>span{display:block;margin:0 0 6px;font-size:12px;font-weight:900}.time-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.time-option-grid button{display:flex;flex-direction:column;justify-content:center;min-height:54px;padding:8px 11px;border:1px solid #cfe1db;border-radius:13px;background:#fbfefc;color:#21443d;text-align:left;cursor:pointer}.time-option-grid button b{font-size:13px}.time-option-grid button small{margin-top:3px;color:#6d827c;font-size:10.5px;line-height:1.35}.time-option-grid button.active{border-color:#10a17e;background:#effcf7;box-shadow:inset 0 0 0 1px #10a17e}.time-option-grid button.between-time{border-color:#e6c875;background:#fffbeb}.time-option-grid button.between-time small{color:#a36b00}.time-option-grid button.between-time.active{border-color:#df9d19;background:#fff5cd;box-shadow:inset 0 0 0 1px #df9d19}.between-time-guide{margin-top:13px;padding:13px 15px;border:1px solid #ecd89b;border-radius:14px;background:#fffaf0}.between-time-guide strong{color:#8a5a00;font-size:13px}.between-time-guide p{margin:5px 0 0;color:#715f3f;font-size:11.5px;line-height:1.6}.modern-calendar-notice{margin:9px 1px 0;padding:9px 10px;border-radius:10px;background:#fff8e8;color:#775719;font-size:10.5px;font-weight:750;line-height:1.5;text-align:center}@media(max-width:620px){.schedule-fields{grid-template-columns:1fr}.time-option-grid{grid-template-columns:1fr 1fr}.time-option-grid button{min-height:58px}.between-time-guide{padding:12px 13px}.modern-calendar-notice{font-size:11px}}
.choice-section.needs-attention{border-color:#d95b52;box-shadow:0 0 0 3px rgba(217,91,82,.12),0 12px 30px rgba(122,53,45,.08)}.selection-error-message{margin:-5px 0 14px;padding:10px 12px;border-radius:11px;background:#fff0ee;color:#b52f29;font-size:13px;font-weight:900;line-height:1.45}
.choice-section header .area-warning{margin-top:6px;padding:7px 10px;border-radius:9px;background:#fff4df;color:#8b5a00;font-weight:800}

/* Larger calendar shared by every unified cleaning estimate page. */
.modern-calendar{width:min(390px,calc(100vw - 40px));padding:19px;border-radius:21px}.modern-calendar-head{grid-template-columns:40px 1fr 40px;gap:9px}.modern-calendar-head strong{font-size:17px}.modern-calendar-head button{width:40px;height:38px;border-radius:11px;font-size:24px}.modern-calendar-week,.modern-calendar-days{gap:5px}.modern-calendar-week{margin:15px 0 6px;font-size:12px;font-weight:800}.modern-calendar-week span:first-child,.modern-calendar-week span:last-child{color:#d64c42}.modern-calendar-days button{position:relative;display:grid;place-content:center;gap:1px;padding:2px;border-radius:12px;font-size:14px;font-weight:800}.modern-calendar-days button.is-weekend{color:#d64c42}.modern-calendar-days button small{display:block;min-height:10px;color:#df4037;font-size:9px;font-weight:950;line-height:1}.modern-calendar-days button.is-selected small{color:#ffe79b}.modern-calendar-guide{display:flex;align-items:center;gap:13px;margin-top:10px;color:#647b74;font-size:11px;font-weight:750}.modern-calendar-guide span{display:inline-flex;align-items:center;gap:5px}.modern-calendar-guide i{width:9px;height:9px;border-radius:50%;background:#d64c42}.modern-calendar-guide b{display:grid;place-items:center;width:18px;height:18px;border-radius:6px;background:#fff1d4;color:#d13d33;font-size:9px}.modern-calendar-close{height:38px;margin-top:12px;border-radius:11px}
@media(max-width:620px){.modern-calendar{width:min(370px,calc(100vw - 24px));padding:17px}.modern-calendar-days button{font-size:14px}}

.studio-occupancy-choice{margin-top:18px;padding-top:17px;border-top:1px dashed #cfe1da}.studio-occupancy-choice h3{margin:0 0 11px;color:var(--deep);font-size:15px}.studio-occupancy-choice .select-grid button.active{border-color:#16a681;background:#effff8;box-shadow:inset 0 0 0 1px #16a681}

/* 입주·이사·거주청소 공통 가전 선택 아이콘 */
.appliance-grid article {
  grid-template-columns: 48px minmax(0, 1fr);
  column-gap: 11px;
  background: linear-gradient(145deg, #ffffff, #f4fbf8);
}
.appliance-card-icon {
  grid-column: 1;
  grid-row: 1;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  object-fit: cover;
  box-shadow: 0 6px 16px rgba(18, 91, 75, .1);
}
.appliance-grid article > div:first-of-type {
  grid-column: 2;
  min-width: 0;
}
.appliance-grid article > .counter {
  grid-column: 1 / -1;
}

/* 청소 종류별 첫 선택 위치를 마스코트가 잠깐 안내합니다. */
#homeStructureSection,
#officeTypeSection {
  position: relative;
  overflow: visible;
}
.space-mascot-guide {
  position: absolute;
  z-index: 12;
  top: 12px;
  right: 18px;
  display: flex;
  align-items: flex-end;
  gap: 5px;
  opacity: 0;
  pointer-events: none;
  transform: translate(18px, 12px) scale(.55);
  transform-origin: right bottom;
  filter: drop-shadow(0 10px 15px rgba(10, 77, 64, .18));
}
.space-mascot-guide[hidden] { display: none; }
.space-mascot-guide.is-showing { animation: space-guide-pop 4.8s cubic-bezier(.22, .9, .3, 1) both; }
.space-mascot-guide img {
  width: 72px;
  height: 80px;
  object-fit: contain;
  transform-origin: 55% 90%;
  animation: space-mascot-wave .7s .45s ease-in-out 2;
}
.space-mascot-guide__bubble {
  position: relative;
  width: 225px;
  margin-bottom: 43px;
  padding: 10px 13px;
  border: 2px solid #22a789;
  border-radius: 15px;
  background: rgba(255, 255, 255, .98);
  color: #075d51;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.42;
  box-shadow: 0 8px 24px rgba(8, 94, 77, .13);
}
.space-mascot-guide__bubble::after {
  content: "";
  position: absolute;
  right: -9px;
  bottom: 10px;
  width: 15px;
  height: 15px;
  border-right: 2px solid #22a789;
  border-bottom: 2px solid #22a789;
  background: #fff;
  transform: rotate(-38deg) skew(-12deg);
}
@keyframes space-guide-pop {
  0% { opacity: 0; transform: translate(20px, 15px) scale(.5); }
  11% { opacity: 1; transform: translate(-2px, -3px) scale(1.08); }
  17%, 78% { opacity: 1; transform: translate(0, 0) scale(1); }
  88% { opacity: 1; transform: translate(0, -4px) scale(1.03); }
  100% { opacity: 0; transform: translate(16px, -10px) scale(.62); }
}
@keyframes space-mascot-wave {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(-7deg) translateY(-3px); }
}

@media (max-width: 620px) {
  .space-mascot-guide {
    position: relative;
    top: auto;
    right: auto;
    justify-content: flex-end;
    align-items: center;
    min-height: 70px;
    margin: -5px 0 7px;
    transform-origin: right center;
  }
  .space-mascot-guide img {
    width: 59px;
    height: 66px;
  }
  .space-mascot-guide__bubble {
    width: min(204px, calc(100vw - 146px));
    margin-bottom: 0;
    padding: 9px 11px;
    font-size: 12px;
  }
  .appliance-grid article {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 7px 8px;
  }
  .appliance-card-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .space-mascot-guide.is-showing { animation-duration: 5.4s; }
  .space-mascot-guide img { animation: none; }
}

/* 휴대폰에서는 방·욕실 수량을 오른쪽에 붙여 카드 높이를 줄입니다. */
@media (max-width: 620px) {
  #homeStructureSection .counter-grid article.compact-room-counter {
    grid-template-columns: 40px minmax(0, 1fr) auto;
    gap: 9px;
    min-height: 68px;
    padding: 10px 11px;
  }

  #homeStructureSection .compact-room-counter > .counter {
    grid-column: 3;
    display: grid;
    grid-template-columns: 32px minmax(18px, auto) auto 32px;
    gap: 4px;
    margin: 0;
    padding: 0;
    border-top: 0;
  }

  #homeStructureSection .compact-room-counter > .counter button {
    width: 32px;
    height: 32px;
  }

  #homeStructureSection .compact-room-counter > .counter output {
    min-width: 18px;
    font-size: 16px;
  }
}
