/* (주)스노우링스 공식 홈페이지 - 브랜드 4색 + 금색 로고 */
:root{
  --deep:#0C2B26;      /* 딥 그린 배경 */
  --green:#005246;     /* 메인 그린 면 */
  --orange:#F37721;    /* 버튼, 강조 1~2곳 */
  --cream:#FFEEB9;     /* 글자, 밝은 배경 */
  --cream-70:rgba(255,238,185,.72);
  --cream-45:rgba(255,238,185,.45);
  --cream-15:rgba(255,238,185,.15);
  --deep-70:rgba(12,43,38,.72);
  --deep-12:rgba(12,43,38,.12);
  --max:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Pretendard Variable",Pretendard,-apple-system,"Apple SD Gothic Neo",sans-serif;
  background:var(--deep);color:var(--cream);letter-spacing:-0.03em;line-height:1.6;
  -webkit-font-smoothing:antialiased;word-break:keep-all}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 32px}

/* ---------- 헤더 ---------- */
.hd{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .35s,box-shadow .35s}
.hd.on{background:rgba(12,43,38,.92);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--cream-15)}
.hd .wrap{display:flex;align-items:center;justify-content:space-between;height:76px}
.hd-logo{display:flex;align-items:center;gap:12px}
.hd-logo img{height:40px;width:auto}
.hd-logo b{font-size:19px;font-weight:800;letter-spacing:.18em}
.hd-logo small{display:block;font-size:11px;font-weight:600;letter-spacing:0;color:var(--cream-70)}
.hd-nav{display:flex;gap:34px;font-size:15px;font-weight:600}
.hd-nav a{opacity:.82;transition:opacity .2s}
.hd-nav a:hover{opacity:1}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 24px;
  border-radius:999px;font-weight:700;font-size:15px;transition:transform .2s,background .2s}
.btn:hover{transform:translateY(-2px)}
.btn-o{background:var(--orange);color:var(--deep)}
.btn-line{border:1.5px solid var(--cream-45);color:var(--cream)}
.btn-line:hover{border-color:var(--cream)}
.hd .btn{height:42px;padding:0 20px;font-size:14px}
.hd-menu{display:none;background:none;border:0;color:var(--cream);font-size:26px;cursor:pointer}

/* ---------- 1. 히어로 ---------- */
.hero{position:relative;min-height:min(100vh,940px);display:flex;align-items:center;padding:130px 0 90px;overflow:hidden;
  background:radial-gradient(ellipse 70% 60% at 78% 40%,rgba(0,82,70,.55),transparent 70%),var(--deep)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:700;letter-spacing:.12em;color:var(--cream-70)}
.eyebrow:before{content:"";width:28px;height:1.5px;background:var(--cream-45)}
.hero h1 span{white-space:nowrap}
.hero h1{margin:22px 0 26px;font-size:clamp(40px,4.4vw,62px);line-height:1.18;font-weight:900;letter-spacing:-0.045em}
.hero h1 em{font-style:normal;color:var(--orange)}
.hero .lead{font-size:19px;font-weight:500;color:var(--cream-70);max-width:560px}
.hero .lead b{color:var(--cream);font-weight:700}
.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0 36px}
.hero-tags span{padding:7px 14px;border:1px solid var(--cream-15);border-radius:999px;font-size:13px;font-weight:600;color:var(--cream-70)}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}

