:root{--purple:#7251ed;--purple-dark:#5632ce;--yellow:#ffe46b;--ink:#18152a;--muted:#706d7d;--border:#e6e1ef;--shadow:0 22px 55px rgba(26,19,64,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'Noto Sans KR',system-ui,-apple-system,sans-serif;background:#fff;font-size:15px;line-height:1.6}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit;text-decoration:none}.wrap{max-width:1300px;margin:0 auto;padding:0 30px}.skip{position:absolute;left:-9999px;top:0}.skip:focus{left:10px;top:10px;background:#fff;z-index:99}.topbar{position:relative;z-index:5;background:#fff;border-bottom:1px solid #f0edf4}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:24px;font-weight:900;white-space:nowrap;letter-spacing:-1.5px}.brand-symbol{display:inline-grid;place-items:center;background:var(--purple);color:var(--yellow);width:32px;height:32px;border-radius:11px;margin-right:8px;font-size:23px}.brand-purple{color:var(--purple)}.nav-links{display:flex;gap:28px;font-size:14px;font-weight:700}.nav-links a:hover{color:var(--purple)}.nav-cta{display:inline-block;padding:12px 18px;background:var(--purple);color:white;font-weight:800;border-radius:14px;font-size:13px}.nav-cta:hover,.btn-next:hover{background:var(--purple-dark)}.hero{position:relative;min-height:700px;overflow:hidden;background:#e2ecf6}.hero-photo,.hero-shade{position:absolute;inset:0}.hero-photo{background:url('/assets/hero.webp') center center/cover no-repeat}.hero-shade{background:linear-gradient(90deg,rgba(255,255,255,.84) 0%,rgba(255,255,255,.71) 36%,rgba(255,255,255,.46) 65%,rgba(255,255,255,.3) 100%)}.hero-inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,485px);gap:7%;align-items:center;padding-top:58px;padding-bottom:65px;min-height:700px}.hero-copy{padding-bottom:25px}.eyebrow{display:inline-flex;background:rgba(255,255,255,.84);padding:8px 15px;border-radius:30px;color:#6340c6;font-size:13px;font-weight:800;box-shadow:0 8px 25px #7773a01a}.hero h1{font-weight:900;font-size:clamp(38px,3.65vw,62px);line-height:1.25;letter-spacing:-2.4px;margin:27px 0}.hero h1 em{color:var(--purple);font-style:normal;text-shadow:2px 3px 0 #e8dffe}.hero-desc{font-size:18px;color:#332e45;margin:0 0 22px}.hero-chips{display:flex;gap:9px;flex-wrap:wrap}.hero-chips span{background:#fff;border:1px solid #e9e4f1;border-radius:30px;padding:7px 12px;font-weight:800;font-size:13px;box-shadow:0 5px 20px #2733610b}.hero-small{margin-top:23px;color:#5f5c66;font-weight:700;font-size:13px}.wizard{background:#fff;border:1px solid rgba(236,230,245,.9);box-shadow:var(--shadow);border-radius:28px;padding:24px 25px 17px;min-height:575px;display:flex;flex-direction:column;scroll-margin-top:16px}.wizard-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#8b8398;font-weight:800}.wizard-label{background:#f0eaff;color:#6a40d7;border-radius:40px;padding:5px 10px}.progress-track{height:5px;border-radius:5px;background:#efeaf7;margin-top:14px;overflow:hidden}.progress-track>span{display:block;height:100%;background:linear-gradient(90deg,var(--purple),#b685ff);width:7.7%;border-radius:5px;transition:width .25s}.wizard-body{padding:24px 1px 12px;flex:1}.q-headline{font-size:24px;font-weight:900;letter-spacing:-1px;line-height:1.4;margin:0}.q-help{color:var(--muted);font-size:13px;margin:6px 0 20px}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.option-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.option{min-height:81px;border:1.5px solid var(--border);background:#fff;border-radius:15px;padding:14px 9px;display:flex;align-items:center;justify-content:center;gap:7px;flex-direction:column;color:#221a32;font-size:13px;font-weight:800;line-height:1.35;transition:border .15s,background .15s,transform .15s}.option:hover{border-color:#a68ff1;transform:translateY(-2px)}.option.active{border:2px solid var(--purple);background:#f4efff;color:#5428d3}.option .emoji{font-size:24px}.option-grid.compact .option{min-height:56px;flex-direction:row}.wizard-footer{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #f0edf6;padding-top:15px}.btn{border:0;border-radius:13px;padding:12px 18px;font-weight:900;font-size:14px}.btn-prev{background:#f4f2f8;color:#3d3750}.btn-next{background:var(--purple);color:white;min-width:150px}.wizard-message{font-size:12px;color:#b11b51;min-height:21px;margin:8px 0 0}.wizard-summary{border-top:1px solid #f1eef6;font-size:12px;color:#756b87}.wizard-summary summary{cursor:pointer;padding:8px 0;list-style:none;display:flex;justify-content:space-between;font-weight:700}.wizard-summary summary::-webkit-details-marker{display:none}.recap{display:flex;gap:6px;flex-wrap:wrap;padding:5px 0 8px}.recap span{background:#f4f0ff;border-radius:7px;padding:3px 7px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;margin-bottom:14px}.field input,.field select,.field textarea{width:100%;min-height:49px;border:1px solid var(--border);border-radius:12px;background:#fff;padding:11px 12px;color:var(--ink);outline:none}.field :is(input,select,textarea):focus{border-color:var(--purple);box-shadow:0 0 0 3px #7351ed20}.field textarea{resize:vertical}.counter-list{display:flex;flex-direction:column;gap:8px}.counter-item{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee9f5;padding:8px 0;gap:12px;font-weight:700}.counter-controls{display:flex;align-items:center;gap:14px}.round-btn{width:34px;height:34px;border-radius:50%;border:0;background:#eae3fb;color:var(--purple);font-size:22px;line-height:1}.counter-value{min-width:16px;text-align:center;font-weight:900}.area-box{text-align:center;padding:16px;border-radius:20px;background:#f7f4ff;display:flex;justify-content:center;gap:18px;align-items:center;margin:20px 0}.area-box input{width:90px;text-align:center;border:1px solid #b4a3f3;border-radius:12px;height:58px;font-size:27px;font-weight:900}.hint-panel{background:#f6f4fd;border-radius:12px;color:#6b5d81;font-size:12px;padding:12px;margin-top:14px}.date-choice{margin-top:6px}.checkline{display:flex;gap:8px;align-items:flex-start;margin:9px 0;font-size:12px;color:#625b73;cursor:pointer}.checkline input{accent-color:var(--purple);margin-top:4px}.legal-note{font-size:11px;color:#706a7b;line-height:1.65}.legal-note a{color:#6742d6;text-decoration:underline}.success-box{text-align:center;padding:25px 10px}.success-icon{width:70px;height:70px;background:#eefff3;color:#21a05c;display:grid;place-items:center;border-radius:50%;font-size:34px;margin:0 auto 12px}.mode-pill{font-size:11px;color:#8b6120;background:#fff5d7;border-radius:6px;padding:4px 7px;margin-top:4px;display:inline-block}.turnstile-container{min-height:0;margin-top:10px}.section-kicker{font-size:12px;font-weight:900;letter-spacing:2px;color:var(--purple);margin-bottom:12px}.service-strip{text-align:center;padding-top:90px;padding-bottom:95px}.service-strip h2,.benefits h2,.faq-section h2,.work-content h2{font-weight:900;font-size:clamp(27px,3vw,38px);letter-spacing:-1.5px;margin:0}.service-strip mark{color:var(--purple);background:#eee8ff;border-radius:8px;padding:0 6px}.section-lead{color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px;text-align:left}.service-card{background:#f8f7ff;border:1px solid #efebfc;border-radius:23px;padding:28px 24px;transition:transform .2s}.service-card:hover{transform:translateY(-3px)}.service-icon{font-size:34px}.service-card h3{font-size:19px;margin:8px 0}.service-card p{margin:0;color:var(--muted);font-size:13px}.lucky-banner{background:#ffe888;border-radius:32px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative;min-height:330px;padding-top:28px;padding-bottom:20px}.lucky-banner>div{padding:0 40px;z-index:1}.lucky-banner .section-kicker{color:#745800}.lucky-banner h2{font-size:clamp(30px,4vw,47px);font-weight:900;letter-spacing:-1.5px;margin:2px 0 14px;line-height:1.3}.lucky-banner h2 span{color:#7051d8}.lucky-banner p{color:#53451d;font-size:15px}.lucky-banner img{width:340px;height:320px;object-fit:contain;margin-right:35px}.banner-link{background:#221b38;color:#fff;display:inline-block;font-weight:800;padding:11px 17px;border-radius:13px;margin-top:6px;font-size:13px}.benefits{text-align:center;padding-top:100px;padding-bottom:100px}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:40px;text-align:left}.benefit-grid article{padding:23px;background:#f7f8fc;border-radius:22px}.benefit-number{font-size:32px;font-weight:900;color:var(--purple)}.benefit-grid h3{font-size:17px;margin:9px 0}.benefit-grid p{font-size:13px;color:var(--muted);margin:0}.work-section{background:#f1efff}.work-content{display:grid;grid-template-columns:1fr 300px;align-items:center;gap:25px;padding-top:60px;padding-bottom:50px}.work-content p{color:var(--muted)}.work-content img{width:270px;max-width:100%;justify-self:end}.work-placeholder{max-width:460px;border:2px dashed #d8cdf5;background:#fff;border-radius:19px;padding:20px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.work-placeholder span{font-size:25px}.work-placeholder small{flex-basis:100%;color:var(--muted)}.faq-section{padding-top:90px;padding-bottom:95px}.faq-list{margin-top:28px;border-top:1px solid #e8e5ec}.faq-list details{border-bottom:1px solid #e8e5ec;padding:20px 3px}.faq-list summary{font-size:16px;font-weight:800;cursor:pointer}.faq-list p{color:var(--muted);line-height:1.9;margin:9px 0 0}.bottom-cta{background:var(--purple);color:#fff}.bottom-cta .wrap{padding-top:35px;padding-bottom:35px;display:flex;align-items:center;justify-content:space-between;gap:15px}.bottom-cta span{font-size:13px;color:#e0d5ff}.bottom-cta h2{font-size:25px;margin:3px 0 0}.bottom-cta a{background:var(--yellow);color:#221b3a;border-radius:13px;padding:13px 20px;font-weight:900;white-space:nowrap}footer{background:#191626;color:#d9d5e4}.footer-inner{padding-top:38px;padding-bottom:40px;display:flex;justify-content:space-between;gap:25px}.footer-inner b{font-size:20px;color:#fff}.footer-inner p{font-size:13px;margin:7px 0}.footer-note{color:#a6a0b2}.footer-inner>div:last-child{display:flex;gap:15px;font-size:12px;align-items:start}input[type=checkbox]{accent-color:var(--purple)}:focus-visible{outline:3px solid #d8c4ff;outline-offset:2px}
@media(max-width:1050px){.nav-links{gap:13px}.hero-inner{gap:20px;grid-template-columns:1fr 450px}.hero h1{font-size:41px}.hero-desc{font-size:15px}.service-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.wrap{padding-left:20px;padding-right:20px}.nav{height:68px}.nav-links{display:none}.brand{font-size:21px}.hero-inner{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-top:32px;padding-bottom:42px}.hero-copy{padding-bottom:5px}.hero h1{font-size:39px;margin:19px 0}.hero-desc{font-size:15px}.hero-small{margin-top:14px}.wizard{min-height:490px;width:100%;max-width:560px;margin:0 auto}.hero-shade{background:linear-gradient(#ffffffe3,#ffffffad)}.service-strip{padding-top:65px;padding-bottom:65px}.service-grid{grid-template-columns:repeat(2,1fr)}.lucky-banner img{width:210px;height:230px}.lucky-banner>div{padding:10px}.benefit-grid{grid-template-columns:repeat(2,1fr)}.bottom-cta .wrap{flex-wrap:wrap}.work-content{grid-template-columns:1fr 200px}}
@media(max-width:520px){.wrap{padding-left:15px;padding-right:15px}.nav-cta{padding:10px;font-size:12px}.brand{font-size:19px}.brand-symbol{height:28px;width:28px;font-size:19px}.eyebrow{font-size:11px}.hero h1{font-size:35px;letter-spacing:-1.5px}.hero-desc{font-size:14px}.wizard{padding:18px 16px 12px;border-radius:21px;min-height:505px}.q-headline{font-size:21px}.option-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.option{min-height:75px}.field-row{grid-template-columns:1fr}.service-grid{gap:9px}.service-card{padding:18px 14px}.service-card h3{font-size:16px}.lucky-banner{padding-top:27px;padding-bottom:0;display:block;text-align:left}.lucky-banner>div{padding:0 5px}.lucky-banner h2{font-size:30px}.lucky-banner img{display:block;width:210px;height:170px;object-position:center top;margin:0 auto}.benefit-grid{gap:9px}.benefit-grid article{padding:17px}.work-content{display:block}.work-content img{max-width:190px;display:block;margin:12px auto 0}.bottom-cta h2{font-size:20px}.footer-inner{flex-direction:column}.footer-inner>div:last-child{flex-wrap:wrap}}

/* 대박기원클린 황금나무 로고 */

.brand {
  display: inline-flex;
  align-items: center;
}

.brand-logo {
  display: block;
  height: 58px;
  width: auto;
  object-fit: contain;
}

/* 모바일 로고 크기 */
@media (max-width: 520px) {
  .brand-logo {
    height: 44px;
  }
}

/* 황금나무 로고와 글씨 분리 */

.brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.brand-tree {
  width: 50px;
  height: 50px;
  object-fit: contain;
  flex-shrink: 0;
}

.brand-title {
  font-size: 26px;
  font-weight: 900;
  letter-spacing: -1.3px;
  line-height: 1;
  color: #111322;
}

.brand-title .brand-purple {
  color: #7251ED;
}

/* 모바일 */
@media (max-width: 520px) {
  .brand-tree {
    width: 40px;
    height: 40px;
  }

  .brand-title {
    font-size: 21px;
  }
}

/* 상단 네비게이션 메뉴 글씨 크기 확대 */
.nav-links {
  font-size: 18px;
  font-weight: 800;
}

/* 태블릿 화면 크기 대응 */
@media (min-width: 821px) and (max-width: 1050px) {
  .nav-links {
    font-size: 15px;
  }
}

/* 상단 전화상담 버튼 */
.nav-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  font-size: 17px;
  font-weight: 800;
  color: #ffffff;
  white-space: nowrap;
  text-decoration: none;

  padding: 13px 20px;
  border-radius: 14px;
  background: #7251ed;
}

.nav-cta:hover {
  background: #5939d5;
}

/* 모바일 */
@media (max-width: 520px) {
  .nav-cta {
    font-size: 14px;
    padding: 11px 13px;
    gap: 5px;
  }
}

/* 메인 배너 상단 문구 글씨 확대 - PC */
@media (min-width: 821px) {
  .hero .hero-copy .eyebrow {
    font-size: 20px;
  }
}

/* 메인 배너 설명 문구 확대 - PC */
@media (min-width: 821px) {
  .hero .hero-copy .hero-desc {
    font-size: 22px;
  }
}

/* 메인 배너 하단 3개 태그 글씨 확대 - PC */
@media (min-width: 821px) {
  .hero .hero-copy .hero-chips span {
    font-size: 16px;
  }
}

/* 메인 제목과 설명 문구 사이 간격 줄이기 - PC */
@media (min-width: 821px) {
  .hero .hero-copy h1 {
    margin-bottom: 10px;
  }
}

/* 메인 배너 왼쪽 전체 문구 위로 이동 - PC */
@media (min-width: 821px) {
  .hero .hero-inner .hero-copy {
    transform: translateY(-70px);
  }
}

/* 13단계 간편견적 글씨 크기 확대 - PC */
@media (min-width: 821px) {

  /* 상단 간편 무료견적 및 단계 숫자 */
  .wizard .wizard-top {
    font-size: 14px;
  }

  /* 질문 제목 */
  .wizard .q-headline {
    font-size: 26px;
  }

  /* 질문 아래 설명 문구 */
  .wizard .q-help {
    font-size: 15px;
  }

  /* 입주청소, 이사청소 등 선택 항목 */
  .wizard .option {
    font-size: 15px;
  }

  /* 이전 / 다음 단계 버튼 */
  .wizard .btn {
    font-size: 15px;
  }

  /* 지금까지 선택한 내용 보기 */
  .wizard .wizard-summary {
    font-size: 14px;
  }

}


/* =========================================
   대박기원클린 프리미엄 서비스 카드
   BLACK × GOLD × WHITE
========================================= */

/* 프리미엄 블랙 & 골드 서비스 카드 */
.service-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.service-card {
  position: relative;
  min-height: 260px;
  padding: 36px 28px;
  border-radius: 24px;
  overflow: hidden;

  background: linear-gradient(145deg, #242428 0%, #16171c 55%, #0d0e12 100%);
  border: 1px solid rgba(212, 175, 55, 0.32);

  box-shadow:
    0 14px 30px rgba(0, 0, 0, 0.14),
    inset 0 1px 0 rgba(255, 226, 161, 0.08);

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;

  color: #fff;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.service-card .service-icon {
  margin: 0 auto 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.service-card .service-icon img {
  width: 120px;
  height: 120px;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 8px 16px rgba(212, 175, 55, 0.10));
}

.service-card h3 {
  margin: 0 0 12px;
  color: #ffffff;
  font-size: 22px;
  font-weight: 900;
  line-height: 1.3;
  text-align: center;
}

.service-card p {
  margin: 0;
  color: #e2e0dd;
  font-size: 15px;
  line-height: 1.7;
  text-align: center;
}

@media (hover: hover) {
  .service-card:hover {
    transform: translateY(-6px);
    border-color: rgba(229, 191, 105, 0.65);
    box-shadow:
      0 18px 38px rgba(0, 0, 0, 0.18),
      0 0 18px rgba(212, 175, 55, 0.10);
  }
}

@media (max-width: 768px) {
  .service-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .service-card {
    min-height: 220px;
    padding: 28px 22px;
  }

  .service-card .service-icon img {
    width: 74px;
    height: 74px;
  }

  .service-card h3 {
    font-size: 20px;
  }

  .service-card p {
    font-size: 14px;
  }
}


/* ==========================================
   서비스 카드 2차 업그레이드
   3D 아이콘 확대 + 골드 테두리 + 사선 빛줄기
========================================== */

/* 카드 크기 및 클릭 효과 */
.service-card {
  min-height: 300px;
  cursor: pointer;
  isolation: isolate;
}

/* 3D 아이콘 확대 */
.service-card .service-icon {
  width: 134px;
  height: 134px;
  margin: 0 auto 12px;
}

.service-card .service-icon img {
  width: 134px;
  height: 134px;
  object-fit: contain;
}

/* 사선 골드 빛줄기 */
.service-card::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -75%;
  width: 46%;
  height: 200%;
  transform: rotate(25deg);

  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 220, 128, 0.04) 20%,
    rgba(255, 235, 171, 0.38) 50%,
    rgba(255, 220, 128, 0.08) 80%,
    transparent 100%
  );

  opacity: 0;
  pointer-events: none;
  z-index: 2;
}

/* 골드 빛줄기 이동 애니메이션 */
@keyframes gold-card-shine {
  0% {
    left: -75%;
    opacity: 0;
  }
  12% {
    opacity: 0.85;
  }
  80% {
    opacity: 0.85;
  }
  100% {
    left: 135%;
    opacity: 0;
  }
}

/* 마우스 접근 시 골드 테두리 + 빛줄기 */
@media (hover: hover) and (pointer: fine) {
  .service-card:hover {
    transform: translateY(-6px);
    border-color: #F2D38A;

    box-shadow:
      0 16px 38px rgba(0, 0, 0, 0.22),
      0 0 0 1px rgba(226, 177, 74, 0.42),
      0 0 28px rgba(224, 176, 64, 0.24),
      inset 0 0 28px rgba(195, 144, 40, 0.075);
  }

  .service-card:hover::after {
    animation: gold-card-shine 0.9s ease-in-out 1;
  }
}


/* 키보드 이용자를 위한 선택 표시 */
.service-card:focus-visible {
  outline: 3px solid #E9C66A;
  outline-offset: 4px;
}

/* 태블릿 및 모바일 */
@media (max-width: 768px) {
  .service-card {
    min-height: 260px;
  }

  .service-card .service-icon {
    width: 108px;
    height: 108px;
  }

  .service-card .service-icon img {
    width: 108px;
    height: 108px;
  }
}

/* 애니메이션 최소화 설정 존중 */
@media (prefers-reduced-motion: reduce) {
  .service-card::after {
    display: none;
  }

  .service-card {
    transition: none;
  }
}




/* =====================================
   대박기원클린 고객 후기 말풍선
===================================== */

/* 전체 후기 영역 */
.reviews-section {
  padding: 90px 20px 100px;
  background: linear-gradient(
    135deg,
    #FFF0B8 0%,
    #FFF9E8 55%,
    #FFEBAA 100%
  );
  overflow: hidden;
}

/* 후기 제목 */
.reviews-heading {
  text-align: center;
  margin-bottom: 48px;
}

.reviews-heading > span {
  display: block;
  color: #A67B27;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 2px;
}

.reviews-heading h2 {
  color: #17151B;
  font-size: clamp(28px, 3.5vw, 43px);
  font-weight: 900;
  line-height: 1.4;
  margin: 15px 0;
}

.reviews-heading h2 em {
  color: #C49A42;
  font-style: normal;
}

.reviews-heading p {
  color: #7A6B56;
  font-size: 16px;
}

/* 말풍선 배치 */
.review-chat-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-width: 950px;
  margin: 0 auto;
}

