/* 불멍구들 새 섹션 전용 모양 (2026-10-21)
   styles.css 는 미리 만들어 둔 Tailwind 라서 새 클래스가 안 먹습니다.
   그래서 새 섹션에만 쓰는 모양을 이 파일에 이름 붙여 모았습니다.
   색은 styles.css 의 색 변수(--ink, --paper, --paper-2, --ember, --line, --line-strong, --ink-soft)를 그대로 씁니다.
   index.html 의 head 에 styles.css 다음 줄로 넣어 주세요.
   <link rel="stylesheet" href="assets/sections.css?v=20261021"> */

/* ---------- 공통: 제목 줄바꿈을 고르게 ---------- */
.balance{text-wrap:balance;word-break:keep-all}

/* ---------- 공통: 옆으로 밀어 보기 안내 ---------- */
.swipe-hint{margin-top:18px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.14em;color:var(--ink-soft)}
.swipe-hint--light{color:rgba(246,241,232,.6)}
@media (min-width:768px){.swipe-hint{display:none}}
@media (min-width:768px) and (max-width:1099px){.swipe-hint--fs{display:block}}

/* ---------- 1) 약속 띠 (trust.html) ---------- */
.trust-head{border-bottom:1px solid rgba(246,241,232,.3)}
.trust-grid{margin:40px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(246,241,232,.22);border:1px solid rgba(246,241,232,.22)}
.trust-cell{min-width:0;background:var(--ink);padding:22px 18px 24px;display:flex;flex-direction:column;gap:8px}
.trust-cell--wide{grid-column:span 2}
.trust-label{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.16em;color:#e8b48f}
.trust-key{font-size:26px;font-weight:800;line-height:1.12;letter-spacing:-.03em;color:#f6f1e8;word-break:keep-all}
.trust-key--mono{font-family:JetBrains Mono,ui-monospace,monospace;font-size:19px;font-weight:700;letter-spacing:-.01em}
.trust-desc{font-size:13.5px;line-height:1.7;color:rgba(246,241,232,.76);word-break:keep-all}
.trust-patent{display:flex;gap:16px;align-items:flex-start}
.trust-patent-thumb{flex:none;display:block;width:76px;border:1px solid rgba(246,241,232,.45);background:#2a2722;transition:border-color .2s}
.trust-patent-thumb img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}
.trust-patent-thumb:hover,.trust-patent-thumb:focus-visible{border-color:#e8b48f}
.trust-patent-body{min-width:0;display:flex;flex-direction:column;gap:8px}
.trust-more{align-self:flex-start;font-size:13px;font-weight:700;color:#f6f1e8;text-decoration:none;border-bottom:1px solid rgba(246,241,232,.5);padding-bottom:2px;transition:color .2s,border-color .2s}
.trust-more:hover{color:#e8b48f;border-color:#e8b48f}
@media (min-width:640px){.trust-cell{padding:26px 24px 28px}.trust-key{font-size:30px}.trust-key--mono{font-size:21px}.trust-desc{font-size:14px}}
@media (min-width:1024px){.trust-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.trust-cell--wide{grid-column:auto}.trust-cell{padding:30px 28px 32px}}

/* ---------- 2) 주문부터 설치까지 (process.html) ---------- */
.process-steps{margin:56px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr;border-top:1px solid var(--ink)}
.process-step{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:14px;row-gap:6px;padding:26px 0 28px;border-bottom:1px solid var(--line)}
.process-num{grid-row:span 3;font-size:34px;font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--ember)}
.process-tag{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.16em;color:var(--ember)}
.process-title{font-size:20px;font-weight:800;line-height:1.35;letter-spacing:-.03em;word-break:keep-all}
.process-desc{font-size:14.5px;line-height:1.75;color:var(--ink-soft);word-break:keep-all}
@media (min-width:1024px){
  .process-steps{grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid var(--line)}
  .process-step{display:flex;flex-direction:column;gap:10px;padding:30px 22px 34px;border-bottom:0;border-left:1px solid var(--line)}
  .process-step:first-child{border-left:0;padding-left:0}
  .process-step:last-child{padding-right:0}
  .process-num{font-size:40px;margin-bottom:6px}
  .process-desc{font-size:14px}
}
.process-foot{isolation:isolate;margin-top:40px;display:grid;gap:22px}
@media (min-width:1024px){.process-foot{grid-template-columns:1.1fr .9fr;align-items:stretch}}
.process-eta{position:relative;margin:0 7px 7px 0;border:1px solid var(--ink);background:var(--paper-2);padding:24px 22px 26px}
.process-eta::after{content:"";position:absolute;inset:0;transform:translate(7px,7px);border:1px solid var(--ember);z-index:-1}
.process-eta-label{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.16em;color:#a8431f}
.process-eta-date{margin-top:10px;font-size:22px;font-weight:800;line-height:1.35;letter-spacing:-.03em;word-break:keep-all}
.process-eta-date strong{color:var(--ember);font-weight:800}
.process-eta-note{margin-top:12px;font-size:13.5px;line-height:1.7;color:var(--ink-soft);word-break:keep-all}
@media (min-width:768px){.process-eta{padding:30px 30px 32px}.process-eta-date{font-size:28px}}
.process-blog{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line-strong);background:var(--paper);padding:22px 22px 24px;color:var(--ink);text-decoration:none;transition:border-color .2s,background .2s}
.process-blog:hover{border-color:var(--ink);background:var(--paper-2)}
.process-blog-tag{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.14em;color:#a8431f}
.process-blog-title{font-size:17px;font-weight:700;line-height:1.5;letter-spacing:-.01em;word-break:keep-all}
.process-blog-desc{font-size:13.5px;line-height:1.7;color:var(--ink-soft);word-break:keep-all}
.process-blog-go{margin-top:auto;padding-top:6px;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line-strong)}

/* ---------- 3) 자주 묻는 질문 (faq.html) ---------- */
@media (min-width:1024px){.faq-side{position:sticky;top:104px;align-self:start}}
.faq-list{border-top:1px solid var(--ink)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{list-style:none;cursor:pointer;display:grid;grid-template-columns:34px minmax(0,1fr) 22px;align-items:start;gap:10px;padding:20px 0;font-size:16px;font-weight:700;line-height:1.5;letter-spacing:-.015em;word-break:keep-all;transition:color .2s}
.faq-q::-webkit-details-marker{display:none}
.faq-q::marker{content:""}
.faq-q:hover{color:var(--ember)}
.faq-q:focus-visible{outline:2px solid var(--ember);outline-offset:2px}
.faq-num{padding-top:3px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;font-weight:400;letter-spacing:.08em;color:var(--ember)}
.faq-icon{position:relative;width:22px;height:22px;margin-top:1px}
.faq-icon::before,.faq-icon::after{content:"";position:absolute;left:4px;right:4px;top:10px;height:2px;background:currentColor;transition:transform .25s}
.faq-icon::after{transform:rotate(90deg)}
.faq-item[open] .faq-icon::after{transform:rotate(0deg)}
.faq-item[open] .faq-q{color:var(--ember)}
.faq-a{padding:0 32px 24px 44px}
.faq-a p{max-width:60ch;font-size:15px;line-height:1.8;color:var(--ink-soft);word-break:keep-all}
@media (max-width:480px){.faq-q{grid-template-columns:28px minmax(0,1fr) 22px;font-size:15.5px}.faq-a{padding:0 0 22px 38px}}
.faq-contact{margin-top:28px;font-size:15px;font-weight:600;line-height:1.7;word-break:keep-all}
.faq-contact a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:4px;transition:color .2s}
.faq-contact a:hover{color:var(--ember)}

/* ---------- 5) 개인정보 동의 칸 (privacy_form_note.html) ---------- */
.agree-box{border:1px solid var(--line-strong);background:var(--paper);padding:16px 16px 14px}
.agree-title{font-size:13px;font-weight:700;letter-spacing:.02em}
.agree-list{margin:10px 0 0;display:grid;gap:6px}
.agree-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;font-size:13px;line-height:1.6}
.agree-row dt{color:var(--ink-soft)}
.agree-row dd{margin:0;word-break:keep-all}
.agree-note{margin-top:10px;font-size:12.5px;line-height:1.65;color:var(--ink-soft);word-break:keep-all}
.agree-note a{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong)}
.agree-note a:hover{color:var(--ember)}
.agree-check{margin-top:12px;display:flex;align-items:center;gap:10px;padding-top:12px;border-top:1px solid var(--line);font-size:14px;font-weight:700;cursor:pointer}
.agree-check input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--ember);cursor:pointer}
.agree-check input:focus-visible{outline:2px solid var(--ember);outline-offset:2px}