.hero-side{position:relative}
.hero-logo{width:104px;margin:0 auto 22px;filter:drop-shadow(0 18px 40px rgba(0,0,0,.25))}
.notice{background:rgba(0,82,70,.45);border:1px solid var(--cream-15);border-radius:24px;padding:26px}
.notice-q{font-size:15px;font-weight:600;color:var(--cream-70)}
.notice-a{font-size:24px;font-weight:800;line-height:1.35;margin:6px 0 4px}
.notice-s{font-size:14px;color:var(--cream-70);margin-bottom:18px}
.vids{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.vid{display:block;cursor:pointer}
.vid .th{position:relative;display:block;border-radius:14px;overflow:hidden;aspect-ratio:16/9;background:var(--green)}
.vid img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.vid:hover img{transform:scale(1.05)}
.vid .play{position:absolute;z-index:2;top:50%;left:50%;margin:-19px 0 0 -19px;width:38px;height:38px;box-shadow:0 6px 18px rgba(0,0,0,.3);width:34px;height:34px;border-radius:50%;background:var(--cream);
  display:grid;place-items:center;color:var(--deep);font-size:12px;padding-left:2px}
.vid .cap{display:block;margin-top:10px;font-size:14px;line-height:1.4;font-weight:700}
.vid .cap small{display:block;font-size:11px;font-weight:600;color:var(--cream-70)}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3}
.scroll-cue{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);font-size:12px;letter-spacing:.2em;color:var(--cream-45);text-align:center}
.scroll-cue i{display:block;width:1.5px;height:34px;margin:8px auto 0;background:linear-gradient(var(--cream-45),transparent);animation:cue 1.8s infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ---------- 2. 숫자 ---------- */
.rank{background:var(--cream);color:var(--deep);padding:110px 0}
.sec-head{text-align:center;margin-bottom:60px}
.sec-head .kicker{font-size:14px;font-weight:800;letter-spacing:.16em;color:var(--green)}
.sec-head h2{font-size:clamp(30px,3.6vw,46px);line-height:1.28;font-weight:900;margin-top:14px;letter-spacing:-0.04em}
.sec-head p{font-size:18px;margin-top:16px;color:var(--deep-70);font-weight:500}
.nums{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--deep)}
.num{padding:34px 26px 30px;border-right:1px solid var(--deep-12)}
.num:last-child{border-right:0}
.num .v{font-size:clamp(40px,4.4vw,60px);font-weight:900;line-height:1;letter-spacing:-0.05em}
.num .v small{font-size:.45em;font-weight:800;margin-left:3px}
.num .k{font-size:17px;font-weight:800;margin-top:16px}
.num .s{font-size:13px;color:var(--deep-70);margin-top:6px;line-height:1.5}
.badge{display:flex;align-items:center;gap:18px;margin-top:40px;padding:22px 28px;background:var(--deep);color:var(--cream);border-radius:18px}
.badge .mk{flex:none;width:46px;height:46px;border-radius:12px;background:var(--orange);color:var(--deep);display:grid;place-items:center;font-weight:900;font-size:20px}
.badge b{font-size:18px;font-weight:800}
.badge span{display:block;font-size:13px;color:var(--cream-70)}

/* ---------- 3. 사업 영역 ---------- */
.biz{padding:120px 0;background:var(--deep)}
.biz .sec-head .kicker{color:var(--cream-70)}
.biz .sec-head p{color:var(--cream-70)}
.biz-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.card{position:relative;background:var(--green);border-radius:26px;padding:38px 36px 34px;overflow:hidden;
  border:1px solid var(--cream-15);transition:transform .3s}
.card:hover{transform:translateY(-6px)}
.card .no{font-size:13px;font-weight:800;letter-spacing:.14em;color:var(--cream-45)}
.card .who{display:inline-block;margin-top:18px;font-size:13px;font-weight:700;padding:5px 12px;border-radius:999px;background:var(--cream-15)}
.card h3{font-size:30px;font-weight:900;margin:14px 0 10px;letter-spacing:-0.04em}
.card p{font-size:16px;color:var(--cream-70);min-height:52px}
.card ul{list-style:none;margin:22px 0 26px;display:grid;gap:9px}
.card li{display:flex;gap:10px;font-size:15px;font-weight:600}
.card li:before{content:"";flex:none;width:6px;height:6px;margin-top:9px;border-radius:50%;background:var(--cream)}
.card .go{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:800;border-bottom:1.5px solid var(--cream-45);padding-bottom:3px}
.card .go:after{content:"→";transition:transform .2s}
.card:hover .go:after{transform:translateX(4px)}
.card .big{position:absolute;right:-6px;bottom:-26px;font-size:150px;font-weight:900;line-height:1;color:rgba(255,238,185,.05);letter-spacing:-0.06em;pointer-events:none}
.route{margin-top:40px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;font-size:16px;font-weight:700}
.route span{color:var(--cream-70);font-weight:600;margin-right:6px}

