/* ============================================================
   안심동행매니저 — style.css v5
   inner: 1400px | 따뜻한 코랄 테마 | 통일 클래스
============================================================ */
:root {
  --inner: 1400px; --radius: 10px; --radius-lg: 18px; --radius-xl: 28px; --transition: .22s ease;
  --c-primary: #E87462; --c-primary-d: #CC5A49; --c-primary-l: #FFF2F0; --c-primary-m: #FFDBD6;
  --c-green: #3BBFA0; --c-green-d: #28A082; --c-green-l: #E6FAF5;
  --c-bg: #FFFCF9; --c-bg2: #F8F4F0; --c-white: #FFFFFF;
  --c-border: #EDE8E3; --c-border-d: #D8D0C8;
  --c-text: #1E1E1E; --c-text-s: #5A534E; --c-text-m: #8A817A;
  --c-success: #2E8B45; --c-success-l: #EAF5EC; --c-warn: #E8A020; --c-warn-l: #FEF6E4; --c-danger: #DC3545; --c-danger-l: #FFF0F0;
  --shadow-s: 0 2px 10px rgba(0,0,0,.06); --shadow: 0 4px 20px rgba(0,0,0,.08); --shadow-l: 0 8px 36px rgba(0,0,0,.12); --shadow-xl: 0 16px 56px rgba(0,0,0,.16);
  --fs-xs: 0.8125rem; --fs-sm: 0.9375rem; --fs-base: 1.0625rem; --fs-md: 1.1875rem; --fs-lg: 1.375rem; --fs-xl: 1.625rem; --fs-2xl: 2rem; --fs-3xl: 2.5rem; --fs-4xl: 3.25rem; --fs-hero: 4rem;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:var(--fs-base);color:var(--c-text);background:var(--c-bg);line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none;transition:color var(--transition)}
img{max-width:100%;display:block}
ul,ol{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}
input,textarea,select{font-family:inherit}

.inner{width:100%;max-width:var(--inner);margin:0 auto;padding:0 40px}
@media(max-width:768px){.inner{padding:0 20px}}

