/* ============================================================
   공식 홈 (시안 C 확정) — 색감·질감은 B(짙은 남색 #050A14 · 유리 · 민트 #5FC3A5 단일 포인트 · 발광 선 아이콘)
            내용·구성은 A(번호 위계 · 큰 헤드라인 · 8개 아이콘 · 기사의 하루 · 운송사 · 회사 방문)
   폰트: Pretendard (기존 사이트와 동일). 외부 스크립트 없음. 공식 위치: /assets/home-c.css
   ============================================================ */
:root {
  --bg:#050A14; --bg2:#08101F; --bg3:#0C1629;
  --panel:#0E1B34; --panel2:#0B1730;          /* 한 단계 밝은 남색 (운송사·푸터 리듬) */
  --ink:#EAF1F7; --ink2:#BAC7D7; --mute:#93A2B8;
  --line:rgba(255,255,255,.09); --line2:rgba(255,255,255,.16);
  --mint:#5FC3A5; --mint2:#8FE0C8; --mint3:#D6FFF3; --mint-ink:#04130E; --mint-rgb:95,195,165;
  --glass:rgba(255,255,255,.045); --glass-hi:rgba(255,255,255,.075);
  --hdr:56px; --wrap:1120px; --pad:20px; --r:20px;
  --ease:cubic-bezier(.22,.8,.24,1);
}
* { margin:0; padding:0; box-sizing:border-box; -webkit-font-smoothing:antialiased; -webkit-tap-highlight-color:transparent; }
html { scroll-behavior:smooth; overflow-x:clip; scroll-padding-top:calc(var(--hdr) + 8px); -webkit-text-size-adjust:100%; }
body {
  font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  background:var(--bg); color:var(--ink);
  line-height:1.6; letter-spacing:-0.02em;
  overflow-x:clip;
  word-break:keep-all; overflow-wrap:break-word;
}
a { color:inherit; text-decoration:none; }
img, svg { display:block; max-width:100%; }
button { font-family:inherit; color:inherit; }
ul, ol { list-style:none; }
:focus-visible { outline:3px solid var(--mint2); outline-offset:3px; border-radius:8px; }
.wrap { max-width:var(--wrap); margin:0 auto; padding:0 var(--pad); }
html.anchored { scroll-behavior:auto; }
.opening { overflow:hidden; }
[hidden] { display:none !important; }

/* ---------- 헤더 ---------- */
.hdr {
  position:sticky; top:0; z-index:50; height:var(--hdr);
  background:rgba(5,10,20,.72);
  -webkit-backdrop-filter:blur(18px) saturate(160%); backdrop-filter:blur(18px) saturate(160%);
  border-bottom:1px solid var(--line);
}
.hdr-in { max-width:var(--wrap); height:100%; margin:0 auto; padding:0 var(--pad); display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:10px; min-height:44px; font-weight:900; font-size:18px; letter-spacing:-0.03em; }
.brand img { width:30px; height:30px; border-radius:8px; box-shadow:0 0 0 1px var(--line2); }
.nav { display:flex; align-items:center; gap:28px; }
.nav a { font-size:15px; font-weight:600; color:var(--ink2); transition:color .2s; }
.nav a:not(.nav-cta):not(.nav-m) { display:none; }
.nav { gap:14px; }
.nav a.nav-m { font-size:14px; white-space:nowrap; display:inline-flex; align-items:center; min-height:44px; }
.nav a:not(.nav-cta):hover { color:var(--mint2); }
.nav-cta {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; padding:0 16px; border-radius:12px;
  background:var(--mint); color:var(--mint-ink) !important; font-weight:800 !important; font-size:14px !important;
  transition:background .2s;
}
.nav-cta:hover { background:var(--mint2); }

/* ---------- 공통 타이포 ---------- */
.num {
  display:flex; align-items:baseline; gap:12px;
  font-size:14px; font-weight:800; letter-spacing:.06em; color:var(--mint); margin-bottom:18px;
  font-variant-numeric:tabular-nums;
}
.num span { font-weight:700; letter-spacing:-0.01em; color:var(--ink2); padding-left:12px; border-left:1px solid var(--line2); }
h2 { font-size:clamp(32px, 8.4vw, 64px); font-weight:900; line-height:1.14; letter-spacing:-0.045em; color:#fff; }
.lede { margin-top:20px; font-size:17px; line-height:1.7; color:var(--ink2); max-width:34em; }
section { padding:76px 0; position:relative; }
.sec-head { margin-bottom:44px; }

.glass {
  background:linear-gradient(180deg,var(--glass-hi),var(--glass));
  border:1px solid var(--line); border-radius:var(--r);
  box-shadow:0 20px 50px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.07);
  -webkit-backdrop-filter:blur(14px) saturate(140%); backdrop-filter:blur(14px) saturate(140%);
}