/* ---------- 헤더 메뉴(모바일) ---------- */
.m-only{display:none}
.hd-menu i{display:block;width:22px;height:2px;margin:5px 0;background:var(--cream);border-radius:2px;transition:transform .3s,opacity .3s}
.hd.open .hd-menu i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hd.open .hd-menu i:nth-child(2){opacity:0}
.hd.open .hd-menu i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.note{margin-top:22px;text-align:center;font-size:13px;color:var(--cream-45)}
.note.dark{color:var(--deep-70)}
.kicker{font-size:14px;font-weight:800;letter-spacing:.16em}

/* ---------- 3. 결과물 ---------- */
.contents{padding:120px 0;background:var(--deep)}
.contents .sec-head .kicker,.three .sec-head .kicker,.free .sec-head .kicker,.faq .sec-head .kicker{color:var(--cream-70)}
.contents .sec-head p,.three .sec-head p{color:var(--cream-70)}
.reel{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.rcard{display:block}
.rcard .th{position:relative;display:block;border-radius:16px;overflow:hidden;aspect-ratio:16/10;background:var(--green)}
.rcard img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.rcard:hover img{transform:scale(1.06)}
.rcard .vw{position:absolute;left:10px;top:10px;padding:5px 11px;border-radius:999px;background:var(--orange);color:var(--deep);font-size:13px;font-weight:800}
.rcard b{display:block;margin-top:14px;font-size:17px;line-height:1.4;font-weight:800}
.rcard small{display:block;margin-top:6px;font-size:13px;color:var(--cream-70);font-weight:600}

/* ---------- 5. 일하는 방식 ---------- */
.three{padding:120px 0;background:var(--green)}
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.steps li{position:relative;padding:36px 32px;border-radius:24px;background:var(--deep);border:1px solid var(--cream-15)}
.steps li:not(:last-child):after{content:"→";position:absolute;right:-17px;top:50%;transform:translateY(-50%);z-index:2;width:34px;height:34px;border-radius:50%;background:var(--cream);color:var(--deep);display:grid;place-items:center;font-weight:900}
.steps .sn{font-size:13px;font-weight:800;letter-spacing:.14em;color:var(--cream-45)}
.steps h3{font-size:28px;font-weight:900;margin:12px 0;letter-spacing:-0.04em}
.steps p{font-size:16px;color:var(--cream-70);min-height:78px}
.steps em{display:inline-block;margin-top:20px;font-style:normal;font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px;background:var(--cream-15)}

/* ---------- 6. 교육 성과 ---------- */
.sales{padding:120px 0;background:var(--cream);color:var(--deep)}
.sales-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
.sales .kicker{color:var(--green)}
.sales h2{font-size:clamp(30px,3.4vw,44px);line-height:1.28;font-weight:900;margin:14px 0 18px;letter-spacing:-0.04em}
.sales-lead{font-size:17px;color:var(--deep-70);font-weight:500}
.sales-total{margin-top:30px;font-size:clamp(52px,6vw,80px);font-weight:900;line-height:1;letter-spacing:-0.05em;color:var(--orange)}
.sales-total small{font-size:.38em;margin-left:4px;color:var(--deep)}
.sales-cap{margin-top:10px;font-size:15px;font-weight:700}
.fine{margin-top:18px;font-size:12.5px;color:var(--deep-70);line-height:1.6}
.chart{background:var(--deep);border-radius:26px;padding:26px 22px 18px}
.chart svg{width:100%;height:auto;display:block}
.chart .grid line{stroke:rgba(255,238,185,.12);stroke-width:1}
.chart .ylab text{fill:var(--cream-45);font-size:12px;text-anchor:end;font-family:inherit}
.chart .xlab text{fill:var(--cream-70);font-size:13px;text-anchor:middle;font-weight:600;font-family:inherit}
.chart .area{fill:rgba(243,119,33,.16)}
.chart .line{fill:none;stroke:var(--orange);stroke-width:4;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:900;stroke-dashoffset:900;transition:stroke-dashoffset 2s cubic-bezier(.3,.6,.2,1) .3s}
.chart.in .line{stroke-dashoffset:0}
.chart .dots circle{fill:var(--cream);opacity:0;transition:opacity .4s 1.6s}
.chart .dots .last{fill:var(--orange);stroke:var(--cream);stroke-width:3}
.chart.in .dots circle{opacity:1}
.chart .tip{fill:var(--cream);font-size:16px;font-weight:800;text-anchor:end;font-family:inherit;opacity:0;transition:opacity .4s 1.9s}
.chart.in .tip{opacity:1}

/* ---------- 7. 파트너 ---------- */
.client{padding:110px 0;background:var(--cream);color:var(--deep);border-top:1px solid var(--deep-12)}
.client .kicker{color:var(--green)}
.logos{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.lg{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;height:150px;border-radius:20px;background:rgba(12,43,38,.05);border:1px solid var(--deep-12);padding:0 20px}
.lg .mask{display:block;height:30px;background:var(--deep);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center}
.lg .ccei{font-size:19px;font-weight:900;letter-spacing:-0.04em;line-height:30px}
.lg span{font-size:13px;font-weight:700;color:var(--deep-70)}

/* ---------- 8. 대표 원칙 ---------- */
.philo{padding:120px 0;background:var(--deep)}
.philo-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.ceo .kicker{color:var(--cream-70)}
.ceo h2{font-size:clamp(30px,3.4vw,44px);line-height:1.3;font-weight:900;margin:14px 0 22px;letter-spacing:-0.04em}
.ceo-name{font-size:17px;color:var(--cream-70)}
.ceo-name b{color:var(--cream);font-size:20px;margin-left:4px}
.career{list-style:none;margin:20px 0 28px;display:grid;gap:8px}
.career li{font-size:15px;padding-left:16px;position:relative;color:var(--cream-70)}
.career li:before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:var(--orange)}
.go{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:800;border-bottom:1.5px solid var(--cream-45);padding-bottom:3px}
.ceo .go:after{content:"→"}
.rules{display:grid;gap:14px}
.rule{display:flex;gap:18px;padding:26px 28px;border-radius:20px;background:var(--green);border:1px solid var(--cream-15)}
.rule span{flex:none;font-size:18px;font-weight:900;color:var(--orange)}
.rule p{font-size:17px;color:var(--cream-70)}
.rule b{color:var(--cream)}

/* ---------- 9. 무료 ---------- */
.free{padding:110px 0;background:var(--green)}
.free-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fcard{display:block;padding:30px 28px;border-radius:22px;background:var(--deep);border:1px solid var(--cream-15);transition:transform .3s}
.fcard:hover{transform:translateY(-6px)}
.fcard span{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--cream-45)}
.fcard b{display:block;font-size:22px;font-weight:900;margin:10px 0 8px}
.fcard p{font-size:15px;color:var(--cream-70)}
.fcard:after{content:"바로가기 →";display:block;margin-top:18px;font-size:14px;font-weight:800}