.section{padding:96px 0}.section--sm{padding:56px 0}.section--lg{padding:120px 0}
.section--bg{background:var(--c-bg2)}.section--dark{background:#1A1A2A;color:#fff}.section--primary{background:var(--c-primary);color:#fff}

/* 통일 타이포 */
.t-xs{font-size:var(--fs-xs)}.t-sm{font-size:var(--fs-sm)}.t-base{font-size:var(--fs-base)}.t-md{font-size:var(--fs-md)}.t-lg{font-size:var(--fs-lg)}.t-xl{font-size:var(--fs-xl)}.t-2xl{font-size:var(--fs-2xl)}.t-3xl{font-size:var(--fs-3xl)}.t-4xl{font-size:var(--fs-4xl)}
.fw-4{font-weight:400}.fw-5{font-weight:500}.fw-6{font-weight:600}.fw-7{font-weight:700}.fw-8{font-weight:800}
.tc-primary{color:var(--c-primary)}.tc-green{color:var(--c-green)}.tc-muted{color:var(--c-text-m)}.tc-sub{color:var(--c-text-s)}.tc-white{color:#fff}
.ta-c{text-align:center}.ta-r{text-align:right}
.lh-sm{line-height:1.4}.lh-md{line-height:1.65}.lh-lg{line-height:1.9}

/* 섹션 헤더 통일 */
.sec-head{text-align:center;margin-bottom:56px}.sec-head--left{text-align:left}
.sec-label{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-primary);background:var(--c-primary-l);border:1px solid var(--c-primary-m);padding:5px 14px;border-radius:20px;margin-bottom:14px}
.sec-label--green{color:var(--c-green);background:var(--c-green-l);border-color:rgba(59,191,160,.25)}
.sec-title{font-size:var(--fs-3xl);font-weight:800;line-height:1.25;color:var(--c-text);margin-bottom:16px;letter-spacing:-.02em}
.sec-title strong{color:var(--c-primary)}
.sec-desc{font-size:var(--fs-md);color:var(--c-text-s);line-height:1.75;max-width:620px;margin:0 auto}
.sec-head--left .sec-desc{margin:0}
.sec-bar{display:flex;align-items:center;gap:10px;font-size:var(--fs-xl);font-weight:800;margin-bottom:28px;color:var(--c-text)}
.sec-bar::before{content:'';display:inline-block;width:5px;height:26px;border-radius:3px;background:var(--c-primary);box-shadow:8px 0 0 var(--c-primary-m);margin-right:6px}
.pg-title{font-size:var(--fs-4xl);font-weight:800;letter-spacing:-.02em;line-height:1.2}
.pg-subtitle{font-size:var(--fs-lg);color:var(--c-text-s);margin-top:12px}
.card-title{font-size:var(--fs-lg);font-weight:700}
.card-text{font-size:var(--fs-base);color:var(--c-text-s);line-height:1.75}

/* 버튼 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:var(--fs-sm);font-weight:500;border-radius:50px;border:1px solid transparent;height:52px;padding:0 28px;transition:all var(--transition);cursor:pointer;white-space:nowrap}
.btn--sm{height:40px;padding:0 18px;font-size:var(--fs-sm);border-radius:40px}
.btn--lg{height:60px;padding:0 36px;font-size:var(--fs-md)}
.btn--xl{height:68px;padding:0 44px;font-size:var(--fs-lg)}
.btn--block{width:100%}
.btn-primary{background:var(--c-primary);color:#fff;box-shadow:0 4px 16px rgba(232,116,98,.35)}
.btn-primary:hover{background:var(--c-primary-d);transform:translateY(-2px);box-shadow:0 6px 24px rgba(232,116,98,.45)}
.btn-green{background:var(--c-green);color:#fff;box-shadow:0 4px 16px rgba(59,191,160,.3)}
.btn-green:hover{background:var(--c-green-d);transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--c-primary);border-color:var(--c-primary)}
.btn-outline:hover{background:var(--c-primary);color:#fff}
.btn-outline-green{background:transparent;color:var(--c-green);border-color:var(--c-green)}
.btn-outline-green:hover{background:var(--c-green);color:#fff}
.btn-white{background:#fff;color:var(--c-primary);border-color:#fff}
.btn-white:hover{background:var(--c-primary-l)}
.btn-ghost{background:rgba(255,255,255,.15);color:#fff;border-color:rgba(255,255,255,.4)}
.btn-ghost:hover{background:rgba(255,255,255,.25)}
.btn-dark{background:#1A1A2A;color:#fff}
.btn-dark:hover{background:#2A2A3A;transform:translateY(-2px)}
.btn-kakao{background:#FEE500;color:#3A1D1D;border-color:#FEE500;font-weight:700}
.btn-kakao:hover{background:#F0D800;border-color:#F0D800}
.btn-naver{background:#03C75A;color:#fff;border-color:#03C75A;font-weight:700}
.btn-naver:hover{background:#00B350;border-color:#00B350}

/* 카드 */
.card{background:var(--c-white);border-radius:var(--radius-lg);border:1px solid var(--c-border);overflow:hidden;transition:box-shadow var(--transition),transform var(--transition)}
.card:hover{box-shadow:var(--shadow-l);transform:translateY(-4px)}
.card-body{padding:32px}.card-body--sm{padding:22px}.card-body--lg{padding:44px}

/* 뱃지 */
.badge{display:inline-flex;align-items:center;font-size:var(--fs-xs);font-weight:700;padding:4px 12px;border-radius:20px}
.badge-primary{background:var(--c-primary-l);color:var(--c-primary-d)}
.badge-green{background:var(--c-green-l);color:var(--c-green-d)}
.badge-gray{background:#F0EDE9;color:#6A5F58}
.badge-success{background:var(--c-success-l);color:var(--c-success)}
.badge-warn{background:var(--c-warn-l);color:var(--c-warn)}
.badge-danger{background:var(--c-danger-l);color:var(--c-danger)}

/* 폼 */
.form-group{margin-bottom:20px}
.form-label{display:block;font-size:var(--fs-base);font-weight:500;margin-bottom:7px;color:var(--c-text)}
.req{color:var(--c-primary);margin-left:2px}
.form-control{width:100%;height:52px;padding:0 16px;font-size:var(--fs-base);color:var(--c-text);background:var(--c-white);border:1.5px solid var(--c-border);border-radius:var(--radius);outline:none;transition:border-color var(--transition),box-shadow var(--transition)}
.form-control:focus{border-color:var(--c-primary);box-shadow:0 0 0 4px rgba(232,116,98,.12)}
.form-control::placeholder{color:var(--c-text-m)}
textarea.form-control{height:auto;padding:14px 16px;resize:vertical}
select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238A817A' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.form-check{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--fs-base)}
.form-check input{width:18px;height:18px;accent-color:var(--c-primary)}
.form-help{font-size:var(--fs-xs);color:var(--c-text-m);margin-top:5px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-row--3{grid-template-columns:1fr 1fr 1fr}
.form-full{grid-column:1/-1}
.form-section{border:1.5px solid var(--c-border);border-radius:var(--radius-lg);padding:28px;margin-bottom:24px}
.form-section-title{font-size:var(--fs-lg);font-weight:800;color:var(--c-primary);margin-bottom:20px;padding-bottom:14px;border-bottom:2px solid var(--c-primary-l)}
.form-section--accent{border-color:var(--c-primary-m);background:var(--c-primary-l)}

/* 테이블 */
.tbl-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:var(--fs-base)}
.tbl th{background:var(--c-bg2);font-size:var(--fs-sm);font-weight:700;color:var(--c-text-s);padding:14px 16px;border-bottom:2px solid var(--c-border-d);text-align:center;white-space:nowrap}
.tbl td{padding:14px 16px;border-bottom:1px solid var(--c-border);vertical-align:middle;text-align:center}
.tbl tbody tr:hover{background:var(--c-bg)}
.tbl--left th,.tbl--left td{text-align:left}
.td-title{text-align:left!important}
.td-title a:hover{color:var(--c-primary)}
.td-muted{color:var(--c-text-m);font-size:var(--fs-sm)}

/* 페이지네이션 */
.paging{display:flex;justify-content:center;gap:6px;margin-top:36px;flex-wrap:wrap}
.paging a,.paging span{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;font-size:var(--fs-sm);font-weight:600;border:1.5px solid var(--c-border);color:var(--c-text-s);transition:all var(--transition)}
.paging a:hover{border-color:var(--c-primary);color:var(--c-primary)}
.paging .current{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}

/* 아이콘 원형 */
.ic{display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}
.ic-xs{width:40px;height:40px}.ic-sm{width:56px;height:56px}.ic-md{width:76px;height:76px}.ic-lg{width:96px;height:96px}.ic-xl{width:120px;height:120px}
.ic--primary{background:var(--c-primary-l)}.ic--primary svg{stroke:var(--c-primary)}
.ic--green{background:var(--c-green-l)}.ic--green svg{stroke:var(--c-green)}
.ic--white{background:rgba(255,255,255,.18)}.ic--white svg{stroke:#fff}
.ic--dark{background:rgba(0,0,0,.06)}
.ic svg{fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ic-xs svg{width:20px;height:20px}.ic-sm svg{width:28px;height:28px}.ic-md svg{width:38px;height:38px}.ic-lg svg{width:48px;height:48px}.ic-xl svg{width:60px;height:60px}

/* 알림 */
.alert{padding:16px 20px;border-radius:var(--radius);font-size:var(--fs-base);margin-bottom:20px}
.alert-danger{background:var(--c-danger-l);color:var(--c-danger);border:1px solid #FFBABA}
.alert-success{background:var(--c-success-l);color:var(--c-success);border:1px solid #B6DEC1}
.alert-warn{background:var(--c-warn-l);color:var(--c-warn);border:1px solid #FDDCA0}
.alert-info{background:var(--c-primary-l);color:var(--c-primary-d);border:1px solid var(--c-primary-m)}

/* 유틸 */
.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mt-40{margin-top:40px}.mt-48{margin-top:48px}
.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}
.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.gap-32{gap:32px}
.flex{display:flex}.flex-c{display:flex;align-items:center}.flex-cc{display:flex;align-items:center;justify-content:center}.flex-b{display:flex;align-items:center;justify-content:space-between}.flex-wrap{flex-wrap:wrap}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}

/* GNB */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--c-border);box-shadow:var(--shadow-s)}
.header-inner{display:flex;align-items:center;height:80px;gap:32px}
.site-logo{flex-shrink:0;display:flex;align-items:center}
.site-logo img{height:44px;object-fit:contain}
.logo-text{font-size:var(--fs-lg);font-weight:800;color:var(--c-primary);letter-spacing:-.02em}
.logo-text span{color:var(--c-text)}
.gnb{flex:1}
.gnb__list{display:flex;align-items:center;gap:4px}
.gnb__item{position:relative}
.gnb__link{display:flex;align-items:center;gap:4px;height:56px;padding:0 18px;font-size:var(--fs-base);font-weight:600;color:var(--c-text);border-radius:var(--radius);transition:all var(--transition);white-space:nowrap}
.gnb__link:hover,.gnb__item.is-active .gnb__link{color:var(--c-primary);background:var(--c-primary-l)}
.gnb__link svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;transition:transform var(--transition)}
.gnb__item:hover .gnb__link svg{transform:rotate(180deg)}
.gnb__sub{position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%);min-width:200px;background:#fff;border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-l);padding:8px;display:none;z-index:200}
.gnb__item:hover .gnb__sub{display:block}
.gnb__sub a{display:block;padding:11px 16px;font-size:var(--fs-sm);font-weight:500;color:var(--c-text-s);border-radius:var(--radius);transition:all var(--transition)}
.gnb__sub a:hover{background:var(--c-primary-l);color:var(--c-primary);font-weight:700}
.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.btn-manager{display:flex;align-items:center;gap:8px;height:46px;padding:0 22px;background:var(--c-primary);color:#fff;border-radius:50px;font-size:var(--fs-sm);font-weight:700;transition:all var(--transition);white-space:nowrap;box-shadow:0 4px 14px rgba(232,116,98,.35)}
.btn-manager:hover{background:var(--c-primary-d);transform:translateY(-1px)}
.hamburger{display:none;flex-direction:column;gap:5px;padding:8px}
.hamburger span{display:block;width:24px;height:2px;background:var(--c-text);border-radius:2px;transition:all var(--transition)}

/* 서브 배너 */
.sub-banner{position:relative;overflow:hidden;background:#e1e0df;color:#e96c53;min-height:310px;display:flex;align-items:center}
.sub-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 50%,rgba(255,255,255,.12) 0%,transparent 60%)}
.sub-banner-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:1}
.sub-banner-inner{position:relative;z-index:1;padding:56px 40px;max-width:var(--inner);margin:0 auto;width:100%}
.sub-banner-title{font-size:var(--fs-4xl);font-weight:700;margin-bottom:12px;letter-spacing:-.02em;}
.sub-banner-desc{font-size:var(--fs-md);opacity:.85}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);margin-top:16px;opacity:.8}
.breadcrumb li::after{content:'›';margin-left:8px;opacity:.6}
.breadcrumb li:last-child::after{display:none}
.breadcrumb a:hover{text-decoration:underline}

