*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Pretendard","Noto Sans KR",sans-serif;
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  color:var(--body);
  background:var(--base);
  word-break:keep-all;
  overflow-wrap:break-word;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin:0}
.wrap{max-width:1120px;margin:0 auto;padding:0 var(--section-pad-x)}
.section{padding:var(--section-pad-y) 0}
.label{
  display:block;
  font-size:var(--fs-label);
  letter-spacing:var(--ls-label);
  font-weight:600;
  color:var(--accent-deep);
  margin-bottom:var(--label-gap);
}
.section h2{
  font-size:var(--fs-h2);
  color:var(--ink);
  font-weight:700;
  letter-spacing:-.01em;
  margin-bottom:var(--h2-gap);
}
.section-head{text-align:center}
.section-head h2{margin-bottom:0}
/* 상세페이지 인라인 max-width:640px 블록을 wrap 안에서 가운데로 고정 (좌측 쏠림 방지) */
[style*="max-width:640px"]{margin-left:auto;margin-right:auto}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  border-radius:var(--radius-btn);
  padding:.9rem 1.8rem;
  font-weight:700;
  font-size:15px;
  border:none;
  cursor:pointer;
}
.btn--sm{padding:.6rem 1.3rem;font-size:14px}
.btn--accent{background:var(--accent);color:#fff}
.btn--kakao{background:var(--kakao);color:var(--kakao-ink)}
.btn--ghost{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.5)}
.btn--block{width:100%}

/* 01 header */
.site-header{
  position:sticky;top:0;z-index:40;
  background:rgba(255,253,248,.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.site-header__inner{
  max-width:1120px;margin:0 auto;padding:.9rem 24px;
  display:flex;align-items:center;justify-content:space-between;
}
.site-header__brand{display:flex;align-items:center;gap:.55rem;font-weight:800;color:var(--ink);font-size:17px}
.site-header__mark{width:24px;height:28px}

/* 02 hero */
.hero{
  position:relative;
  height:100vh;
  min-height:700px;
  max-height:980px;
  overflow:hidden;
  color:#fff;
}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 60%}
.hero__overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,
    rgba(30,45,38,.20) 0%,
    rgba(30,45,38,.28) 45%,
    rgba(30,45,38,.52) 100%);
}
.hero__content{
  position:absolute;z-index:2;left:50%;top:38%;transform:translate(-50%,0);
  width:100%;max-width:760px;text-align:center;padding:0 24px;
  text-shadow:0 2px 24px rgba(30,45,38,.55);
}
.hero__title{
  font-size:17px;letter-spacing:.16em;color:#FFF3DE;font-weight:700;
}
.hero__sub{
  margin-top:1.1rem;font-size:68px;line-height:1.35;font-weight:800;letter-spacing:-.01em;
}
.hero__scroll{
  margin-top:2.4rem;display:inline-flex;flex-direction:column;align-items:center;gap:.7rem;
  font-size:17px;font-weight:600;color:#fff;
}
.hero__scroll svg{width:38px;height:38px}
.hero__scroll .arrow-motion.in-view{animation:heroArrow 2.2s ease-in-out infinite}
@keyframes heroArrow{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}

/* 03 세 가지 지원 */
.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--card-gap)}
.support-card{
  border-radius:var(--radius-card);padding:var(--card-pad);
}
.support-card__icon{width:38px;height:38px;margin-bottom:1.4rem}
.support-card h3{font-size:19px;color:var(--ink);font-weight:700;margin-bottom:.5rem}
.support-card p{color:var(--sub);font-size:14px}
.support-card--restart{background:var(--pale)}
.support-card--restart .support-card__icon{color:var(--accent)}
.support-card--edu{background:var(--mint-pale)}
.support-card--edu .support-card__icon{color:var(--green)}
.support-card--clean{background:var(--gray-pale)}
.support-card--clean .support-card__icon{color:var(--sub)}