/* ---------- 10. 문의 ---------- */
.contact{padding:130px 0 110px;background:var(--deep)}
.last{text-align:center;margin-bottom:56px}
.last p{font-size:18px;color:var(--cream-70);font-weight:600}
.last h2{margin-top:16px;font-size:clamp(30px,3.8vw,48px);line-height:1.32;font-weight:900;letter-spacing:-0.045em}
.last em{font-style:normal;color:var(--orange)}
.ct-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ct{display:block;padding:30px 28px;border-radius:22px;background:var(--green);border:1px solid var(--cream-15);transition:transform .3s,border-color .3s}
.ct:hover{transform:translateY(-6px);border-color:var(--orange)}
.ct span{font-size:13px;font-weight:800;color:var(--orange)}
.ct b{display:block;font-size:22px;font-weight:900;margin:10px 0 8px}
.ct p{font-size:14px;color:var(--cream-70)}
.ct:after{content:"메일로 문의하기 →";display:block;margin-top:18px;font-size:14px;font-weight:800}
.ct-info{display:flex;justify-content:center;flex-wrap:wrap;gap:14px 40px;margin-top:36px;font-size:16px}
.ct-info span{color:var(--cream-45);font-weight:700;margin-right:10px;font-size:14px}
.ct-info a{font-weight:800;border-bottom:1px solid var(--cream-45)}