/* 히어로 */
.hero{position:relative;overflow:hidden;width:100%}
.hero__slide{position:relative;width:100%;min-height:900px;display:none}
.hero__slide.is-active{display:block}
.hero__slide img,.hero__slide video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__slide-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.55) 0%,rgba(0,0,0,.1) 100%);display:flex;align-items:center;padding-bottom:10vh}
.hero__slide-body{color:#fff;max-width:880px}
.hero__slide-body h2{font-size:var(--fs-4xl);font-weight:800;line-height:1.2;margin:14px 0 18px;letter-spacing:-.02em}
.hero__slide-body p{font-size:var(--fs-md);opacity:.88;margin-bottom:28px;line-height:1.75}
.hero__prev,.hero__next{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.2);color:#fff;font-size:1.5rem;backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.3);transition:background var(--transition);z-index:5}
.hero__prev{left:24px}.hero__next{right:24px}
.hero__prev:hover,.hero__next:hover{background:rgba(255,255,255,.35)}
.hero__controls{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5}
.hero__dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.45);transition:all var(--transition)}
.hero__dot.is-active{width:28px;border-radius:5px;background:#fff}
.hero-default{min-height:680px;display:flex;align-items:center;background:linear-gradient(135deg,#1A0F0A 0%,#CC5A49 45%,#E87462 70%,#F5A88A 100%);position:relative;overflow:hidden;color:#fff}
.hero-default__bg{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(255,255,255,.1) 0%,transparent 60%)}
.hero-default__inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:1}
.hero-default__text h1{font-size:var(--fs-hero);font-weight:800;line-height:1.15;margin:16px 0 20px;letter-spacing:-.03em}
.hero-default__text h1 em{font-style:normal;color:#FFE4DC}
.hero-default__text p{font-size:var(--fs-md);opacity:.88;margin-bottom:32px;line-height:1.75}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:36px}
.hero-trust{display:flex;gap:20px;flex-wrap:wrap}
.hero-trust-item{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);opacity:.88}
.hero-trust-item svg{width:18px;height:18px;stroke:#FFD4CA;stroke-width:2;fill:none}
.hero-vis-main{width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.25);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;color:#fff;animation:hpulse 3.5s ease-in-out infinite;margin:0 auto;position:relative}
.hero-vis-main p{font-size:var(--fs-sm);opacity:.85;font-weight:600}
.hero-default__visual{position:relative}
.hero-vis-card{position:absolute;background:#fff;border-radius:50px;padding:10px 18px;font-size:var(--fs-sm);font-weight:700;color:var(--c-primary);box-shadow:var(--shadow-l);display:flex;align-items:center;gap:8px;white-space:nowrap}
.hero-vis-card svg{width:16px;height:16px;stroke:var(--c-primary);fill:none;stroke-width:2}
.hero-vis-card--1{top:30px;left:-30px;animation:hfloat1 4s ease-in-out infinite}
.hero-vis-card--2{top:30px;right:-30px;animation:hfloat2 4s ease-in-out .6s infinite}
.hero-vis-card--3{bottom:50px;left:-20px;animation:hfloat1 4s ease-in-out 1.2s infinite}
.hero-vis-card--4{bottom:50px;right:-20px;animation:hfloat2 4s ease-in-out 1.8s infinite}
@keyframes hpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes hfloat1{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes hfloat2{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}

/* 빠른 메뉴 */
.quick-bar{background:#fff;box-shadow:var(--shadow);position:relative;z-index:10}
.quick-bar__list{display:grid;grid-template-columns:repeat(5,1fr)}
.quick-bar__item a{display:flex;align-items:center;gap:16px;padding:22px 24px;border-right:1px solid var(--c-border);transition:background var(--transition)}
.quick-bar__item:last-child a{border-right:none}
.quick-bar__item a:hover{background:var(--c-primary-l)}
.quick-bar__item--accent a{background:var(--c-primary)}
.quick-bar__item--accent a:hover{background:var(--c-primary-d)}
.quick-bar__item--accent .qb-title,.quick-bar__item--accent .qb-desc{color:#fff}
.quick-bar__item--accent .qb-desc{opacity:.8}
.qb-title{font-size:var(--fs-md);font-weight:700;color:var(--c-text)}
.qb-desc{font-size:var(--fs-sm);color:var(--c-text-m);margin-top:2px}

/* 서비스 카드 */
.svc-card{background:var(--c-white);border-radius:var(--radius-lg);padding:36px 28px;border:1px solid var(--c-border);transition:box-shadow var(--transition),transform var(--transition)}
.svc-card:hover{box-shadow:var(--shadow-l);transform:translateY(-4px)}
.svc-card .card-title{font-size:var(--fs-lg);font-weight:700;margin:16px 0 10px}

/* Flow */
.flow-steps{display:flex;align-items:flex-start;gap:0;overflow-x:auto;padding-bottom:4px}
.flow-step{flex:1;min-width:160px;text-align:center;padding:0 16px}
.flow-step__bubble{width:92px;height:92px;border-radius:50%;background:var(--c-primary);margin:0 auto 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;gap:4px;box-shadow:0 6px 20px rgba(232,116,98,.35)}
.flow-step__bubble .ic{width:44px;height:44px;background:rgba(255,255,255,.2)}
.flow-step__bubble .ic svg{stroke:#fff;width:22px;height:22px}
.flow-step__num{font-size:var(--fs-xs);font-weight:700;opacity:.75}
.flow-step__title{font-size:var(--fs-md);font-weight:700;margin-bottom:6px}
.flow-step__desc{font-size:var(--fs-sm);color:var(--c-text-s);line-height:1.55}
.flow-arrow{flex:0 0 32px;font-size:1.25rem;color:var(--c-primary);padding-top:36px;text-align:center}

/* 이용후기 */
.rv-card{background:var(--c-white);border-radius:var(--radius-lg);padding:28px;border:1px solid var(--c-border);transition:box-shadow var(--transition),transform var(--transition)}
.rv-card:hover{box-shadow:var(--shadow-l);transform:translateY(-3px)}
.rv-stars{color:#F5A623;font-size:var(--fs-md);letter-spacing:2px}
.rv-title{font-size:var(--fs-lg);font-weight:700;margin:12px 0 10px}
.rv-text{font-size:var(--fs-base);color:var(--c-text-s);line-height:1.75;margin-bottom:18px}
.rv-author{display:flex;align-items:center;gap:12px;border-top:1px solid var(--c-border);padding-top:14px}
.rv-avatar{width:40px;height:40px;border-radius:50%;background:var(--c-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--fs-base);font-weight:700;flex-shrink:0}
.rv-name{font-size:var(--fs-base);font-weight:600}
.rv-date{font-size:var(--fs-xs);color:var(--c-text-m)}

/* 통계 */
.stats-section{background:linear-gradient(135deg,#1A0F0A 0%,var(--c-primary-d) 40%,var(--c-primary) 100%);padding:96px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat-circle{width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.2);margin:0 auto 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.stat-num{font-size:var(--fs-3xl);font-weight:800;color:#fff;display:block}
.stat-label{font-size:var(--fs-base);color:rgba(255,255,255,.8);font-weight:500;text-align:center}

/* 공지+문의 */
.ni-wrap{display:grid;grid-template-columns:1fr 380px;gap:28px}
.ni-notice{background:#fff;border-radius:var(--radius-lg);padding:32px;border:1px solid var(--c-border)}
.ni-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid var(--c-primary)}
.ni-head h3{font-size:var(--fs-xl);font-weight:700}
.ni-head a{font-size:var(--fs-sm);color:var(--c-primary);font-weight:600}
.ni-list li{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--c-border)}
.ni-list li:last-child{border-bottom:none}
.ni-list a{flex:1;font-size:var(--fs-base);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ni-list a:hover{color:var(--c-primary)}
.ni-date{font-size:var(--fs-xs);color:var(--c-text-m);white-space:nowrap}
.ni-cta{background:linear-gradient(150deg,var(--c-primary-d),var(--c-primary));border-radius:var(--radius-lg);padding:36px 28px;color:#fff;text-align:center}
.ni-cta h3{font-size:var(--fs-xl);font-weight:700;margin-bottom:10px}
.ni-cta p{font-size:var(--fs-base);opacity:.88;margin-bottom:20px;line-height:1.75}
.ni-cta-phone{display:flex;align-items:center;justify-content:center;gap:10px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius);padding:14px;font-size:var(--fs-lg);font-weight:800;margin-bottom:12px;color:#fff;transition:background var(--transition)}
.ni-cta-phone:hover{background:rgba(255,255,255,.25)}
.ni-cta-hours{font-size:var(--fs-xs);opacity:.65;margin-top:10px}

/* 매니저 CTA */
.mgr-cta{background:linear-gradient(135deg,#0F0A07,#2A1510);padding:80px 0}
.mgr-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}
.mgr-cta-text h2{font-size:var(--fs-3xl);font-weight:800;color:#fff;margin-bottom:14px;letter-spacing:-.02em}
.mgr-cta-text p{font-size:var(--fs-md);color:rgba(255,255,255,.7);line-height:1.75}

/* 게시판 */
.board-wrap{max-width:1000px;margin:0 auto}
.board-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}
.board-count{font-size:var(--fs-base);color:var(--c-text-s)}
.board-count strong{color:var(--c-primary)}
.board-search{display:flex;gap:8px}
.board-search .form-control{width:260px;height:44px}
.view-head{border-bottom:2px solid var(--c-primary);padding-bottom:20px;margin-bottom:28px}
.view-title{font-size:var(--fs-2xl);font-weight:800;margin-bottom:12px;letter-spacing:-.02em}
.view-meta{display:flex;gap:20px;font-size:var(--fs-sm);color:var(--c-text-m);flex-wrap:wrap}
.view-body{font-size:var(--fs-md);line-height:2;min-height:200px;padding:8px 0 48px;border-bottom:1px solid var(--c-border)}
.view-nav{margin-top:20px}
.view-nav-item{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--c-border)}
.view-nav-label{font-size:var(--fs-sm);color:var(--c-text-m);min-width:52px;flex-shrink:0}
.view-nav-item a:hover{color:var(--c-primary);text-decoration:underline}

/* FAQ */
.faq-list{display:flex;flex-direction:column;gap:0}
.faq-item{border-bottom:1px solid var(--c-border)}
.faq-q{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;padding:22px 0;font-size:var(--fs-md);font-weight:700;cursor:pointer;transition:color var(--transition)}
.faq-q:hover{color:var(--c-primary)}
.faq-q::after{content:'+';font-size:var(--fs-xl);font-weight:300;color:var(--c-primary);flex-shrink:0;transition:transform var(--transition)}
.faq-item.is-open .faq-q{color:var(--c-primary)}
.faq-item.is-open .faq-q::after{transform:rotate(45deg)}
.faq-a{display:none;padding:0 0 22px;font-size:var(--fs-base);color:var(--c-text-s);line-height:1.85}
.faq-item.is-open .faq-a{display:block}

/* 서명 */
.signature-wrap{position:relative;border:1.5px dashed var(--c-border-d);border-radius:var(--radius);overflow:hidden;background:var(--c-bg)}
.signature-canvas{display:block;width:100%;height:160px;touch-action:none;cursor:crosshair}
.signature-actions{display:flex;justify-content:flex-end;padding:8px;background:var(--c-bg);border-top:1px solid var(--c-border)}

/* 모바일 CTA */
.mobile-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:900;padding:12px 16px;background:#fff;box-shadow:0 -4px 20px rgba(0,0,0,.1);gap:8px}
.mobile-cta a{flex:1;height:52px;display:flex;align-items:center;justify-content:center;border-radius:50px;font-size:var(--fs-base);font-weight:700}

/* 스크롤 탑 */
.scroll-top{position:fixed;bottom:28px;right:28px;width:52px;height:52px;border-radius:50%;background:var(--c-primary);color:#fff;display:none;align-items:center;justify-content:center;z-index:800;box-shadow:0 4px 16px rgba(232,116,98,.4);transition:all var(--transition)}
.scroll-top:hover{background:var(--c-primary-d);transform:translateY(-3px)}
.scroll-top svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:2.5}

/* 로그인 */
.auth-page{min-height:100vh;background:var(--c-bg2);display:flex;align-items:center;justify-content:center;padding:40px 20px}
.auth-box{width:100%;max-width:480px}
.auth-logo{text-align:center;margin-bottom:32px}
.auth-logo .logo-text{font-size:var(--fs-2xl)}
.auth-logo p{font-size:var(--fs-sm);color:var(--c-text-m);margin-top:6px}
.auth-card{background:#fff;border-radius:var(--radius-xl);padding:44px;box-shadow:var(--shadow-xl)}
.auth-title{font-size:var(--fs-2xl);font-weight:800;margin-bottom:8px}
.auth-desc{font-size:var(--fs-base);color:var(--c-text-s);margin-bottom:28px}
.auth-divider{display:flex;align-items:center;gap:14px;margin:24px 0;font-size:var(--fs-xs);color:var(--c-text-m)}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--c-border)}
.social-btn{width:100%;height:52px;border-radius:50px;font-size:var(--fs-base);font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px;border:none;cursor:pointer;transition:all var(--transition)}
.social-btn svg{width:22px;height:22px}

/* 마이페이지 */
.mypage-wrap{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start}
.mypage-side{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--c-border);overflow:hidden;position:sticky;top:96px}
.mypage-profile{background:linear-gradient(135deg,var(--c-primary-d),var(--c-primary));color:#fff;padding:28px;text-align:center}
.mypage-avatar{width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.2);border:3px solid rgba(255,255,255,.4);margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:var(--fs-3xl);font-weight:800}
.mypage-name{font-size:var(--fs-lg);font-weight:700}
.mypage-status{font-size:var(--fs-xs);opacity:.8;margin-top:4px}
.mypage-nav{padding:8px}
.mypage-nav a{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius);font-size:var(--fs-base);font-weight:600;color:var(--c-text-s);transition:all var(--transition)}
.mypage-nav a:hover,.mypage-nav a.is-active{background:var(--c-primary-l);color:var(--c-primary)}
.mypage-nav a svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}
.mypage-main{min-width:0}
.mypage-card{background:#fff;border-radius:var(--radius-lg);padding:32px;border:1px solid var(--c-border);margin-bottom:20px}
.mypage-card-title{font-size:var(--fs-xl);font-weight:800;margin-bottom:22px;padding-bottom:16px;border-bottom:2px solid var(--c-primary-l)}

/* FOOTER */
.site-footer{background:#161210;color:rgba(255,255,255,.75);padding:64px 0 0}
.footer-inner{display:grid;grid-template-columns:1fr 1.4fr auto;gap:48px;margin-bottom:48px}
.footer-brand .logo-text{color:var(--c-primary);font-size:var(--fs-xl)}
.footer-brand .logo-text span{color:rgba(255,255,255,.9)}
.footer-desc{font-size:var(--fs-xs);line-height:1.2;margin-top:14px;opacity:.65;font-weight:400;}
.footer-col h4{font-size:var(--fs-base);font-weight:500;color:#fff;margin-bottom:16px}
.footer-col ul{display:flex;flex-direction:column;gap:10px}
.footer-col a{font-size:var(--fs-sm);opacity:.7;transition:opacity var(--transition)}
.footer-col a:hover{opacity:1;color:var(--c-primary)}
.footer-info{font-size:var(--fs-xs);line-height:1.5;opacity:.65;font-weight:400;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:20px 0;display:flex;align-items:center;justify-content:space-between;font-size:var(--fs-xs);opacity:.5;flex-wrap:wrap;gap:8px}

/* 관리자 */
.admin-wrap{display:flex;min-height:100vh;background:#F0EDE9}
.admin-sidebar{width:260px;flex-shrink:0;position:sticky;top:0;height:100vh;overflow-y:auto;background:linear-gradient(180deg,#1A0F0A 0%,#2A1A12 100%);display:flex;flex-direction:column}
.admin-brand{padding:24px 20px;border-bottom:1px solid rgba(255,255,255,.08)}
.admin-brand .logo-text{color:var(--c-primary);font-size:var(--fs-lg)}
.admin-brand .logo-text span{color:rgba(255,255,255,.9)}
.admin-brand p{font-size:var(--fs-xs);color:rgba(255,255,255,.4);margin-top:4px}
.admin-nav{padding:12px;flex:1}
.admin-nav-label{font-size:var(--fs-xs);font-weight:700;color:rgba(255,255,255,.3);letter-spacing:.1em;padding:16px 12px 8px;text-transform:uppercase}
.admin-nav a{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius);font-size:var(--fs-sm);font-weight:600;color:rgba(255,255,255,.65);transition:all var(--transition);margin-bottom:2px}
.admin-nav a:hover{background:rgba(255,255,255,.1);color:#fff}
.admin-nav a.is-active{background:rgba(232,116,98,.2);color:var(--c-primary)}
.admin-nav a svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0}
.admin-main{flex:1;min-width:0;display:flex;flex-direction:column}
.admin-topbar{background:#fff;border-bottom:1px solid var(--c-border);padding:0 32px;height:64px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-s)}
.admin-topbar h1{font-size:var(--fs-xl);font-weight:800}
.admin-content{padding:28px 32px;flex:1}
.admin-card{background:#fff;border-radius:var(--radius-lg);padding:28px;border:1px solid var(--c-border);margin-bottom:24px;box-shadow:var(--shadow-s)}
.admin-card-title{font-size:var(--fs-lg);font-weight:800;margin-bottom:20px}
.admin-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}
.admin-stat{background:#fff;border-radius:var(--radius-lg);padding:22px 24px;border:1px solid var(--c-border);border-top:3px solid var(--c-primary);box-shadow:var(--shadow-s)}
.admin-stat__num{font-size:var(--fs-3xl);font-weight:800;color:var(--c-primary)}
.admin-stat__label{font-size:var(--fs-sm);color:var(--c-text-s);margin-top:4px}
.admin-alert{padding:14px 18px;border-radius:var(--radius);font-size:var(--fs-base);margin-bottom:20px;background:var(--c-primary-l);color:var(--c-primary-d);border:1px solid var(--c-primary-m)}

/* 반응형 */
@media(max-width:1200px){
  .hero-default__inner{grid-template-columns:1fr}
  .hero-default__visual{display:none}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .footer-inner{grid-template-columns:1fr 1fr}
  .footer-inner>*:first-child{grid-column:1/-1}
  .ni-wrap{grid-template-columns:1fr}
}
@media(max-width:1024px){
  .quick-bar__list{grid-template-columns:repeat(3,1fr)}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .mypage-wrap{grid-template-columns:1fr}
  .mypage-side{position:static}
  .admin-sidebar{width:220px}
}
@media(max-width:768px){
  :root{--fs-3xl:1.875rem;--fs-4xl:2.25rem;--fs-hero:2.5rem}
  .section{padding:64px 0}
  .sec-title{font-size:var(--fs-2xl)}
  .hero__slide{min-height:480px}
  .hero-default{min-height:520px}
  .quick-bar__list{grid-template-columns:repeat(2,1fr)}
  .flow-steps{flex-direction:column;align-items:stretch}
  .flow-arrow{transform:rotate(90deg);display:flex;justify-content:center;padding:0;height:28px}
  .flow-step{display:flex;align-items:center;gap:20px;text-align:left;min-width:auto;padding:0}
  .flow-step__bubble{flex-shrink:0;margin:0;width:72px;height:72px}
  .mgr-cta-inner{flex-direction:column;text-align:center}
  .admin-wrap{flex-direction:column}
  .admin-sidebar{width:100%;height:auto;position:relative}
  .mobile-cta{display:flex}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:480px){
  .quick-bar__list{grid-template-columns:repeat(2,1fr)}
  .stats-grid{grid-template-columns:1fr 1fr}
  .stat-circle{width:120px;height:120px}
  .stat-num{font-size:var(--fs-2xl)}
  .admin-stat-grid{grid-template-columns:repeat(2,1fr)}
}

/* 모바일 서브배너: 이미지 비율에 맞춰 높이 자동 */
@media(max-width:768px){
  .sub-banner{min-height:auto}
  .sub-banner::before{display:none}
  .sub-banner-img{position:static;width:100%;height:auto;display:block}
  .sub-banner-img + .sub-banner-inner{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:12px 20px}
  .sub-banner-img + .sub-banner-inner .sub-banner-title{font-size:var(--fs-xl);margin-bottom:4px}
  .sub-banner-img + .sub-banner-inner .sub-banner-desc{font-size:var(--fs-sm)}
}
/* 서브배너 배경(cover) 모드 — JS가 자동으로 클래스 부여 */
.sub-banner--cover{min-height:310px}
.sub-banner--cover .sub-banner-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:768px){
  .sub-banner--cover{min-height:240px}
}
/* 태블릿 폭에서 헤더 넘침 방지 — 메뉴/버튼 접힘 시점 확대 */
@media(max-width:1120px){
  .gnb,.header-actions{display:none}
  .hamburger{display:flex}
}
/* 메인 슬라이드 텍스트 등장 애니메이션 */
.hero__slide.is-active .hero__slide-body>*{opacity:0;animation:heroTextUp .8s cubic-bezier(.22,.61,.36,1) forwards}
.hero__slide.is-active .hero__slide-body>*:nth-child(1){animation-delay:.1s}
.hero__slide.is-active .hero__slide-body>*:nth-child(2){animation-delay:.25s}
.hero__slide.is-active .hero__slide-body>*:nth-child(3){animation-delay:.4s}
.hero__slide.is-active .hero__slide-body>*:nth-child(4){animation-delay:.55s}
@keyframes heroTextUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
  .hero__slide.is-active .hero__slide-body>*{animation:none;opacity:1}
}