/* ---------- 6) 개인정보처리방침 쪽, 7) 404 쪽 ---------- */
.policy-doc{max-width:780px}
.policy-doc h2{margin-top:56px;padding-bottom:10px;border-bottom:1px solid var(--ink);font-size:21px;font-weight:800;letter-spacing:-.03em;line-height:1.4}
.policy-doc h3{margin-top:22px;font-size:16px;font-weight:700}
.policy-doc p,.policy-doc li{font-size:15px;line-height:1.8;color:var(--ink-soft);word-break:keep-all}
.policy-doc p{margin-top:14px}
.policy-doc ul{margin-top:12px;padding-left:20px;list-style:disc}
.policy-doc li+li{margin-top:6px}
.policy-doc a{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:4px}
.policy-doc a:hover{color:var(--ember)}
.policy-doc strong{color:var(--ink);font-weight:700}
.policy-table-wrap{margin-top:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.policy-table{width:100%;min-width:520px;border-collapse:collapse;font-size:14px;line-height:1.65}
.policy-table th,.policy-table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;word-break:keep-all}
.policy-table thead th{border-bottom:1px solid var(--ink);font-size:13px;font-weight:700;color:var(--ink)}
.policy-table tbody th{font-weight:700;color:var(--ink);white-space:nowrap}
.policy-table td{color:var(--ink-soft)}
@media (max-width:600px){
  .policy-table{min-width:0}
  .policy-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .policy-table tbody tr{display:block;padding:12px 0;border-bottom:1px solid var(--line)}
  .policy-table tbody tr:first-child{border-top:1px solid var(--ink)}
  .policy-table tbody th,.policy-table td{display:block;padding:3px 0;border:0;white-space:normal}
  .policy-table tbody th{font-size:15px;margin-bottom:4px}
  .policy-table td::before{content:attr(data-label);display:block;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--ink)}
}
.policy-meta{margin-top:18px;display:inline-block;border:1px solid var(--line-strong);padding:8px 12px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;letter-spacing:.08em;color:var(--ink-soft)}
.policy-contact{margin-top:16px;border-top:1px solid var(--ink)}
.policy-contact div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:15px}
.policy-contact dt{color:var(--ink-soft);font-size:13px;font-weight:700;letter-spacing:.08em}
.policy-contact dd{margin:0;font-weight:700}
.footer-links{display:flex;flex-wrap:wrap;gap:6px 18px}
.nf-wrap{min-height:58vh;display:flex;flex-direction:column;justify-content:center}
.nf-code{font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;letter-spacing:.24em;color:var(--ember)}
.nf-actions{isolation:isolate;margin-top:40px;display:flex;flex-direction:column;gap:18px;max-width:420px}
@media (min-width:640px){.nf-actions{flex-direction:row;flex-wrap:wrap;align-items:center;max-width:none;gap:22px}}
.nf-actions .hero-call{justify-content:center}