/* ---------- 11. FAQ ---------- */
.faq{padding:110px 0;background:var(--deep);border-top:1px solid var(--cream-15)}
.qs{max-width:860px;margin:0 auto;display:grid;gap:12px}
.qs details{border-radius:18px;background:var(--green);border:1px solid var(--cream-15);overflow:hidden}
.qs summary{list-style:none;cursor:pointer;padding:22px 60px 22px 26px;font-size:17px;font-weight:800;position:relative}
.qs summary::-webkit-details-marker{display:none}
.qs summary:after{content:"+";position:absolute;right:24px;top:50%;transform:translateY(-50%);font-size:24px;font-weight:500;color:var(--orange);transition:transform .3s}
.qs details[open] summary:after{transform:translateY(-50%) rotate(45deg)}
.qs details p{padding:0 26px 22px;font-size:15.5px;color:var(--cream-70)}

/* ---------- 푸터 ---------- */
.ft{background:#081f1b;padding:56px 0 46px;border-top:1px solid var(--cream-15)}
.ft-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:28px;border-bottom:1px solid var(--cream-15)}
.ft-top img{width:64px;height:auto}
.ft-top nav{display:flex;gap:28px;font-size:14px;font-weight:700}
.ft-info{padding-top:24px;font-size:13px;line-height:1.9;color:var(--cream-45)}
.ft-info i{font-style:normal;margin:0 8px;opacity:.5}
.ft-info .cp{margin-top:10px}