/* 말풍선 카드 */
.review-chat {
  position: relative;
  display: flex;
  align-items: center;
  gap: 22px;
  width: 88%;
  box-sizing: border-box;

  padding: 26px 32px;
  border-radius: 38px;

  background: #FFFFFF;
  border: 1px solid #E8D6A9;

  box-shadow:
    0 12px 30px rgba(125, 90, 30, 0.12);

  align-self: flex-start;
}

/* 짝수 번째 말풍선 오른쪽 정렬 */
.review-chat:nth-child(even) {
  align-self: flex-end;
  flex-direction: row-reverse;
  text-align: right;
}

/* 말풍선 꼬리 */
.review-chat::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 48px;

  width: 16px;
  height: 16px;
  background: white;

  border-right: 1px solid #E8D6A9;
  border-bottom: 1px solid #E8D6A9;
  transform: rotate(45deg);
}

.review-chat:nth-child(even)::after {
  left: auto;
  right: 48px;
}

/* 고객 프로필 아이콘 */
.review-avatar {
  width: 58px;
  height: 58px;
  flex: 0 0 58px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;
  background: linear-gradient(
    145deg,
    #FFF0B4,
    #DEB04F
  );

  color: #9F741E;
  font-size: 28px;
}

/* 후기 글씨 */
.review-copy {
  flex: 1;
  min-width: 0;
}