/* ---------- 8) 영천 현장 (yeongcheon.html) ---------- */
.yc-strip{margin:44px -24px 0;padding:0 24px 6px;list-style:none;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:24px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.yc-item{flex:0 0 80%;scroll-snap-align:start;min-width:0}
.yc-item figure{margin:0}
.yc-photo{overflow:hidden;background:var(--paper-2)}
.yc-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .7s}
.yc-item:hover .yc-photo img{transform:scale(1.03)}
.yc-cap{margin-top:12px;display:flex;align-items:baseline;gap:10px;font-size:15px;font-weight:700;line-height:1.5;letter-spacing:-.015em;word-break:keep-all}
.yc-num{flex:none;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;font-weight:400;letter-spacing:.12em;color:var(--ember)}
@media (min-width:768px){
  .yc-strip{margin:52px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;row-gap:40px;overflow:visible;scroll-snap-type:none}
  .yc-item{flex:none}
}

/* ---------- 9) 불 때는 순서 9단계 (firesteps.html) ---------- */
.fs-inner{padding-top:56px;padding-bottom:88px}
@media (min-width:768px){.fs-inner{padding-top:64px;padding-bottom:112px}}
.fs-strip{margin:28px -24px 0;padding:0 24px 6px;list-style:none;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:24px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.fs-item{flex:0 0 58%;scroll-snap-align:start;min-width:0}
.fs-photo{position:relative;overflow:hidden;background:var(--paper);border:1px solid var(--line)}
.fs-photo img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.fs-num{position:absolute;left:0;top:0;min-width:28px;padding:5px 7px;background:var(--ink);color:var(--paper);font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;line-height:1;text-align:center}
.fs-cap{margin-top:10px;font-size:13.5px;font-weight:700;line-height:1.5;letter-spacing:-.01em;word-break:keep-all}
.fs-note{margin-top:28px;max-width:60ch;border-left:2px solid var(--ember);padding-left:12px;font-size:14px;line-height:1.7;color:var(--ink);word-break:keep-all}
@media (min-width:768px){.fs-strip{margin:32px -40px 0;padding:0 40px 6px;scroll-padding-inline:40px}.fs-item{flex-basis:30%}}
@media (min-width:1100px){
  .fs-strip{margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:12px;overflow:visible;scroll-snap-type:none}
  .fs-item{flex:none}
  .fs-cap{font-size:13px}
}

/* 넓은 화면: 방문 예약 사진이 칸을 채우게 (양식이 길어져도 사진 아래 빈칸 없이, 설명 띠는 사진 위) */
@media (min-width:1024px){#visit>.grid>.relative img{height:100%;aspect-ratio:auto}}
/* 휴대폰 메뉴: 오른쪽 끝을 흐리게 해서 옆으로 더 있다는 것을 보여 줌 */
.m-nav{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