/* ---------- 등장 효과 ---------- */
.rv{opacity:0;transform:translateY(36px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  .scroll-cue i{animation:none}
}

/* ---------- 모바일 ---------- */
@media (max-width:900px){
  .wrap{padding:0 22px}
  .hd .wrap{height:64px}
  .hd-logo img{height:34px}
  .hd-logo b{font-size:16px}
  .hd-menu{display:block}
  .hero{padding:104px 0 70px;min-height:auto}
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .hero h1{font-size:31px;margin:16px 0 18px}
  .hero .lead{font-size:16px}
  .hero-tags{margin:22px 0 26px}
  .hero-cta .btn{flex:1}
  .hero-logo{display:none}
  .notice{padding:22px 18px}
  .notice-a{font-size:21px}
  .scroll-cue{display:none}
  .rank,.biz{padding:80px 0}
  .sec-head{margin-bottom:40px}
  .sec-head p{font-size:16px}
  .nums{grid-template-columns:1fr 1fr}
  .num{padding:26px 14px 22px;border-bottom:1px solid var(--deep-12)}
  .num:nth-child(2n){border-right:0}
  .num .k{font-size:15px}
  .badge{padding:18px;gap:14px}
  .badge b{font-size:16px}
  .biz-grid{grid-template-columns:1fr;gap:14px}
  .card{padding:30px 24px 28px;border-radius:22px}
  .card h3{font-size:25px}
  .card p{min-height:0}
  .card .big{font-size:110px}
  .route{flex-direction:column;align-items:stretch;text-align:center}
  .m-only{display:block}
  .hd-cta{display:none}
  .hd-nav{position:fixed;top:64px;left:0;right:0;flex-direction:column;gap:0;background:rgba(12,43,38,.98);padding:8px 22px 22px;border-bottom:1px solid var(--cream-15);transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
  .hd.open .hd-nav{opacity:1;transform:none;pointer-events:auto}
  .hd.open{background:rgba(12,43,38,.98)}
  .hd-nav a{padding:15px 4px;font-size:17px;border-bottom:1px solid var(--cream-15);opacity:1}
  .hd-nav a.m-only{margin-top:14px;border:0;text-align:center;background:var(--orange);color:var(--deep);border-radius:999px;font-weight:800}
  .contents,.three,.sales,.client,.philo,.free,.faq{padding:80px 0}
  .contact{padding:90px 0 80px}
  .reel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 -22px;padding:0 22px 6px;scrollbar-width:none}
  .reel::-webkit-scrollbar{display:none}
  .rcard{flex:0 0 76%;scroll-snap-align:start}
  .rcard b{font-size:16px}
  .steps{grid-template-columns:1fr;gap:26px}
  .steps li{padding:28px 24px}
  .steps li:not(:last-child):after{content:"↓";right:auto;left:50%;top:auto;bottom:-30px;transform:translateX(-50%)}
  .steps p{min-height:0}
  .steps h3{font-size:24px}
  .sales-grid,.philo-grid{grid-template-columns:1fr;gap:36px}
  .chart{padding:16px 10px 8px;border-radius:20px}
  .logos{grid-template-columns:1fr 1fr;gap:10px}
  .lg{height:118px;padding:0 12px}
  .lg .mask{height:22px}
  .lg .ccei{font-size:15px;line-height:22px}
  .lg span{font-size:12px;text-align:center}
  .rule{padding:22px 20px;gap:12px}
  .rule p{font-size:16px}
  .free-grid,.ct-grid{grid-template-columns:1fr;gap:12px}
  .last{margin-bottom:36px}
  .ct-info{flex-direction:column;align-items:center;gap:10px}
  .qs summary{font-size:16px;padding:19px 52px 19px 20px}
  .qs details p{padding:0 20px 20px}
  .ft-top{flex-direction:column;align-items:flex-start}
  .ft-top nav{flex-wrap:wrap;gap:12px 20px}
  .ft-info i{display:none}
  .ft-info p{margin-bottom:4px}
}

/* ---------- 회사소개 ---------- */
.sub-hero{padding:170px 0 90px;background:radial-gradient(ellipse 60% 70% at 85% 30%,rgba(0,82,70,.6),transparent 70%),var(--deep);border-bottom:1px solid var(--cream-15)}
.sub-hero h1{margin:18px 0 14px;font-size:clamp(40px,5vw,64px);font-weight:900;letter-spacing:-0.045em;line-height:1.15}
.sub-hero p{font-size:19px;color:var(--cream-70);font-weight:500}
.greet{padding:120px 0;background:var(--deep)}
.greet-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:center}
.greet-logo{display:grid;place-items:center;aspect-ratio:1;border-radius:32px;background:var(--green);border:1px solid var(--cream-15)}
.greet-logo img{width:46%;filter:drop-shadow(0 18px 40px rgba(0,0,0,.25))}
.greet-text .kicker{color:var(--cream-70)}
.greet-text h2{font-size:clamp(28px,3.2vw,42px);line-height:1.3;font-weight:900;letter-spacing:-0.04em;margin:14px 0 26px}
.greet-text p{font-size:17px;color:var(--cream-70);margin-bottom:14px}
.greet-text .sign{margin-top:26px;color:var(--cream)}
.greet-text .sign b{font-size:21px;margin-left:6px}
.overview{padding:110px 0;background:var(--cream);color:var(--deep)}
.overview .kicker,.map .kicker{color:var(--green)}
.ov{max-width:900px;margin:0 auto;border-top:2px solid var(--deep)}
.ov div{display:grid;grid-template-columns:200px 1fr;gap:20px;padding:20px 8px;border-bottom:1px solid var(--deep-12)}
.ov dt{font-weight:800;font-size:16px}
.ov dd{font-size:16px;color:var(--deep-70);font-weight:500}
.ov a{border-bottom:1px solid var(--deep-12);font-weight:700;color:var(--deep)}
.history{padding:120px 0;background:var(--deep)}
.history .kicker{color:var(--cream-70)}
.tl{list-style:none;max-width:900px;margin:0 auto;position:relative}
.tl:before{content:"";position:absolute;left:118px;top:10px;bottom:10px;width:2px;background:var(--cream-15)}
.tl>li{display:grid;grid-template-columns:120px 1fr;gap:40px;padding:22px 0;position:relative}
.tl>li:after{content:"";position:absolute;left:112px;top:36px;width:14px;height:14px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 5px var(--deep)}
.tl .y{font-size:34px;font-weight:900;letter-spacing:-0.04em;line-height:1.2}
.tl ul{list-style:none;display:grid;gap:12px;padding-top:6px}
.tl ul li{display:flex;gap:16px;font-size:17px;color:var(--cream-70)}
.tl ul b{flex:none;width:28px;color:var(--cream);font-weight:800}
.map{padding:110px 0;background:var(--cream);color:var(--deep)}
.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.map h2{font-size:clamp(30px,3.4vw,44px);font-weight:900;letter-spacing:-0.04em;margin:14px 0 20px}
.addr{font-size:20px;font-weight:700;line-height:1.6}
.map-note{margin:12px 0 28px;font-size:15px;color:var(--deep-70)}
.map .btn-line{border-color:var(--deep-12);color:var(--deep)}
.map .btn-line:hover{border-color:var(--deep)}
.map-card{aspect-ratio:4/3;border-radius:28px;background:var(--deep);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:var(--cream);text-align:center}
.map-card img{width:90px}
.map-card p{font-size:18px;font-weight:800;letter-spacing:.2em}
.map-card span{font-size:14px;letter-spacing:0;color:var(--cream-70);font-weight:600}
@media (max-width:900px){
  .sub-hero{padding:120px 0 60px}
  .sub-hero p{font-size:16px}
  .greet,.overview,.history,.map{padding:80px 0}
  .greet-grid,.map-grid{grid-template-columns:1fr;gap:36px}
  .greet-logo{aspect-ratio:16/9}
  .greet-logo img{width:26%}
  .greet-text p{font-size:16px}
  .ov div{grid-template-columns:1fr;gap:4px;padding:16px 4px}
  .tl:before{left:7px}
  .tl>li{grid-template-columns:1fr;gap:10px;padding:18px 0 18px 34px}
  .tl>li:after{left:1px;top:28px}
  .tl .y{font-size:28px}
  .tl ul li{font-size:15.5px;gap:12px}
  .addr{font-size:17px}
  .map .hero-cta .btn{flex:1}
}