.review-copy strong {
  display: block;
  margin-bottom: 10px;
  color: #A57926;
  font-size: 16px;
  font-weight: 900;
}

.review-copy p {
  margin: 0;
  color: #282323;
  font-size: 16px;
  line-height: 1.75;
  word-break: keep-all;
}

/* 예시 후기 안내 */
.reviews-sample-note {
  text-align: center;
  margin-top: 35px;
  color: #85745E;
  font-size: 12px;
}

/* =====================================
   순차 등장 애니메이션
===================================== */

.reviews-section.reviews-motion .review-chat {
  opacity: 0;
  transform: translate(-40px, 25px);

  transition:
    opacity 0.7s ease,
    transform 0.75s ease;

  transition-delay: var(--delay, 0ms);
}

.reviews-section.reviews-motion
.review-chat:nth-child(even) {
  transform: translate(40px, 25px);
}

.review-chat:nth-child(1) {
  --delay: 0ms;
}

.review-chat:nth-child(2) {
  --delay: 150ms;
}

.review-chat:nth-child(3) {
  --delay: 300ms;
}

.review-chat:nth-child(4) {
  --delay: 450ms;
}

.review-chat:nth-child(5) {
  --delay: 600ms;
}

/* 등장 완료 */
.reviews-section.reviews-motion.is-visible
.review-chat {
  opacity: 1;
  transform: translate(0, 0);
}