/* 04/05 full-bleed panels */
.panel{position:relative;overflow:hidden;color:#fff}
.panel__inner{
  position:relative;z-index:2;
  max-width:1120px;margin:0 auto;padding:var(--section-pad-y) var(--section-pad-x);
  display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center;
}
.panel__orb{position:absolute;border-radius:50%;background:#fff;z-index:1;pointer-events:none}
.panel--hope{background:linear-gradient(120deg,#F0821E 0%,#F5A24B 55%,#FFC27A 100%)}
.panel--hope .panel__orb--a{width:340px;height:340px;top:-120px;right:-80px;opacity:.14}
.panel--hope .panel__orb--b{width:260px;height:260px;bottom:-100px;left:-60px;opacity:.10}
.panel--return{background:linear-gradient(120deg,#1E5F45 0%,#2F7D5B 55%,#3F9670 100%)}
.panel--return .panel__orb--a{width:300px;height:300px;top:-100px;left:-80px;opacity:.08}
.panel--return .panel__orb--b{width:240px;height:240px;bottom:-90px;right:-60px;opacity:.07}
.panel--return .panel__inner{grid-template-columns:1fr 1fr}
.panel__label{font-size:15px;letter-spacing:.16em;font-weight:700;margin-bottom:.8rem}
.panel--hope .panel__label{color:#FFE9CE}
.panel--return .panel__label{color:#A8D8BF}
.panel__big{font-size:104px;line-height:.95;letter-spacing:-.045em;font-weight:800;color:#fff;margin-bottom:1.6rem}
.panel__lead{font-size:22px;line-height:1.55;margin-bottom:1.1rem}
.panel--hope .panel__lead{color:#FFF3E3}
.panel--return .panel__lead{color:#E4F3EA}
.panel__sub{font-size:16px}
.panel--hope .panel__sub{color:#FFE0BB}
.panel--return .panel__sub{color:var(--accent-soft)}
.panel__figure{display:flex;align-items:center;justify-content:center}
.panel__figure svg{width:100%;max-width:280px;height:auto}

.arrow-up-motion.in-view{animation:arrowFloat 2.4s ease-in-out infinite}
@keyframes arrowFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.ray-motion.in-view{transform-origin:center;animation:rayPulse 2.4s ease-in-out infinite}
@keyframes rayPulse{0%,100%{opacity:.85;transform:scale(1)}50%{opacity:.25;transform:scale(1.25)}}

.uturn-path{stroke-dasharray:560;stroke-dashoffset:560}
.uturn-path.in-view{animation:uturnDraw 2s ease forwards}
@keyframes uturnDraw{to{stroke-dashoffset:0}}
.ripple-motion.in-view{animation:ripple 2.2s ease-out infinite}
@keyframes ripple{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.9);opacity:0}}

/* 06 업종 카드 : 사진이 카드 전체 너비로 꽉 차게, 글씨는 아래 얇은 여백에만 */
.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--card-gap)}
.industry-card{background:#fff;border-radius:var(--radius-card);overflow:hidden}
.industry-card__photo{aspect-ratio:4/5}
.industry-card__photo img{width:100%;height:100%;object-fit:cover}
.industry-card h3{margin:1.1rem 1.3rem 0;font-size:16px;color:var(--ink);font-weight:700}
.industry-card p{color:var(--sub);font-size:12.5px;margin:.25rem 1.3rem 1.3rem}

/* 07 배너 */
.banner{background:var(--ink);color:#fff}
.banner__inner{
  max-width:1120px;margin:0 auto;padding:6.5rem var(--section-pad-x);
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.banner__title{font-size:38px;line-height:1.5;font-weight:700}
.banner__title em{font-style:normal;color:var(--accent-soft)}
.banner__sub{margin-top:1.6rem;font-size:18px;color:#A9B8AE}
.banner__cta{margin-top:2.4rem}
.banner .btn--accent{padding:20px 46px;font-size:18px}

@media (max-width:768px){
  .banner__title{font-size:27px}
}

/* 08 절차 */
.steps{background:var(--pale)}
.step-list{max-width:640px;margin:0 auto}
.step{display:flex;gap:1.4rem;position:relative}
.step:not(:last-child){padding-bottom:var(--step-gap)}
.step:not(:last-child)::before{
  content:"";position:absolute;left:21px;top:44px;bottom:0;width:2px;background:#F3DEC6;
}
.step__num{
  flex:none;width:44px;height:44px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:16px;
  background:#fff;border:2px solid var(--accent);color:var(--accent-deep);
  z-index:1;
}
.step:first-child .step__num{background:var(--accent);color:#fff;border-color:var(--accent)}
.step h3{font-size:18px;color:var(--ink);font-weight:700;margin-bottom:.3rem}
.step p{color:var(--sub);font-size:14px}

/* 09 순서 주의 */
.warning__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:2.4rem;align-items:center}
.warning__text p{margin-bottom:.9rem}
.warning__box{background:var(--pale);border-radius:var(--radius-card);padding:var(--card-pad)}
.warning__box .label{margin-bottom:.6rem}
.warning__box strong{display:block;font-size:24px;color:var(--accent-deep);font-weight:800;line-height:1.4}

/* 10 저희가 하는 일 */
.about{background:var(--gray-pale)}
.about__grid{display:grid;grid-template-columns:1fr 1.35fr;gap:2.4rem;align-items:center}
.about__photo{aspect-ratio:3/4;border-radius:var(--radius-photo);overflow:hidden}
.about__photo img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.about__body p{color:var(--body);margin-top:1rem}

/* 세부페이지 링크 카드 (홈 + 세부페이지 공용) */
.link-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--card-gap)}
.link-card{
  display:flex;align-items:center;gap:1.2rem;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-card);
  padding:2rem;
}
.link-card--accent{border-color:var(--accent);border-width:2px}
.link-card__thumb{flex:none;width:88px;height:70px}
.link-card__body{flex:1;min-width:0}
.link-card__title{font-size:17px;font-weight:700;color:var(--ink)}
.link-card__desc{margin-top:.3rem;font-size:14px;color:var(--sub)}
.link-card__arrow{flex:none;width:20px;height:20px;color:var(--sub)}
a.link-card:hover{border-color:var(--accent)}
.link-card[aria-disabled="true"]{
  pointer-events:none;opacity:.55;cursor:default;
}

/* /inc/thumbs.php 도식 색상 (메인 토큰 재사용) */
.thumb-accent{fill:var(--accent)}
.thumb-accent-line{stroke:var(--accent)}
.thumb-base{fill:var(--line)}
.thumb-base-line{stroke:var(--sub)}
.thumb-white{fill:#fff}
.thumb-ink-line{stroke:var(--ink)}
.thumb-mark{fill:var(--green)}

/* 11 FAQ */
.faq-list{max-width:760px;margin:0 auto;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item__q{
  list-style:none;
  width:100%;background:none;border:none;text-align:left;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.3rem 0;font-size:16px;font-weight:600;color:var(--ink);
}
.faq-item__q::-webkit-details-marker{display:none}
.faq-item__q .plus{
  flex:none;width:22px;height:22px;position:relative;
}
.faq-item__q .plus::before,.faq-item__q .plus::after{
  content:"";position:absolute;background:var(--accent-deep);
}
.faq-item__q .plus::before{left:0;top:50%;width:100%;height:2px;transform:translateY(-50%)}
.faq-item__q .plus::after{top:0;left:50%;width:2px;height:100%;transform:translateX(-50%);transition:transform .2s}
.faq-item[open] .faq-item__q .plus::after{transform:translateX(-50%) rotate(90deg) scale(0)}
.faq-item__a{padding:0 0 1.4rem;color:var(--body);font-size:14.5px}

/* 12 마무리 CTA */
.cta{position:relative;overflow:hidden;color:#fff;background:linear-gradient(140deg,#1E5F45 0%,#2F7D5B 55%,#3F9670 100%)}
.cta__orb--a{width:300px;height:300px;top:-100px;left:-80px;opacity:.08}
.cta__orb--b{width:240px;height:240px;bottom:-90px;right:-60px;opacity:.07}
.cta__inner{
  position:relative;z-index:2;min-height:440px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:3rem var(--section-pad-x);
}
.cta__title{font-size:34px;font-weight:800;line-height:1.5}
.cta__sub{margin-top:1rem;font-size:17px;color:#E4F3EA}
.cta__buttons{margin-top:2.2rem;display:flex;gap:.9rem;flex-wrap:wrap;justify-content:center}
.cta__note{margin-top:1.6rem;font-size:14px;color:#CFE7DA}

/* 13 footer */
.site-footer{background:var(--gray-pale);text-align:center}
.site-footer__inner{max-width:640px;margin:0 auto;padding:2.6rem 24px;font-size:13.5px;color:var(--sub)}
.site-footer__inner p{margin-top:.4rem}
.site-footer__biz{color:var(--body);font-weight:600}
.site-footer__notice{margin-top:1rem;font-size:12.5px;color:var(--sub)}

/* fixed bar */
.fixed-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:50;
  display:flex;height:56px;
  box-shadow:0 -2px 12px rgba(0,0,0,.08);
}
.fixed-bar__btn{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  font-size:12px;font-weight:700;
}
.fixed-bar__btn svg{width:20px;height:20px}
.fixed-bar__btn--call{background:var(--accent);color:#fff}
.fixed-bar__btn--sms{background:var(--ink);color:#fff}
.fixed-bar__btn--kakao{background:var(--kakao);color:var(--kakao-ink)}
body.no-fixed-bar .fixed-bar{display:none}
body:not(.no-fixed-bar){padding-bottom:56px}

/* contact page */
.contact-hero{padding:3.2rem 0 0;text-align:center}
.contact-box{
  max-width:480px;margin:2rem auto 0;padding:2.4rem;
  border:2px solid var(--accent);border-radius:var(--radius-card);
  text-align:center;
}
.contact-box__num{font-size:26px;font-weight:800;color:var(--ink)}
.contact-box__hours{margin-top:.4rem;color:var(--sub);font-size:14px}
.contact-box__buttons{margin-top:1.6rem;display:flex;flex-direction:column;gap:.8rem}
.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;max-width:900px;margin:2.6rem auto 0}
.reason-card{background:var(--gray-pale);border-radius:var(--radius-card);padding:1.6rem;text-align:center}
.reason-card h3{font-size:15px;color:var(--ink);font-weight:700;margin-bottom:.5rem}
.reason-card p{font-size:13.5px;color:var(--sub)}

/* 세부페이지 : 브레드크럼 / 페이지 헤더 */
.breadcrumb{font-size:13px;color:var(--sub)}
.breadcrumb a{color:var(--sub)}
.breadcrumb a:hover{color:var(--accent-deep)}
.page-header{padding:3.6rem 0}
.page-header h1{font-size:42px;color:var(--ink);font-weight:800;letter-spacing:-.01em;margin-top:.9rem}
.page-header__sub{margin-top:.9rem;font-size:17px;color:var(--body)}
.page-header--left{text-align:left}
.page-header--center{text-align:center}
.page-header--center .breadcrumb{display:flex;justify-content:center}
.page-header--right{text-align:right}
.page-header--right .breadcrumb{display:flex;justify-content:flex-end}
.page-header--right .page-header__sub{margin-left:auto}
.page-header--right .wrap>p:not(.page-header__sub){margin-left:auto;text-align:left}

/* F1 2열 정의 리스트 */
.def-list{max-width:760px;margin:0 auto}
.def-list__row{display:grid;grid-template-columns:220px 1fr;gap:1.4rem;padding:1.4rem 0;border-top:1px solid var(--line)}
.def-list__row:last-child{border-bottom:1px solid var(--line)}
.def-list dt{font-weight:700;color:var(--ink);font-size:16px}
.def-list dd{margin:0;color:var(--body);font-size:15px}

/* F5 3열 표 */
.data-table{width:100%;border-collapse:collapse;font-size:15px}
.data-table th,.data-table td{text-align:left;padding:1rem 1.2rem;border-bottom:1px solid var(--line)}
.data-table th{color:var(--sub);font-size:13px;letter-spacing:.06em;font-weight:600}
.data-table td:first-child{font-weight:700;color:var(--ink)}
.data-table tbody tr:hover{background:var(--pale)}

/* F13 인용 띠 */
.quote-strip{background:var(--mint-pale);border-radius:var(--radius-card);padding:var(--card-pad);text-align:center}
.quote-strip p{font-size:22px;color:var(--ink);font-weight:700;line-height:1.5}
.quote-strip span{display:block;margin-top:.8rem;font-size:15px;color:var(--sub);font-weight:400}

/* F2 대비 카드 (숫자 없이 두 갈래를 큰 글자로 대비) */
.contrast-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--card-gap)}
.contrast-card{border-radius:var(--radius-card);padding:var(--card-pad);text-align:center}
.contrast-card--a{background:var(--pale)}
.contrast-card--b{background:var(--mint-pale)}
.contrast-card__big{font-size:26px;font-weight:800;color:var(--ink)}
.contrast-card__desc{margin-top:.8rem;color:var(--sub);font-size:15px;line-height:1.7}

/* F3 세로 타임라인 */
.v-timeline{max-width:640px;margin:0 auto;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:2.2rem}
.v-timeline__item{position:relative;padding-left:1.8rem}
.v-timeline__item::before{content:"";position:absolute;left:-6px;top:.3rem;width:10px;height:10px;border-radius:2px;background:var(--accent)}
.v-timeline__phase{font-size:13px;color:var(--accent-deep);font-weight:700;letter-spacing:.04em}
.v-timeline__title{margin-top:.3rem;font-size:17px;color:var(--ink);font-weight:700}
.v-timeline__desc{margin-top:.4rem;color:var(--sub);font-size:14.5px}

/* F4 가로 스텝 원 */
.h-steps{display:flex;justify-content:space-between;gap:1.2rem;text-align:center}
.h-steps__item{flex:1}
.h-steps__circle{width:56px;height:56px;border-radius:50%;background:var(--mint-pale);color:var(--green);display:flex;align-items:center;justify-content:center;margin:0 auto .9rem;font-weight:800;font-size:15px}
.h-steps__item:first-child .h-steps__circle{background:var(--accent);color:#fff}
.h-steps__title{font-size:15px;font-weight:700;color:var(--ink)}
.h-steps__desc{margin-top:.3rem;font-size:13px;color:var(--sub)}

/* F6 체크리스트 + 배지 */
.check-list{display:flex;flex-direction:column;gap:.9rem}
.check-list__item{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.4rem;background:var(--gray-pale);border-radius:var(--radius-card)}
.check-list__icon{flex:none;width:22px;height:22px;color:var(--accent)}
.check-list__text{flex:1;color:var(--ink);font-weight:600;font-size:15px}
.check-list__badge{flex:none;font-size:12px;padding:.35rem .8rem;border-radius:999px;background:var(--pale);color:var(--accent-deep);font-weight:700}

/* F7 아이콘 카드 그리드 */
.icon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--card-gap)}
.icon-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-card);padding:2.2rem;text-align:center}
.icon-card__icon{width:34px;height:34px;margin:0 auto 1.1rem;color:var(--green)}
.icon-card h3{font-size:16px;color:var(--ink);font-weight:700}
.icon-card p{margin-top:.5rem;font-size:14px;color:var(--sub)}

/* F8 좌우 2단 */
.split-2{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.split-2__col{border-radius:var(--radius-card);padding:2.2rem;background:var(--gray-pale)}
.split-2__col--accent{background:var(--mint-pale)}
.split-2__col h3{font-size:17px;color:var(--ink);font-weight:700;margin-bottom:.8rem}
.split-2__col p{color:var(--body);font-size:14.5px}

/* F9 분기 흐름도 */
.flow{display:flex;flex-direction:column;align-items:center;gap:1.4rem}
.flow__start{background:var(--ink);color:#fff;padding:.9rem 2rem;border-radius:999px;font-weight:700;font-size:15px}
.flow__line{width:2px;height:1.4rem;background:var(--line)}
.flow__branches{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;width:100%;max-width:640px}
.flow__branch{border:2px solid var(--line);border-radius:var(--radius-card);padding:1.6rem;text-align:center}
.flow__branch--accent{border-color:var(--accent)}
.flow__branch h3{font-size:16px;color:var(--ink);font-weight:700}
.flow__branch p{margin-top:.5rem;font-size:13.5px;color:var(--sub)}

/* F10 가로 막대 비교 (수치 대신 상대적인 범위감만 표시) */
.bar-compare{display:flex;flex-direction:column;gap:1.3rem;max-width:640px;margin:0 auto}
.bar-compare__row{display:flex;align-items:center;gap:1rem}
.bar-compare__label{width:150px;flex:none;font-weight:700;color:var(--ink);font-size:14px}
.bar-compare__track{flex:1;height:14px;background:var(--line);border-radius:999px;overflow:hidden}
.bar-compare__fill{height:100%;background:var(--accent);border-radius:999px}

/* F11 질문형 2단 */
.qa-2col{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.qa-2col__item{background:#fff;border:1px solid var(--line);border-radius:var(--radius-card);padding:1.8rem}
.qa-2col__q{font-weight:700;color:var(--ink);font-size:15.5px;margin-bottom:.7rem}
.qa-2col__a{color:var(--sub);font-size:14px}

/* F12 번호 리스트 행 */
.num-rows{border-top:1px solid var(--line)}
.num-row{display:flex;gap:1.2rem;padding:1.3rem 0;border-bottom:1px solid var(--line)}
.num-row__n{flex:none;width:30px;height:30px;border-radius:8px;background:var(--pale);color:var(--accent-deep);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13.5px}
.num-row__body h3{font-size:15.5px;color:var(--ink);font-weight:700}
.num-row__body p{margin-top:.3rem;font-size:14px;color:var(--sub)}

/* F14 시기 스트립 */
.time-strip{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.4rem}
.time-strip__item{flex:none;min-width:160px;background:var(--mint-pale);border-radius:var(--radius-card);padding:1.5rem}
.time-strip__label{font-size:12px;color:var(--accent-deep);font-weight:700;letter-spacing:.04em}
.time-strip__title{margin-top:.5rem;font-weight:700;color:var(--ink);font-size:15px}
.time-strip__desc{margin-top:.4rem;font-size:13px;color:var(--sub)}

@media (max-width:860px){
  .contrast-cards,.split-2,.qa-2col,.flow__branches{grid-template-columns:1fr}
  .icon-grid{grid-template-columns:1fr}
  .h-steps{flex-direction:column;gap:1.6rem}
  .bar-compare__label{width:110px;font-size:13px}
}

/* 세부페이지 CTA (메인 마무리 CTA와 다른 형태) */
.detail-cta{background:var(--pale);border-radius:var(--radius-card);padding:3.2rem var(--card-pad);text-align:center}
.detail-cta h2{margin-bottom:.9rem}
.detail-cta p{color:var(--body);font-size:16px}
.detail-cta__buttons{margin-top:2rem;display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}
.detail-cta .btn--ghost{background:var(--ink);color:#fff;border:none}

/* scroll-in motion (images only, per spec's 5 named motions; content fades are static) */
[data-observe]{opacity:1}

@media (max-width:860px){
  .support-grid,.industry-grid{grid-template-columns:1fr}
  .panel__inner,.warning__grid,.about__grid{grid-template-columns:1fr}
  .panel--return .panel__inner{direction:ltr}
  .panel__figure{order:-1}
  .panel__big{font-size:72px}
  .reason-grid{grid-template-columns:1fr}
  .def-list__row{grid-template-columns:1fr;gap:.4rem}
  .data-table{display:block;overflow-x:auto;white-space:nowrap}
  .page-header h1{font-size:34px}
}

@media (max-width:768px){
  :root{--section-pad-y:var(--section-pad-y-mobile);--section-pad-x:var(--section-pad-x-mobile)}
  .hero__sub{font-size:40px}
  .industry-card__photo{aspect-ratio:4/3}
  .link-cards{grid-template-columns:1fr}
  .about__grid{gap:1.6rem}
  .about__photo{aspect-ratio:4/3}
  .about__photo img{object-position:center 50%}
}

@media (prefers-reduced-motion:reduce){
  .hero__scroll .arrow-motion,.arrow-up-motion,.ray-motion,.ripple-motion{animation:none!important}
  .uturn-path{stroke-dashoffset:0!important;animation:none!important}
}