.lg .lgimg{height:28px;width:auto;max-width:100%}
@media (max-width:900px){.lg .lgimg{height:20px}}

/* 대표 사진 */
.ceo-photo{position:relative;margin:0;border-radius:28px;overflow:hidden;background:#0a1a2e;border:1px solid var(--cream-15)}
.ceo-photo img{width:100%;height:auto;display:block}
.ceo-photo figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 20px 24px;text-align:center}
.ceo-photo figcaption i{display:block;width:62%;height:1px;background:#C9A24E;margin-bottom:10px}
.ceo-photo figcaption b{font-size:16px;font-weight:600;letter-spacing:.42em;color:#C9A24E;line-height:1.4;padding-left:.42em}
.ceo-photo figcaption span{font-size:17px;font-weight:600;letter-spacing:.2em;color:rgba(255,238,185,.85);line-height:1.5}
@media (max-width:900px){.ceo-photo{border-radius:22px}.ceo-photo figcaption{padding:0 16px 16px;gap:5px}.ceo-photo figcaption b{font-size:14px}.ceo-photo figcaption span{font-size:15px}}

.ceo-photo{background:#091628}
.ceo-photo img{-webkit-mask-image:linear-gradient(to bottom,#000 68%,transparent 100%);mask-image:linear-gradient(to bottom,#000 68%,transparent 100%)}
.ceo-photo figcaption{position:relative;left:auto;right:auto;bottom:auto;margin-top:-34px;background:none;padding:0 20px 26px}
@media (max-width:900px){.ceo-photo figcaption{margin-top:-24px;padding:0 16px 18px}}