/* 모바일 */
@media (max-width: 768px) {

  .reviews-section {
    padding: 65px 15px 75px;
  }

  .reviews-heading {
    margin-bottom: 30px;
  }

  .review-chat-list {
    gap: 20px;
  }

  .review-chat {
    width: 95%;
    padding: 20px 18px;
    border-radius: 25px;
    gap: 14px;
  }

  .review-avatar {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
    font-size: 24px;
  }

  .review-copy strong {
    font-size: 14px;
  }

  .review-copy p {
    font-size: 14px;
  }
}

/* 모션 최소화 설정 */
@media (prefers-reduced-motion: reduce) {
  .reviews-section.reviews-motion .review-chat,
  .reviews-section.reviews-motion
  .review-chat:nth-child(even) {
    opacity: 1;
    transform: none;
    transition: none;
  }
}



/* ==========================================
   고객 후기 말풍선 애니메이션 개선
========================================== */

/* 홀수 말풍선: 왼쪽에서 등장 */
.reviews-section.reviews-motion .review-chat {
  opacity: 0;

  transform:
    translate3d(-65px, 24px, 0)
    scale(0.96);

  transition:
    opacity 0.8s ease,
    transform 0.85s cubic-bezier(.2,.8,.2,1);

  transition-delay: 100ms;
}