.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:56px; padding:0 28px; border-radius:14px;
  font-size:17px; font-weight:800; letter-spacing:-0.02em;
  transition:transform .25s var(--ease), box-shadow .25s, background .2s, border-color .2s;
}
.btn-main {
  background:linear-gradient(180deg,#7fd8bd,var(--mint)); color:var(--mint-ink);
  box-shadow:0 0 0 1px rgba(143,224,200,.5), 0 10px 30px rgba(var(--mint-rgb),.30), inset 0 1px 0 rgba(255,255,255,.5);
}
.btn-main:hover { transform:translateY(-2px); box-shadow:0 0 0 1px rgba(143,224,200,.7), 0 16px 40px rgba(var(--mint-rgb),.42), inset 0 1px 0 rgba(255,255,255,.6); }
.btn-main:active { transform:translateY(0); }
.b2b-actions .btn { white-space:nowrap; }
.btn-ghost { white-space:nowrap; background:rgba(255,255,255,.04); color:var(--mint2); box-shadow:inset 0 0 0 1.5px rgba(143,224,200,.55); }
.btn-ghost:hover { background:rgba(var(--mint-rgb),.12); transform:translateY(-2px); }
.btn-link {
  display:inline-flex; align-items:center; gap:8px; min-height:48px;
  font-size:16px; font-weight:700; color:var(--ink);
  border-bottom:1px solid var(--mint); align-self:flex-start; line-height:1.2; padding:12px 0 6px;
  transition:color .2s, border-color .2s;
}
.btn-link:hover { color:var(--mint2); border-color:var(--mint2); }

/* ---------- 스크롤 등장 ---------- */
.js .rv { opacity:0; transform:translateY(22px); transition:opacity .8s var(--ease), transform .8s var(--ease); transition-delay:var(--d,0ms); }
.js .rv.in { opacity:1; transform:none; }

/* ---------- 01 HERO ---------- */
.hero {
  padding:30px 0 0; position:relative; overflow:hidden;
  background:
    radial-gradient(ellipse 90% 46% at 88% 0%, rgba(var(--mint-rgb),.16), transparent 65%),
    radial-gradient(ellipse 70% 52% at 0% 38%, rgba(40,70,140,.22), transparent 70%),
    linear-gradient(180deg,#07101f 0%, var(--bg) 100%);
}
.hero-grid { display:grid; gap:20px; position:relative; }
.kicker { display:inline-flex; align-items:center; gap:10px; font-size:13px; font-weight:700; color:var(--mint2); letter-spacing:-0.01em; margin-bottom:18px; padding:7px 13px; border-radius:999px; background:rgba(var(--mint-rgb),.09); border:1px solid rgba(var(--mint-rgb),.32); }
.kicker .dot { width:7px; height:7px; border-radius:50%; background:var(--mint2); box-shadow:0 0 10px var(--mint); animation:pulse 2.4s ease-in-out infinite; flex:none; }
@keyframes pulse { 0%,100%{ opacity:1;} 50%{ opacity:.35;} }
.hero h1 { font-size:clamp(40px, 12.2vw, 104px); font-weight:900; line-height:1.1; letter-spacing:-0.06em; color:#fff; }
.hero h1 em { font-style:normal; color:var(--mint2); text-shadow:0 0 38px rgba(var(--mint-rgb),.5); white-space:nowrap; }
.hero-sub { margin-top:20px; font-size:16.5px; line-height:1.7; color:var(--ink2); max-width:26em; }
.hero-cta { margin-top:24px; display:flex; flex-direction:column; gap:6px; align-items:stretch; }
.hero-cta .btn { width:100%; }
.trust { margin-top:22px; display:flex; flex-wrap:wrap; gap:8px 18px; font-size:14px; font-weight:600; color:var(--mute); }
.trust li { display:flex; align-items:center; gap:8px; }
.trust li::before { content:''; width:6px; height:6px; border-radius:2px; background:var(--mint2); box-shadow:0 0 8px var(--mint); transform:rotate(45deg); }
.hero-art { margin:6px -8px 0; position:relative; }
.hero-art::before { content:''; position:absolute; left:50%; top:46%; width:70%; height:60%; transform:translate(-50%,-50%); background:radial-gradient(ellipse,rgba(var(--mint-rgb),.24),transparent 68%); filter:blur(30px); pointer-events:none; }
.hero-art svg { display:block; width:100%; height:auto; overflow:visible; position:relative; }
.h-ring { fill:none; stroke:rgba(var(--mint-rgb),.28); stroke-width:1.5; }
.h-ring2 { stroke-dasharray:2 7; stroke-linecap:round; }
.h-sun { fill:url(#hsunG); }
.h-sunline { fill:none; stroke:var(--mint2); stroke-opacity:.6; stroke-width:1.75; filter:drop-shadow(0 0 6px rgba(var(--mint-rgb),.7)); }
.h-hillfill { fill:url(#hhillG); }
.h-hill { fill:none; stroke:var(--mint2); stroke-width:2; stroke-linejoin:round; filter:drop-shadow(0 0 5px rgba(var(--mint-rgb),.6)); }
.h-roadline { stroke:var(--mint); stroke-opacity:.7; stroke-width:2; fill:none; }
.h-dash { stroke:var(--ink2); stroke-opacity:.6; stroke-width:2.5; stroke-dasharray:22 20; fill:none; animation:roadmove 1.2s linear infinite; }
@keyframes roadmove { to { stroke-dashoffset:-42; } }
.h-bubble rect, .h-bubble path { fill:#0B1730; stroke:var(--mint2); stroke-width:2; stroke-linejoin:round; }
.h-bubble .h-cover { stroke:#0B1730; stroke-width:3.5; }
.h-bubble text { font-size:22px; font-weight:900; fill:#fff; font-family:'Pretendard',sans-serif; stroke:none; }
.h-bubble { animation:bob 3.4s ease-in-out infinite; filter:drop-shadow(0 0 8px rgba(var(--mint-rgb),.45)); }
@keyframes bob { 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-8px);} }
.h-spin { animation:spin 1.1s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.h-truck { animation:truckbob 1.1s ease-in-out infinite; filter:drop-shadow(0 0 7px rgba(var(--mint-rgb),.5)); }
@keyframes truckbob { 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-1.5px);} }
.wh-c { fill:#06101D; stroke:var(--mint); stroke-width:1.9; }
.wh-s { fill:none; stroke:var(--mint2); stroke-width:1.7; stroke-linecap:round; }
.scrollcue { display:none; }

/* ---------- 02 PAIN ---------- */
.pain { background:linear-gradient(180deg,var(--bg),var(--bg2)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.pain-list { border-top:1px solid var(--line2); }
.pain-list li { display:grid; grid-template-columns:44px 1fr; gap:14px; padding:24px 0; border-bottom:1px solid var(--line); }
.pain-list b { font-size:15px; font-weight:800; color:var(--mint); letter-spacing:.04em; padding-top:4px; font-variant-numeric:tabular-nums; }
.pain-list h3 { font-size:22px; font-weight:800; letter-spacing:-0.04em; line-height:1.3; color:#fff; }
.pain-list p { margin-top:8px; color:var(--ink2); font-size:15.5px; line-height:1.7; }

/* ---------- 03 기사의 하루 ---------- */
.day-intro { padding-bottom:36px; background:var(--bg2); }
.day-intro .sec-head { margin-bottom:0; }
.day { position:relative; height:520vh; height:520svh; background:var(--bg); }
.day-pin {
  position:sticky; top:var(--hdr);
  height:calc(100vh - var(--hdr)); height:calc(100svh - var(--hdr));
  display:grid; grid-template-rows:minmax(0,56%) minmax(0,1fr);
  background:var(--bg);
}
.scene {
  position:relative; overflow:hidden; min-height:0; border-radius:0 0 28px 28px;
  border-bottom:1px solid rgba(var(--mint-rgb),.4);
  box-shadow:0 18px 50px rgba(0,0,0,.5), 0 1px 24px rgba(var(--mint-rgb),.16);
}
.scene svg { display:block; width:100%; height:100%; max-width:none; }
.cl { animation:cloud 60s linear infinite; }
.cl1 { transform:translate(60px,70px); }
.cl2 { transform:translate(420px,130px); animation-duration:80s; animation-direction:reverse; }
@keyframes cloud { 0%{ translate:0 0;} 50%{ translate:90px 0;} 100%{ translate:0 0;} }
#truck-t { filter:drop-shadow(0 0 5px rgba(var(--mint-rgb),.55)); }
.scene-clock {
  position:absolute; left:14px; top:12px;
  display:flex; align-items:baseline; gap:8px;
  padding:6px 13px; border-radius:999px;
  background:rgba(8,16,31,.72); border:1px solid var(--line2);
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  font-weight:900; font-size:15px; letter-spacing:-0.01em; font-variant-numeric:tabular-nums; color:#fff;
}
.scene-clock span + span { font-size:13px; font-weight:700; color:var(--mint2); }
#bubble-t { transition:opacity .25s; }

.panel { min-height:0; padding:14px var(--pad) 0; display:flex; flex-direction:column; gap:6px; }
.rail { position:relative; display:flex; justify-content:space-between; flex:none; }
.rail li { flex:1; display:flex; justify-content:center; position:relative; z-index:1; }
.rail button {
  background:none; border:0; cursor:pointer; min-width:44px; min-height:44px; padding:2px 2px 0;
  display:flex; flex-direction:column; align-items:center; gap:2px; color:var(--mute);
}
.rail button i { width:12px; height:12px; border-radius:50%; background:var(--bg); border:2px solid var(--mute); transition:all .3s var(--ease); }
.rail button b { font-size:13px; font-weight:800; line-height:1.2; }
.rail button small { font-size:11px; font-weight:600; font-variant-numeric:tabular-nums; line-height:1.1; }
.rail button.on { color:#fff; }
.rail button.on i { background:var(--mint2); border-color:var(--mint2); transform:scale(1.35); box-shadow:0 0 12px var(--mint); }
.rail button.past { color:var(--ink2); }
.rail button.past i { background:var(--mint); border-color:var(--mint); }
.rail-line { position:absolute; left:10%; right:10%; top:10px; height:2px; background:rgba(255,255,255,.14); z-index:0; border-radius:2px; }
.rail-line span { display:block; height:100%; width:0; background:var(--mint2); box-shadow:0 0 10px var(--mint); border-radius:2px; }

.steps { position:relative; flex:1; min-height:0; }
.step {
  position:absolute; inset:0; overflow:hidden; padding-top:6px;
  opacity:0; transform:translateY(14px); pointer-events:none;
  transition:opacity .45s var(--ease), transform .45s var(--ease);
}
.step.on { opacity:1; transform:none; pointer-events:auto; }
.step-time { font-size:12px; font-weight:800; letter-spacing:.06em; color:var(--mint); }
.step h3 { margin-top:6px; font-size:clamp(23px, 6.2vw, 30px); font-weight:900; line-height:1.2; letter-spacing:-0.045em; color:#fff; }
.step p:not(.step-time) { margin-top:8px; font-size:14.5px; line-height:1.6; color:var(--ink2); }
.chips { margin-top:10px; display:flex; flex-wrap:wrap; gap:6px; }
.chips li { padding:5px 12px; border-radius:999px; font-size:12.5px; font-weight:800; color:var(--mint2); background:rgba(var(--mint-rgb),.1); border:1px solid rgba(var(--mint-rgb),.3); }

/* ---------- 04 아이콘 ---------- */
.icons { background:linear-gradient(180deg,var(--bg),var(--bg2)); }
.ic-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; }
.ic {
  position:relative; padding:18px 16px 20px; border-radius:var(--r); cursor:default; outline-offset:-3px; touch-action:manipulation;
  background:linear-gradient(180deg,var(--glass-hi),var(--glass)); border:1px solid var(--line);
  transition:border-color .3s, transform .4s var(--ease), box-shadow .3s;
}
.ic:hover, .ic:focus-visible, .ic.on { border-color:rgba(var(--mint-rgb),.5); transform:translateY(-3px); box-shadow:0 18px 40px rgba(0,0,0,.4), 0 0 0 1px rgba(var(--mint-rgb),.15); }
.ic-tile {
  width:64px; height:64px; border-radius:18px; margin-bottom:16px;
  display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 50% 30%, rgba(var(--mint-rgb),.22), rgba(var(--mint-rgb),.04)); border:1px solid rgba(var(--mint-rgb),.28);
  color:var(--mint2); transition:background .3s, border-color .3s;
}
.ic:hover .ic-tile, .ic:focus-visible .ic-tile, .ic.on .ic-tile { background:radial-gradient(circle at 50% 30%, rgba(var(--mint-rgb),.34), rgba(var(--mint-rgb),.08)); border-color:rgba(var(--mint-rgb),.55); }
.ic-tile svg {
  width:40px; height:40px; fill:none; stroke:currentColor; stroke-width:1.9;
  stroke-linecap:round; stroke-linejoin:round; overflow:visible;
  filter:drop-shadow(0 0 5px rgba(var(--mint-rgb),.7));
}
.ic-tile .ac { stroke:var(--mint3); }
.ic-tile circle.ac[style], .ic-tile .flag circle.ac { fill:var(--mint3) !important; stroke:none; }
.ic h3 { font-size:17px; font-weight:800; letter-spacing:-0.04em; line-height:1.3; color:#fff; }
.ic p { margin-top:6px; font-size:14px; line-height:1.6; color:var(--ink2); }

/* 아이콘별 움직임 (각자 다름) */
.i-chat .d { fill:var(--mint3); stroke:none; }
.ic svg * { transform-box:fill-box; transform-origin:center; }
/* 마이크 — 음파가 번져 나감 */
.i-mic .w2 { opacity:0; }
.ic:hover .i-mic .w1, .ic:focus-visible .i-mic .w1, .ic.on .i-mic .w1 { animation:wave .9s ease-in-out infinite; }
.ic:hover .i-mic .w2, .ic:focus-visible .i-mic .w2, .ic.on .i-mic .w2 { animation:wave2 .9s ease-in-out .25s infinite; }
@keyframes wave { 0%,100%{ opacity:1; transform:scale(1);} 50%{ opacity:.35; transform:scale(1.18);} }
@keyframes wave2 { 0%{ opacity:0; transform:scale(.9);} 50%{ opacity:1; transform:scale(1.05);} 100%{ opacity:0; transform:scale(1.2);} }
/* 핀 — 톡 떨어져 내려앉고 링이 퍼짐 */
.ic:hover .i-pin .pin, .ic:focus-visible .i-pin .pin, .ic.on .i-pin .pin { animation:drop 1s var(--ease) infinite; }
.ic:hover .i-pin .ring, .ic:focus-visible .i-pin .ring, .ic.on .i-pin .ring { animation:ring 1s ease-out infinite; }
@keyframes drop { 0%{ transform:translateY(-9px);} 40%{ transform:translateY(0);} 55%{ transform:translateY(-3px);} 70%,100%{ transform:translateY(0);} }
@keyframes ring { 0%,35%{ transform:scale(.6); opacity:1;} 100%{ transform:scale(1.9); opacity:0;} }
/* 카메라 — 셔터 번쩍 */
.i-cam .spark { opacity:0; }
.ic:hover .i-cam .spark, .ic:focus-visible .i-cam .spark, .ic.on .i-cam .spark { animation:flash 1.1s steps(1,end) infinite; }
.ic:hover .i-cam .lens, .ic:focus-visible .i-cam .lens, .ic.on .i-cam .lens { animation:lens 1.1s ease-in-out infinite; }
@keyframes flash { 0%{ opacity:0;} 45%{ opacity:1;} 75%,100%{ opacity:0;} }
@keyframes lens { 0%,100%{ transform:scale(1);} 40%{ transform:scale(.7);} 60%{ transform:scale(1.15);} }
/* 말풍선 — 기울고 점이 차례로 통통 */
.ic:hover .i-chat .bub, .ic:focus-visible .i-chat .bub, .ic.on .i-chat .bub { animation:tilt 1.2s ease-in-out infinite; }
.ic:hover .i-chat .d, .ic:focus-visible .i-chat .d, .ic.on .i-chat .d { animation:dot 1.2s ease-in-out infinite; }
.i-chat .d2 { animation-delay:.15s !important; } .i-chat .d3 { animation-delay:.3s !important; }
@keyframes tilt { 0%,100%{ transform:rotate(0);} 50%{ transform:rotate(-5deg) translateY(-1px);} }
@keyframes dot { 0%,60%,100%{ transform:translateY(0);} 30%{ transform:translateY(-4px);} }
/* 노선 — 점선이 흘러가고 깃발이 톡 */
.i-route .path { stroke-dasharray:3 5; }
.ic:hover .i-route .path, .ic:focus-visible .i-route .path, .ic.on .i-route .path { animation:flow .8s linear infinite; }
.ic:hover .i-route .flag, .ic:focus-visible .i-route .flag, .ic.on .i-route .flag { animation:pop 1.2s ease-in-out infinite; }
@keyframes flow { to { stroke-dashoffset:-16; } }
@keyframes pop { 0%,100%{ transform:scale(1);} 50%{ transform:scale(1.5);} }
/* 내려받기 — 화살표가 아래로 쑥 */
.ic:hover .i-dl .arrow, .ic:focus-visible .i-dl .arrow, .ic.on .i-dl .arrow { animation:down 1s var(--ease) infinite; }
@keyframes down { 0%{ transform:translateY(-4px); opacity:0;} 35%{ opacity:1;} 70%{ transform:translateY(5px); opacity:1;} 100%{ transform:translateY(5px); opacity:0;} }
/* 일지 — 줄이 써지고 체크가 찍힘 */
.i-doc .ln { transform-origin:left center; }
.ic:hover .i-doc .l1, .ic:focus-visible .i-doc .l1, .ic.on .i-doc .l1 { animation:write 1.4s var(--ease) infinite; }
.ic:hover .i-doc .l2, .ic:focus-visible .i-doc .l2, .ic.on .i-doc .l2 { animation:write 1.4s var(--ease) .25s infinite; }
.ic:hover .i-doc .chk, .ic:focus-visible .i-doc .chk, .ic.on .i-doc .chk { animation:chk 1.4s var(--ease) infinite; }
@keyframes write { 0%{ transform:scaleX(0);} 40%,100%{ transform:scaleX(1);} }
@keyframes chk { 0%,45%{ opacity:0; transform:scale(.4);} 65%{ opacity:1; transform:scale(1.25);} 80%,100%{ opacity:1; transform:scale(1);} }
/* 하차지 — 점이 차례로 채워짐 */
.ic:hover .i-stops .st, .ic:focus-visible .i-stops .st, .ic.on .i-stops .st { animation:fillst 1.5s ease-in-out infinite; }
.i-stops .st2 { animation-delay:.35s !important; } .i-stops .st3 { animation-delay:.7s !important; }
@keyframes fillst { 0%,10%{ fill:transparent; transform:scale(1);} 30%,70%{ fill:var(--mint2); stroke:var(--mint3); transform:scale(1.3);} 100%{ fill:transparent; transform:scale(1);} }

/* ---------- 05 B2B : 한 단계 밝은 남색 유리 패널 ---------- */
.b2b {
  background:
    radial-gradient(ellipse 70% 50% at 100% 0%, rgba(var(--mint-rgb),.14), transparent 70%),
    linear-gradient(180deg,var(--panel),var(--panel2));
  border-top:1px solid rgba(var(--mint-rgb),.22); border-bottom:1px solid var(--line);
  color:var(--ink);
}
.b2b .num { color:var(--mint2); }
.b2b-grid { display:grid; gap:40px; }
.b2b-price { margin-top:20px; font-size:14.5px; line-height:1.75; color:var(--ink2); padding-top:20px; border-top:1px solid var(--line2); max-width:36em; }
.b2b-price strong { color:var(--mint2); font-weight:800; }
.contact { margin-top:24px; padding:18px 18px 10px; border-radius:20px; max-width:480px; background:rgba(0,0,0,.26); border:1px solid var(--line2); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.contact-t { font-size:15px; font-weight:800; line-height:1.5; margin-bottom:8px; color:#fff; }
.contact-row { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; padding:10px 0; border-top:1px solid var(--line); }
.contact-l { font-size:12.5px; font-weight:700; color:var(--mute); min-width:30px; }
.contact-v { font-size:16.5px; font-weight:800; color:var(--mint2); user-select:text; -webkit-user-select:text; word-break:break-all; }
.copy {
  min-height:44px; min-width:56px; padding:0 14px; border-radius:12px; cursor:pointer;
  background:transparent; color:var(--mint2); border:1.5px solid var(--mint); font-weight:700; font-size:13.5px;
}
.copy:hover { background:var(--mint); color:var(--mint-ink); }
.contact-alt { font-size:13px; font-weight:600; color:var(--ink2); text-decoration:underline; text-underline-offset:3px; min-height:44px; display:inline-flex; align-items:center; }
.b2b-actions { margin-top:26px; display:flex; flex-direction:column; gap:6px; align-items:stretch; }
.b2b-actions .btn { width:100%; }
.b2b-stats { display:grid; grid-template-columns:1fr 1fr; gap:12px; align-content:start; }
.b2b-stats li { padding:20px 16px; border-radius:20px; background:rgba(var(--mint-rgb),.06); border:1px solid rgba(var(--mint-rgb),.22); box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }
.b2b-stats b { display:block; font-size:clamp(26px, 7vw, 36px); font-weight:900; letter-spacing:-0.05em; color:var(--mint2); line-height:1.1; text-shadow:0 0 28px rgba(var(--mint-rgb),.35); }
.b2b-stats span { display:block; margin-top:8px; font-size:13px; line-height:1.5; color:var(--ink2); }

/* ---------- 06 부가 서비스 ---------- */
.side { background:var(--bg); }
.side-grid { display:grid; gap:14px; }
.side-card {
  display:flex; flex-direction:column; align-items:flex-start; gap:10px;
  padding:24px 22px; border-radius:24px;
  background:linear-gradient(180deg,var(--glass-hi),var(--glass)); border:1px solid var(--line);
  box-shadow:0 20px 50px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .35s var(--ease), border-color .3s;
}
.side-card:hover { transform:translateY(-3px); border-color:rgba(var(--mint-rgb),.5); }
.side-card h3 { font-size:21px; font-weight:800; letter-spacing:-0.04em; line-height:1.35; color:#fff; }
.side-card p { font-size:15px; line-height:1.7; color:var(--ink2); }
.side-card .go { margin-top:auto; font-size:15px; font-weight:800; color:var(--mint2); min-height:32px; padding-top:6px; }
.tag { display:inline-block; padding:3px 10px; border-radius:6px; font-size:12px; font-weight:800; color:var(--mint2); background:rgba(var(--mint-rgb),.08); border:1px solid rgba(var(--mint-rgb),.35); letter-spacing:.03em; }
.tag-new { color:var(--mint-ink); background:var(--mint); border-color:var(--mint); }
.side-blog { border-color:rgba(var(--mint-rgb),.3); }
.side-blog h3 { font-size:19px; }

/* ---------- 07 회사 방문 ---------- */
.visit { background:var(--bg2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.visit-grid { display:grid; gap:40px; }
.visit-grid > * { min-width:0; }
.visit-desc { margin-top:20px; font-size:17px; line-height:1.75; color:var(--ink2); }
.visit-desc strong { color:#fff; font-weight:800; }
.visit-team { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 28px; }
.visit-team li { padding:7px 14px; border-radius:999px; font-size:14px; font-weight:700; color:var(--ink2); background:var(--glass); border:1px solid var(--line2); }
.visit-team li b { color:var(--mint2); font-weight:900; margin-left:6px; }
.visit-cta { display:flex; flex-direction:column; gap:6px; align-items:stretch; }
.visit-cta .btn { width:100%; }
.visit-note { margin-top:18px; font-size:13px; color:var(--mute); line-height:1.7; }

.visit {
  --vs-wall:#22324a; --vs-room:#0A1424; --vs-grid:rgba(255,255,255,.03);
  --vs-wood:#6B5538; --vs-wood-d:#54422B; --vs-metal:#3A4A58; --vs-screen:#060D18;
  --vs-sofa:#3C5A7A; --vs-plant:#3E8E5A;
  --of-skin:#F0C9A4; --of-hair:#2B2420;
  --primary:var(--mint); --gray:var(--mute); --gray2:var(--mute); --line:rgba(255,255,255,.09);
}
.visit-side { min-width:0; }
.visit-office { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; padding:8px; border-radius:20px; background:var(--vs-wall); box-shadow:0 20px 50px rgba(0,0,0,.4); }
.visit-room {
  min-width:0; display:flex; flex-direction:column;
  background-color:var(--vs-room);
  background-image:linear-gradient(var(--vs-grid) 1px, transparent 1px), linear-gradient(90deg, var(--vs-grid) 1px, transparent 1px);
  background-size:22px 22px; border-radius:14px; padding:10px 8px 12px;
}
.visit-room--ceo, .visit-room--lounge { background-image:repeating-linear-gradient(90deg, rgba(160,120,70,.08) 0 18px, rgba(160,120,70,.03) 18px 36px); }
.visit-room--cs { box-shadow:inset 0 0 0 1.5px rgba(var(--mint-rgb),.45); }
.visit-room-head { display:flex; align-items:center; justify-content:space-between; gap:6px; flex-wrap:wrap; }
.visit-room-name { font-size:12.5px; font-weight:800; padding:4px 10px; border-radius:999px; background:var(--glass-hi); border:1px solid var(--line); white-space:nowrap; color:var(--ink); }
.visit-room-count { font-size:12px; font-weight:800; color:var(--mint2); white-space:nowrap; }
.visit-art { width:100%; height:44px; margin:8px 0 4px; display:block; }
.visit-art .f-wood { fill:var(--vs-wood); } .visit-art .f-wood-d { fill:var(--vs-wood-d); }
.visit-art .f-metal { fill:var(--vs-metal); } .visit-art .f-scr { fill:var(--vs-screen); }
.visit-art .f-sofa { fill:var(--vs-sofa); } .visit-art .f-plant { fill:var(--vs-plant); }
.visit-art .f-pri { fill:var(--mint); } .visit-art .f-yel { fill:#D4A847; }
.visit-art .f-cup { fill:#EDE6D8; } .visit-art .f-win { fill:rgba(140,190,255,.22); }
.visit-people { display:flex; flex-wrap:wrap; gap:4px 6px; justify-content:center; min-height:58px; }
.visit-people li { width:46px; display:flex; flex-direction:column; align-items:center; font-size:11.5px; font-weight:700; color:var(--ink2); line-height:1.3; text-align:center; }
.visit-people li.more { justify-content:center; height:40px; color:var(--mute); }
.visit-av { width:36px; height:36px; border-radius:50%; background:rgba(var(--mint-rgb),.08); display:flex; align-items:center; justify-content:center; flex:none; }
.visit-av svg { width:36px; height:36px; display:block; overflow:visible; }
.visit-av .fx { opacity:0; }
.visit-av.mode-work .fx-dots, .visit-av.mode-on .fx-dots, .visit-av.mode-rest .fx-cup { opacity:1; }
.visit-av.mode-idle .fx-zz, .visit-av.mode-off .fx-zz { opacity:.8; }
.visit-av .fx-dots circle { fill:var(--mint); }
.visit-av .fx-zz text { fill:var(--mute); font-family:Pretendard, sans-serif; font-weight:800; }
.visit-av .s-steam { fill:none; stroke:var(--mute); stroke-width:1.6; stroke-linecap:round; opacity:.7; }
.visit-av .f-cup { fill:#EDE6D8; }
.visit-av .bulb { fill:#556579; } .visit-av.mode-on .bulb { fill:var(--mint); }
.visit-av .eye { fill:#CFE9E2; } .visit-av.mode-off .eye { fill:#6F8580; }
.visit-av.mode-work .fx-dots circle, .visit-av.mode-on .fx-dots circle { animation:visit-dot 1.2s ease-in-out infinite; }
.visit-av.mode-work .fx-dots circle:nth-child(2), .visit-av.mode-on .fx-dots circle:nth-child(2) { animation-delay:.2s; }
.visit-av.mode-work .fx-dots circle:nth-child(3), .visit-av.mode-on .fx-dots circle:nth-child(3) { animation-delay:.4s; }
.visit-av .ph-wrap { position:relative; display:block; width:100%; height:100%; }
.visit-av .ph-img { display:block; width:100%; height:100%; border-radius:50%; object-fit:cover; object-position:50% 30%; border:2px solid var(--line2); background:var(--bg3); }
.visit-av.mode-work .ph-img, .visit-av.mode-on .ph-img { border-color:var(--mint); }
.visit-av.mode-rest .ph-img { border-color:#D4A847; }
.visit-av .ph-wrap .ph-fx { position:absolute; left:0; top:0; pointer-events:none; filter:drop-shadow(0 0 1.5px rgba(0,0,0,.65)); width:100%; height:100%; }
.visit-av .ph-wrap .ph-fb { display:none; width:100%; height:100%; }
.visit-av .ph-wrap.ph-fail .ph-fb { display:block; }
.visit-av .ph-wrap.ph-fail .ph-img, .visit-av .ph-wrap.ph-fail .ph-fx { display:none; }
@keyframes visit-dot { 0%,100%{ opacity:.25;} 50%{ opacity:1;} }
.visit-now { margin-top:12px; padding:14px 16px; border-radius:16px; background:var(--glass); border:1px solid var(--line); }
.visit-now-title { display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; font-size:13.5px; font-weight:800; margin-bottom:8px; color:#fff; }
.visit-now-title::before { content:''; width:7px; height:7px; border-radius:50%; background:var(--mint2); box-shadow:0 0 8px var(--mint); animation:pulse 2s infinite; }
.visit-now-time { font-size:12px; font-weight:600; color:var(--mute); }
.visit-now li { display:flex; align-items:center; gap:10px; padding:7px 0; border-top:1px solid rgba(255,255,255,.06); font-size:14px; color:var(--ink2); line-height:1.45; }
.visit-now li:first-child { border-top:none; }
.visit-now li .visit-av, .visit-now li .visit-av svg { width:30px; height:30px; }
.visit-now li b { color:#fff; font-weight:800; margin-right:6px; }
.visit-now li small { color:var(--mute); font-size:12px; margin-left:2px; }

/* ---------- 08 회사 소개 ---------- */
.about { background:var(--bg); }
.about-grid { display:grid; gap:32px; }
.about-card { border-radius:24px; padding:26px 22px; background:linear-gradient(180deg,var(--glass-hi),var(--glass)); border:1px solid var(--line); box-shadow:0 20px 50px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06); }
.about-card h3, .about-way h3 { font-size:22px; font-weight:800; letter-spacing:-0.04em; margin-bottom:14px; color:#fff; }
.about-card p, .about-way p { font-size:15.5px; line-height:1.8; color:var(--ink2); margin-bottom:10px; }
.about-way p strong { color:var(--mint2); font-weight:700; }
.about-meta { margin-top:20px; padding-top:18px; border-top:1px solid var(--line); font-size:13px; line-height:1.9; color:var(--mute); }

/* ---------- 최종 CTA : 새벽 ---------- */
.final { background:linear-gradient(180deg,var(--bg) 0%, #0b2030 60%, #1d4a52 100%); color:var(--ink); padding:96px 0 110px; position:relative; overflow:hidden; }
.final::before { content:''; position:absolute; left:50%; bottom:-230px; width:130%; height:420px; transform:translateX(-50%); background:radial-gradient(ellipse at 50% 100%, rgba(143,224,200,.5), rgba(var(--mint-rgb),.14) 45%, transparent 70%); pointer-events:none; }
.final::after { content:''; position:absolute; right:-120px; top:-120px; width:340px; height:340px; border-radius:50%; border:1px solid rgba(var(--mint-rgb),.25); box-shadow:inset 0 0 60px rgba(var(--mint-rgb),.08); pointer-events:none; }
.final .wrap { position:relative; z-index:1; }
.final h2 { font-size:clamp(32px, 8.8vw, 68px); }
.final-sub { margin-top:22px; font-size:16px; color:#E6F0F3; font-weight:600; }
.btn-xl { margin-top:30px; min-height:64px; font-size:19px; padding:0 34px; width:100%; }
.final-note { margin-top:22px; font-size:13.5px; color:#E8F2F5; }

/* ---------- 푸터 : 한 단계 밝은 남색 ---------- */
.foot { background:linear-gradient(180deg,var(--panel2),#091326); border-top:1px solid rgba(var(--mint-rgb),.22); color:var(--mute); padding:56px 0 40px; }
.foot-top { display:grid; grid-template-columns:1fr 1fr; gap:32px 24px; padding-bottom:36px; border-bottom:1px solid var(--line); }
.foot-top > div:first-child { grid-column:1 / -1; }
.foot-brand { font-size:22px; font-weight:900; color:#fff; margin-bottom:12px; }
.foot-tag { font-size:14px; line-height:1.8; }
.foot-col h4 { font-size:12.5px; font-weight:800; color:var(--ink); margin-bottom:8px; letter-spacing:.08em; }
.foot-col a { display:flex; align-items:center; min-height:44px; font-size:14px; transition:color .2s; }
.foot-col a:hover { color:var(--mint2); }
.foot-bottom { padding-top:20px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 16px; font-size:12.5px; color:var(--mute); }
.foot-company { margin-top:14px; font-size:11.5px; line-height:1.9; color:#8392A8; }

/* ---------- 오프닝 : 발광하는 선으로 그려지는 트럭 ---------- */
.opener {
  position:fixed; inset:0; z-index:1000; display:none;
  background:radial-gradient(ellipse 80% 60% at 50% 45%, #0d1b33 0%, #050A14 70%);
  align-items:center; justify-content:center;
  transition:opacity .6s ease, visibility .6s;
}
.opening .opener { display:flex; }
.opener.out { opacity:0; visibility:hidden; }
.opener-skip {
  position:absolute; top:calc(14px + env(safe-area-inset-top)); right:16px;
  min-height:44px; padding:0 18px; border-radius:999px; cursor:pointer;
  background:rgba(255,255,255,.04); border:1px solid var(--line2); color:var(--ink); font-size:14px; font-weight:700;
}
.opener-skip:hover { border-color:var(--mint); }
.opener-stage { width:min(86vw, 400px); display:flex; flex-direction:column; align-items:center; text-align:center; }
.op-art { width:100%; height:auto; overflow:visible; filter:drop-shadow(0 0 6px rgba(var(--mint-rgb),.55)); }
.op-art * { transform-box:fill-box; }
.op-d { fill:none; stroke:var(--mint2); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:1; stroke-dashoffset:1; }
.op-fill { opacity:0; }
.op-fill-sun { fill:rgba(var(--mint-rgb),.16); } .op-fill-box { fill:#0B1A2D; } .op-fill-cab { fill:#0F2238; } .op-fill-win { fill:rgba(184,243,224,.38); } .op-fill-mark { fill:var(--mint2); }
.op-d-sun { stroke:var(--mint); stroke-opacity:.85; }
.op-d-mark { stroke:var(--mint3); }
.op-wd { fill:none; stroke:var(--mint2); stroke-width:2.4; stroke-dasharray:1; stroke-dashoffset:1; }
.op-wf { fill:#06101D; opacity:0; }
.op-hub { fill:var(--mint2); opacity:0; }
.op-spoke { stroke:var(--mint2); stroke-width:2; opacity:0; }
.op-art .op-spin { transform-box:view-box; transform-origin:0 0; }
.op-truck { transform:translateX(-14px); }
.op-brand { margin-top:22px; display:flex; align-items:center; gap:14px; }
.op-logo { width:64px; height:64px; border-radius:18px; opacity:0; transform:scale(.5) rotate(-12deg); box-shadow:0 0 0 1px var(--line2), 0 0 30px rgba(var(--mint-rgb),.35); }
.op-title { display:flex; font-size:64px; font-weight:900; letter-spacing:-0.05em; line-height:1; }
.op-title span { display:inline-block; opacity:0; transform:translateY(40px); background:linear-gradient(180deg,#fff 20%,var(--mint2)); -webkit-background-clip:text; background-clip:text; color:transparent; text-shadow:0 0 40px rgba(var(--mint-rgb),.35); }
.op-sub { margin-top:14px; font-size:17px; font-weight:700; color:var(--ink2); opacity:0; }

.opener.play .op-d { animation:draw 1s var(--ease) forwards; }
.opener.play .op-wd { animation:draw .6s var(--ease) 1.3s forwards; }
.opener.play .op-d-sun { animation-duration:1.1s; animation-delay:.1s; }
.opener.play .op-d-road { animation-duration:.9s; animation-delay:.2s; }
.opener.play .op-d-road2 { animation-duration:.7s; animation-delay:.9s; }
.opener.play .op-d-box { animation-duration:1.1s; animation-delay:.3s; }
.opener.play .op-d-cab { animation-duration:.8s; animation-delay:.9s; }
.opener.play .op-d-win { animation-duration:.5s; animation-delay:1.4s; }
.opener.play .op-d-mark { animation-duration:.5s; animation-delay:1.3s; }
.opener.play .op-d-stripe { animation-duration:.5s; animation-delay:1.2s; }
@keyframes draw { to { stroke-dashoffset:0; } }
.opener.play .op-fill { animation:fadein .5s ease forwards; }
.opener.play .op-fill-sun { animation-delay:1.5s; }
.opener.play .op-fill-box { animation-delay:1.7s; }
.opener.play .op-fill-cab { animation-delay:1.8s; }
.opener.play .op-fill-win { animation-delay:2s; }
.opener.play .op-fill-mark { animation-delay:1.9s; }
.opener.play .op-wf, .opener.play .op-hub, .opener.play .op-spoke { animation:fadein .4s ease 1.9s forwards; }
@keyframes fadein { to { opacity:1; } }
.opener.play .op-truck { animation:roll 1s var(--ease) 2s forwards; }
@keyframes roll { to { transform:translateX(6px); } }
.opener.play .op-spin { animation:spin .9s cubic-bezier(.3,.6,.3,1) 2s 1; }
.opener.play .op-logo { animation:logo .6s var(--ease) 2.3s forwards; }
@keyframes logo { to { opacity:1; transform:none; } }
.opener.play .op-title span { animation:rise .8s var(--ease) calc(2.6s + var(--i) * .12s) forwards; }
@keyframes rise { from{ opacity:0; transform:translateY(26px); filter:blur(10px);} to { opacity:1; transform:none; filter:blur(0);} }
.opener.play .op-sub { animation:fadein .6s ease 3.1s forwards; }
.opener-bar { position:absolute; left:0; right:0; bottom:0; height:3px; background:rgba(255,255,255,.06); }
.opener-bar i { display:block; height:100%; transform-origin:left; transform:scaleX(0); background:linear-gradient(90deg,#3BA88A,var(--mint2)); box-shadow:0 0 12px var(--mint); }
.opener.play .opener-bar i { animation:bar 4.3s linear forwards; }
@keyframes bar { to { transform:scaleX(1); } }

/* ---------- 태블릿·데스크톱 ---------- */
@media (min-width:600px) and (max-width:899px) {
  .hero h1 { font-size:80px; }
  .step h3 { font-size:32px; }
  .step p:not(.step-time) { font-size:17px; }
  .chips li { font-size:14px; padding:7px 14px; }
  .rail button b { font-size:14px; } .rail button small { font-size:12px; }
  .ic-grid { grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px; }
}
@media (min-width:900px) {
  :root { --pad:40px; --hdr:64px; }
  .nav { gap:16px; }
  .nav a:not(.nav-cta):not(.nav-m), .nav a.nav-m { display:inline-flex; align-items:center; min-height:44px; white-space:nowrap; font-size:14px; }
  section { padding:136px 0; }
  .sec-head { margin-bottom:64px; }
  .lede { font-size:19px; }
  h2 { font-size:clamp(44px, 5vw, 68px); }

  .hero { padding-top:40px; padding-bottom:64px; }
  .hero-grid { grid-template-columns:1.1fr .9fr; align-items:center; gap:24px; min-height:calc(100svh - var(--hdr) - 32px - 72px); }
  .hero h1 { font-size:clamp(66px, 7vw, 94px); }
  .b2b h2, .visit h2 { font-size:clamp(34px, 3.3vw, 46px); }
  .hero-sub { font-size:19px; }
  .hero-cta { flex-direction:row; align-items:center; gap:28px; }
  .hero-cta .btn { width:auto; }
  .hero-art { margin:0 -40px 0 0; }
  .scrollcue { display:flex; align-items:center; gap:12px; padding:0 var(--pad); max-width:var(--wrap); margin:0 auto; position:absolute; left:0; right:0; bottom:24px; font-size:12px; font-weight:700; letter-spacing:.14em; color:var(--mute); }
  .scrollcue i { display:block; width:56px; height:1px; background:var(--mint2); box-shadow:0 0 8px var(--mint); transform-origin:left; animation:cue 2.2s var(--ease) infinite; }
  @keyframes cue { 0%{ transform:scaleX(0);} 60%,100%{ transform:scaleX(1);} }

  .pain .wrap { display:grid; grid-template-columns:5fr 7fr; gap:72px; align-items:start; }
  .pain .sec-head { margin-bottom:0; position:sticky; top:calc(var(--hdr) + 40px); }
  .pain-list li { grid-template-columns:64px 1fr; padding:32px 0; }
  .pain-list h3 { font-size:26px; }
  .pain-list p { font-size:17px; }

  .day-pin { grid-template-rows:1fr; grid-template-columns:5fr 7fr; gap:0; padding:20px var(--pad) 24px; max-width:1360px; margin:0 auto; background:transparent; }
  .day-pin { position:sticky; }
  .panel { order:-1; padding:8px 40px 0 0; gap:14px; justify-content:center; }
  .scene { border-radius:32px; border:1px solid var(--line2); }
  .rail button b { font-size:14px; } .rail button small { font-size:12px; }
  .steps { flex:none; height:300px; }
  .step h3 { font-size:clamp(34px, 3.4vw, 46px); }
  .step p:not(.step-time) { font-size:17px; }
  .step-time { font-size:13px; }
  .chips li { font-size:14px; padding:7px 14px; }
  .scene-clock { left:20px; top:18px; font-size:18px; padding:8px 16px; }

  .ic-grid { grid-template-columns:repeat(4, minmax(0,1fr)); gap:20px; }
  .ic { padding:26px 22px 28px; }
  .ic-tile { width:76px; height:76px; border-radius:22px; margin-bottom:22px; }
  .ic-tile svg { width:46px; height:46px; }
  .ic h3 { font-size:19px; }
  .ic p { font-size:15px; }

  .b2b-grid { grid-template-columns:1.25fr 1fr; gap:80px; align-items:start; }
  .b2b-actions { flex-direction:row; align-items:center; gap:28px; }
  .b2b-actions .btn { width:auto; }
  .b2b-stats { gap:16px; padding-top:40px; }
  .b2b-stats li { padding:30px 24px; }

  .side-grid { grid-template-columns:1fr 1fr; gap:20px; }
  .side-blog { grid-column:1 / -1; flex-direction:row; align-items:center; gap:28px; padding:28px 32px; }
  .side-blog h3 { flex:1; font-size:22px; }
  .side-blog .go { margin:0; padding:0; white-space:nowrap; }
  .side-card { padding:32px 30px; }

  .visit-grid { grid-template-columns:1fr 1.05fr; gap:72px; align-items:center; }
  .visit-cta { flex-direction:row; align-items:center; gap:28px; }
  .visit-cta .btn { width:auto; }
  .visit-av, .visit-av svg { width:40px; height:40px; }
  .visit-people li { width:52px; }

  .about-grid { grid-template-columns:1fr 1fr; gap:72px; align-items:start; }
  .about-card { padding:40px 36px; }
  .about-way { padding-top:12px; }
  .about-way h3 { font-size:28px; }
  .about-way p { font-size:17px; }

  .final::after { right:-80px; top:-160px; width:560px; height:560px; }
  .btn-xl { width:auto; }
  .foot-top { grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; }
  .foot-top > div:first-child { grid-column:auto; }
}
@media (min-width:1100px) {
  .nav { gap:24px; }
  .nav a:not(.nav-cta):not(.nav-m), .nav a.nav-m { font-size:15px; }
}
@media (min-width:1200px) {
  .hero-art { margin-right:-80px; }
}
@media (max-width:360px) {
  :root { --pad:16px; }
  .hero h1 { font-size:38px; }
  .step p:not(.step-time) { font-size:14px; }
}
/* 낮은 화면(모바일 가로·작은 폰)에서 하루 패널이 넘치지 않게 */
@media (max-height:700px) and (max-width:899px) {
  .day-pin { grid-template-rows:minmax(0,44%) minmax(0,1fr); }
  .step h3 { font-size:21px; margin-top:4px; }
  .step p:not(.step-time) { font-size:13.5px; line-height:1.5; margin-top:6px; }
  .chips { margin-top:8px; }
}

/* ---------- 가격 (hidden 상태로 보관) ---------- */
.pricing { background:var(--bg2); border-top:1px solid var(--line); }
.price-grid { display:grid; gap:16px; }
.price-card { padding:26px 22px; border-radius:24px; background:linear-gradient(180deg,var(--glass-hi),var(--glass)); border:1px solid var(--line); display:flex; flex-direction:column; gap:10px; }
.price-card h3 { font-size:20px; font-weight:800; color:#fff; display:flex; align-items:center; gap:8px; }
.price-hot { border-color:rgba(var(--mint-rgb),.6); box-shadow:0 0 40px rgba(var(--mint-rgb),.12); }
.price-amt { font-size:34px; font-weight:900; color:#fff; letter-spacing:-0.04em; }
.price-amt small { font-size:14px; font-weight:600; color:var(--mute); }
.price-desc { color:var(--mute); font-size:14.5px; }
.price-list { display:grid; gap:8px; margin:6px 0 14px; }
.price-list li { position:relative; padding-left:20px; font-size:14.5px; color:var(--ink2); line-height:1.6; }
.price-list li::before { content:'\2713'; position:absolute; left:0; color:var(--mint2); font-weight:900; }
.price-note { margin-top:28px; padding:24px 22px; border-radius:20px; border:1px solid rgba(var(--mint-rgb),.25); background:rgba(var(--mint-rgb),.05); }
.price-note h3 { font-size:20px; font-weight:800; color:#fff; margin-bottom:8px; }
.price-note p { color:var(--ink2); line-height:1.75; }
.price-note strong { color:var(--mint2); }
@media (min-width:900px) { .price-grid { grid-template-columns:repeat(3, 1fr); gap:20px; } }

/* ---------- 관리자 진입(푸터 우하단, 눈에 띄지 않게) ---------- */
.foot { position:relative; }
.admin-entry { position:absolute; right:8px; bottom:6px; min-width:44px; min-height:44px; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.5); font-size:18px; line-height:1; transition:color .2s; }
.admin-entry:hover, .admin-entry:focus-visible { color:rgba(255,255,255,.95); }

/* ---------- 움직임 줄이기: 모든 움직임 정지, 정적 상태 ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation:none !important; transition:none !important; }
  .opener, .scrollcue { display:none !important; }
  .js .rv { opacity:1; transform:none; }
  .day { height:auto; }
  .day-pin { position:static; height:auto; display:block; padding:0; }
  .scene { height:min(62vw, 420px); min-height:260px; border-radius:0; border-bottom:1px solid rgba(var(--mint-rgb),.4); }
  .panel { padding:24px var(--pad) 0; }
  .rail { display:none; }
  .steps { height:auto; display:grid; gap:16px; }
  .step { position:static; opacity:1; transform:none; pointer-events:auto; padding:20px 18px; border-radius:20px; overflow:visible; background:linear-gradient(180deg,var(--glass-hi),var(--glass)); border:1px solid var(--line); }
  .scene-clock { display:none; }
  #bubble { display:none; }
  .ic:hover, .ic:focus-visible, .ic.on { transform:none; }
}
@media (prefers-reduced-motion: reduce) and (min-width:900px) {
  .day-pin { max-width:var(--wrap); margin:0 auto; padding:0 var(--pad); }
  .scene { border-radius:28px; border:1px solid var(--line2); }
  .steps { grid-template-columns:repeat(2, 1fr); }
}