/* 짝수 말풍선: 오른쪽에서 등장 */
.reviews-section.reviews-motion
.review-chat:nth-child(even) {

  transform:
    translate3d(65px, 24px, 0)
    scale(0.96);
}

/* 화면 진입 시 최종 위치로 이동 */
.reviews-section.reviews-motion
.review-chat.is-visible,

.reviews-section.reviews-motion
.review-chat:nth-child(even).is-visible {

  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

/* 모바일에서는 이동 거리 축소 */
@media (max-width: 768px) {

  .reviews-section.reviews-motion .review-chat {
    transform: translate3d(-25px, 15px, 0);
  }

  .reviews-section.reviews-motion
  .review-chat:nth-child(even) {
    transform: translate3d(25px, 15px, 0);
  }

  .reviews-section.reviews-motion
  .review-chat.is-visible {
    transform: translate3d(0, 0, 0);
  }
}

/* 사용자 애니메이션 최소화 설정 존중 */
@media (prefers-reduced-motion: reduce) {

  .reviews-section.reviews-motion .review-chat,
  .reviews-section.reviews-motion
  .review-chat:nth-child(even) {

    opacity: 1;
    transform: none;
    transition: none;
  }
}



/* ==========================================
   대박기원클린 3D 고객 후기 아바타
========================================== */

/* 3D 얼굴 원형 프레임 */
.review-avatar {
  width: 80px;
  height: 80px;
  min-width: 80px;
  flex: 0 0 80px;

  border-radius: 50%;
  overflow: hidden;

  background: #f1d27a;
  display: flex;
  align-items: center;
  justify-content: center;

  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
}

.review-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 두 번째 아바타는 이미지 자체에
   골드 원형 프레임이 있으므로 중복 효과 제거 */
.review-chat:nth-child(2) .review-avatar {
  background: transparent;
  box-shadow: none;
}

/* 모바일 */
@media (max-width: 768px) {

  .review-avatar {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
  }

  .review-chat {
    gap: 14px;
  }

}



/* 얼굴 확대 + 말풍선 높이 유지 */

/* 말풍선 높이 고정 */
.review-chat {
  height: 116px;
  box-sizing: border-box;
  padding-top: 10px;
  padding-bottom: 10px;
}

/* 얼굴 이미지만 30% 확대 */
.review-avatar {
  transform: scale(1.3);
}

/* 모바일 */
@media (max-width: 768px) {
  .review-chat {
    height: auto;
    min-height: 116px;
  }

  .review-avatar {
    transform: scale(1.15);
  }
}


/* 청소 시공사례 슬라이드 */

.work-section {
  background: #FAF9F6;
  padding: 80px 0;
}

.works-gallery__header {
  text-align: center;
  margin-bottom: 38px;
}

.works-gallery__header span {
  color: #B68B3A;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 2px;
}

.works-gallery__header h2 {
  color: #111126;
  font-size: clamp(26px, 3vw, 38px);
  margin: 15px 0;
  font-weight: 900;
}

.works-gallery__header p {
  color: #777;
  font-size: 15px;
}

/* 사진 슬라이더 */
.works-gallery__track {
  display: flex;
  gap: 18px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.works-gallery__track::-webkit-scrollbar {
  display: none;
}

.works-gallery__item {
  flex: 0 0 calc((100% - 36px) / 3);
  min-width: 0;
  scroll-snap-align: start;
}

.works-gallery__item img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: contain;
  border-radius: 18px;
}

.works-gallery__item h3 {
  font-size: 18px;
  font-weight: 800;
  margin: 15px 0 6px;
  color: #171727;
}

.works-gallery__item p {
  font-size: 14px;
  color: #888;
  margin: 0;
}

/* 좌우 버튼 */
.works-gallery__controls {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 24px;
}

.works-gallery__controls button {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid #D7C7A5;
  background: #FFFFFF;
  color: #222;
  cursor: pointer;
  font-size: 18px;
}

.works-gallery__controls button:hover {
  background: #D4AF55;
  color: #FFFFFF;
}

/* 태블릿 */
@media (max-width: 1024px) {
  .works-gallery__item {
    flex-basis: calc((100% - 18px) / 2);
  }
}

/* 모바일 */
@media (max-width: 760px) {
  .work-section {
    padding: 55px 0;
  }

  .works-gallery__item {
    flex-basis: 100%;
  }
}



/* PC 우측 간편견적 플로팅 */

.pc-quick {
  position: fixed;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9999;
}

.pc-quick__toggle {
  width: 66px;
  min-height: 150px;
  border: 1px solid #E7BD64;
  border-radius: 18px;
  background: linear-gradient(145deg,#272629,#101013);
  color: #F5D583;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.6;
  cursor: pointer;
  box-shadow: 0 8px 25px rgba(0,0,0,.22);
}

.pc-quick__toggle span {
  display: block;
  text-align: center;
}

.pc-quick__toggle span:first-child {
  font-size: 28px;
  margin-bottom: 5px;
}

.pc-quick__toggle:hover {
  border-color: #FFE5A0;
  box-shadow: 0 0 22px rgba(221,173,64,.38);
}

/* 펼쳐지는 문의창 */
.pc-quick__panel {
  position: absolute;
  width: 360px;
  max-height: calc(100dvh - 40px);
  overflow-y: auto;
  box-sizing: border-box;
  right: 80px;
  top: 50%;
  transform: translateY(-50%);

  padding: 24px;
  border-radius: 22px;
  background: #19191D;
  border: 1px solid #C6A054;
  box-shadow: 0 18px 45px rgba(0,0,0,.3);
  color: #FFFFFF;
}

.pc-quick__panel[hidden] {
  display: none;
}

.pc-quick__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 22px;
}

.pc-quick__head h3 {
  margin: 0;
  font-size: 23px;
  color: #E8C56E;
}

.pc-quick__head button {
  background: transparent;
  color: #FFFFFF;
  border: 0;
  font-size: 22px;
  cursor: pointer;
}

.pc-quick__form > label:not(.pc-quick__consent) {
  display: block;
  margin: 15px 0 7px;
  font-size: 14px;
  font-weight: 700;
}

.pc-quick__form > input {
  box-sizing: border-box;
  width: 100%;
  padding: 12px;
  border: 1px solid #DDD;
  border-radius: 9px;
  background: #FFFFFF;
  color: #222;
  font-size: 15px;
}

.pc-quick__fieldset {
  border: 0;
  margin: 20px 0;
  padding: 0;
}

.pc-quick__fieldset legend {
  font-size: 14px;
  font-weight: 800;
  margin-bottom: 14px;
}

.pc-quick__types {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 6px;
}

.pc-quick__types label,
.pc-quick__consent {
  display: flex;
  align-items: center;
  gap: 7px;
  cursor: pointer;
  font-size: 14px;
}

.pc-quick input[type="checkbox"] {
  accent-color: #D4AF55;
  width: 17px;
  height: 17px;
  flex-shrink: 0;
}

.pc-quick__consent {
  margin-top: 20px;
}

.pc-quick__privacy {
  display: inline-block;
  margin-top: 8px;
  color: #E8C56E;
  font-size: 12px;
}

.pc-quick__submit {
  display: block;
  width: 100%;
  margin-top: 22px;
  padding: 14px;
  border: 0;
  border-radius: 11px;
  background: #D4AF55;
  color: #17130A;
  font-size: 16px;
  font-weight: 900;
  cursor: pointer;
}

.pc-quick__submit:hover {
  background: #F0CC77;
}

.pc-quick__status {
  color: #F4D58D;
  font-size: 13px;
  line-height: 1.5;
}

.pc-quick__demo {
  color: #A9A6A0;
  font-size: 11px;
  line-height: 1.5;
  text-align: center;
}

/* 모바일에서는 숨김 */
@media (max-width: 820px) {
  .pc-quick {
    display: none;
  }
}



/* PC 간편견적 신청창 상시 고정 */

@media (min-width: 821px) {

  .pc-quick {
    position: fixed;
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
    width: 350px;
    z-index: 9999;
  }

  /* 기존 접이식 버튼 숨김 */
  .pc-quick__toggle {
    display: none;
  }

  /* 신청창 항상 표시 */
  .pc-quick__panel {
    position: static;
    display: block;
    width: 100%;
    max-height: calc(100dvh - 40px);
    overflow-y: auto;
    transform: none;
  }

  /* 닫기 버튼 숨김 */
  .pc-quick__head button {
    display: none;
  }
}



/* PC 간편견적: 배너 아래부터 표시 + 크기 축소 */
@media (min-width: 821px) {
  .pc-quick {
    position: fixed;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 250px;
    z-index: 9999;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s;
  }

  .pc-quick.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .pc-quick__toggle {
    display: none;
  }

  .pc-quick__panel {
    position: static;
    display: block;
    width: 100%;
    max-height: calc(100dvh - 24px);
    overflow-y: auto;
    transform: none;
    padding: 14px;
    border-radius: 15px;
    box-sizing: border-box;
  }

  .pc-quick__head {
    margin-bottom: 10px;
  }

  .pc-quick__head h3 {
    font-size: 18px;
  }

  .pc-quick__head button {
    display: none;
  }

  .pc-quick__form > label:not(.pc-quick__consent) {
    margin: 10px 0 4px;
    font-size: 12px;
  }

  .pc-quick__form > input {
    padding: 8px 9px;
    font-size: 13px;
    border-radius: 7px;
  }

  .pc-quick__fieldset {
    margin: 12px 0;
  }

  .pc-quick__fieldset legend {
    font-size: 12px;
    margin-bottom: 8px;
  }

  .pc-quick__types {
    gap: 8px 3px;
  }

  .pc-quick__types label {
    font-size: 12px;
    gap: 5px;
  }

  .pc-quick input[type="checkbox"] {
    width: 15px;
    height: 15px;
  }

  .pc-quick__consent {
    margin-top: 10px;
    font-size: 11px;
    gap: 5px;
  }

  .pc-quick__privacy {
    margin-top: 5px;
    font-size: 11px;
  }

  .pc-quick__submit {
    margin-top: 13px;
    padding: 10px;
    font-size: 13px;
  }

  .pc-quick__status {
    margin: 5px 0 0;
    font-size: 11px;
  }

  .pc-quick__status:empty {
    display: none;
  }

  .pc-quick__demo {
    margin: 7px 0 0;
    font-size: 10px;
  }
}



/* PC 우측 간편견적 하단 빠른 상담 */

@media (min-width: 821px) {

  /* 작은 화면에서도 하단 메뉴가 보이도록 */
  .pc-quick__panel {
    max-height: calc(100dvh - 200px);
  }

  .pc-quick__contact {
    margin-top: 10px;
    padding: 4px 12px;
    background: #1C1C20;
    border: 1px solid #C6A054;
    border-radius: 15px;
    box-shadow: 0 10px 26px rgba(0,0,0,.18);
  }

  .pc-quick__contact-item {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 50px;
    padding: 7px 2px;
    border: 0;
    background: transparent;
    color: #FFFFFF;
    text-decoration: none;
    text-align: left;
    cursor: pointer;
    font-family: inherit;
  }

  .pc-quick__contact-item + .pc-quick__contact-item {
    border-top: 1px solid #474039;
  }

  .pc-quick__contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    flex-shrink: 0;
    color: #E0BB68;
    font-size: 24px;
    font-weight: 700;
  }

  .pc-quick__contact-text {
    display: flex;
    flex-direction: column;
    gap: 3px;
  }

  .pc-quick__contact-text small {
    color: #AEA9A0;
    font-size: 10px;
  }

  .pc-quick__contact-text strong {
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 800;
  }

  .pc-quick__contact-item:hover:not(:disabled) strong {
    color: #E0BB68;
  }

  .pc-quick__contact-item.is-disabled {
    opacity: .55;
    cursor: not-allowed;
  }
}



/* 고객 후기 별점 */
.review-stars {
  display: inline-block;
  color: #E2AA32;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: 2px;
  vertical-align: middle;
  white-space: nowrap;
}

/* === v2 모바일 하단 상담 고정 메뉴 === */
.mobile-contact-bar { display: none; }
.pc-quick__captcha { margin-top: 10px; overflow: hidden; }
@media (max-width: 820px) {
  body { padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)); }
  .mobile-contact-bar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 10010;
    display: grid; grid-template-columns: 1fr 1fr 1fr;
    gap: 7px; align-items: stretch;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px));
    background: #17151d;
    border-top: 1px solid rgba(224, 187, 104, .5);
    box-shadow: 0 -8px 26px rgba(23, 18, 38, .20);
  }
  .mobile-contact-bar__item {
    min-width: 0; min-height: 52px;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
    border-radius: 10px; background: #302b39; color: #fff;
    font-size: 12px; font-weight: 800; line-height: 1.2; text-align: center;
    text-decoration: none;
  }
  .mobile-contact-bar__item svg { width: 21px; height: 21px; flex: none; }
  .mobile-contact-bar__item--estimate { color: #17130a; background: #dbb45b; }
  .mobile-contact-bar__item--kakao { color: #191919; background: #fee500; }
  .mobile-contact-bar__item:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
  #quick-estimate { scroll-margin-top: 18px; }
}
@media (min-width: 821px) {
  .mobile-contact-bar { display: none !important; }
  /* Turnstile 기본 크기는 300px이므로 플로팅의 카드 폭을 확보 */
  .pc-quick { width: 250px; }
  .pc-quick__panel { max-height: calc(100dvh - 198px); }
  .pc-quick__captcha { margin-left: -3px; }
}
