/* =========================================================
   MIYEOL 37.2℃ — 브랜드 사이트 1차 시안
   톤: 호텔 라운지 · 밤 · 은은한 온기 (먹색/밤색 + 앰버·골드)
   초기 숨김 상태는 모두 html.anim 아래에만 둔다 (JS 실패 시 전부 보임)
   ========================================================= */

:root{
  --ink:#0b0806;
  --bg:#0d0a07;
  --bg-2:#15100b;
  --bg-3:#1d160f;
  --panel:rgba(32,24,16,.62);
  --gold:#c9a35b;
  --gold-l:#e8c98a;
  --gold-xl:#f6e4b8;
  --gold-d:#9c7a3c;
  --champagne:#dcc79f;
  --ember:#e0893a;
  --red:#c0392b;
  --text:#efe8dc;
  --text-2:#c2b8a7;
  --text-3:#948a7b;
  --line:rgba(201,163,91,.24);
  --line-soft:rgba(232,201,138,.10);
  --gold-grad:linear-gradient(100deg,#a8823f 0%,#e8c98a 32%,#c9a35b 55%,#f3dfb0 78%,#b08a48 100%);
  --num-grad:linear-gradient(180deg,#fbeccb 0%,#e8c98a 45%,#c9a35b 75%,#9c7a3c 100%);
  --serif:"Noto Serif KR","Gowun Batang","Nanum Myeongjo",serif;
  --display:"Cormorant Garamond","Noto Serif KR",serif;
  --sans:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --ease:cubic-bezier(.22,.61,.21,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.77,0,.18,1);
  --maxw:1240px;
  --pad:clamp(20px,5vw,64px);
  --sec:clamp(96px,10vw,150px);
  --hd:84px;
  --page-bg:var(--bg);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html:not(.lenis){scroll-behavior:smooth}
body{
  margin:0;background:var(--page-bg);color:var(--text);
  font-family:var(--sans);font-size:16px;line-height:1.75;letter-spacing:-.01em;
  word-break:keep-all;overflow-wrap:break-word;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:clip;
  transition:background-color 1.2s var(--ease);
  /* Cormorant 기본값(올드스타일 숫자 o1·ıı) 대신 가지런한 숫자 / 한글 가짜 이탤릭 금지 */
  font-variant-numeric:lining-nums;
  font-synthesis:weight;
}
[hidden]{display:none!important}
.nw{white-space:nowrap}
/* 숫자 폭 고정이 필요한 곳 (카운터·표·진행 표시) */
.pl-num,.thermo-read b,.sig-count,.space-frac,.cmp td,.cmp .save,.mk-row b,.fin-dl dd b,.sim-row em,.sim-badge,.eyebrow em,.sig-no,.why-no,.step-lbl em,.fin-steps em,.faq-q em,.tbl-title span,.mnav nav a em,.rc-amt .num,.kpi .num{font-variant-numeric:lining-nums tabular-nums}
/* 은은한 노이즈 텍스처 (페이지 전체) */
body::before{
  content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.055;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .92 0 0 0 0 .8 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
img,svg,canvas{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
ul,ol{list-style:none;margin:0;padding:0}
h1,h2,h3,h4,p,figure,dl,dd{margin:0}
em{font-style:normal}
mark{background:none;color:inherit}
::selection{background:rgba(201,163,91,.35);color:#fff}
:focus-visible{outline:1px solid var(--gold-l);outline-offset:4px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.wrap{width:100%;max-width:calc(var(--maxw) + var(--pad)*2);margin:0 auto;padding:0 var(--pad);position:relative}
.pc{display:none}
@media (min-width:900px){.pc{display:inline}}

/* ---------- 공통 타이포 ---------- */
.sec{position:relative;padding:var(--sec) 0;overflow-x:clip}
/* 섹션 경계 : 금색 헤어라인 (빈 구간에도 리듬) */
.sec+.sec::before,.band+.sec::before{content:"";position:absolute;left:50%;top:0;width:min(220px,40vw);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(232,201,138,.38),transparent);pointer-events:none}
.band+.sec::before{display:none}
.sec-head{margin-bottom:clamp(48px,6vw,84px);position:relative}
.sec-head.center{text-align:center;display:flex;flex-direction:column;align-items:center}
.split-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px 64px;flex-wrap:wrap}
.split-head .lead{max-width:440px}
.eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:11.5px;font-weight:600;letter-spacing:.36em;color:var(--gold);margin-bottom:22px;text-transform:uppercase;white-space:nowrap}
.eyebrow em{font-family:var(--display);font-style:italic;font-weight:500;font-size:17px;letter-spacing:.02em;color:var(--gold-l)}
.eyebrow em::after{content:"";display:inline-block;width:34px;height:1px;background:linear-gradient(90deg,var(--gold),transparent);vertical-align:middle;margin-left:14px}
.eyebrow.center{justify-content:center}
.title{font-family:var(--serif);font-weight:400;font-size:clamp(30px,4.3vw,58px);line-height:1.3;letter-spacing:-.025em;color:var(--text);text-wrap:balance}
.title em,.story-quote em,.sig-outro-q em{
  background:var(--gold-grad);background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  font-weight:500;
}
.lead{color:var(--text-2);font-size:clamp(15px,1.25vw,17.5px);line-height:1.9;margin-top:22px}
.sec-head.split-head .lead{margin-top:0}
/* 9) 섹션 제목 장식선 — <use> 안의 path는 stroke 속성을 상속받으므로 svg에 지정 */
.orn{width:220px;height:16px;margin-top:26px;color:var(--gold);overflow:visible;fill:none;stroke:currentColor;stroke-width:1;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 2s var(--ease-io) .2s}
.orn-left{margin:30px 0 28px}
.anim .orn{stroke-dashoffset:1}
.anim .orn.is-in{stroke-dashoffset:0}
.src,.note{font-size:13.5px;color:var(--text-2);margin-top:28px;letter-spacing:0;line-height:1.75}
.note{text-align:center}
/* 면책·예시 안내 : 숫자와 같은 화면에, 읽을 수 있는 크기로 */
.note,.sim-note,.cost-notes,.disc{font-size:14px;line-height:1.75;color:var(--text-2)}
.note{display:block;width:fit-content;max-width:100%;margin:28px auto 0;padding:12px 18px;border:1px solid rgba(232,201,138,.18);border-radius:12px;background:rgba(13,10,7,.35)}
.disc{max-width:720px;margin-top:22px;padding:14px 18px;border:1px solid rgba(232,201,138,.22);border-radius:12px;background:rgba(13,10,7,.4);text-align:left}
.disc b{display:inline-block;margin-right:10px;padding:1px 9px;border-radius:999px;font-size:12px;font-weight:600;color:#1a1309;background:var(--gold-l);vertical-align:1px}
.ex-chip{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:999px;border:1px solid rgba(232,201,138,.5);font-family:var(--sans);font-size:11.5px;font-weight:600;font-style:normal;letter-spacing:.02em;color:var(--gold-xl);background:rgba(201,163,91,.1);vertical-align:middle;white-space:nowrap;-webkit-text-fill-color:currentColor}
.tbl-note{margin:16px 6px 2px;font-size:13.5px;line-height:1.75;color:var(--text-2)}
.num{font-variant-numeric:lining-nums;white-space:nowrap}
.gold-txt,.num.gold{background:var(--num-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}


/* 7) 오도미터 (JS가 숫자를 자리별 띠로 바꾼 뒤에만 적용) */
.odo{display:inline-flex;align-items:flex-end;line-height:1.08;vertical-align:bottom}
.odo-col{position:relative;display:inline-block;height:1.08em;overflow:hidden}
.odo-strip{display:block;transition-property:transform;transition-timing-function:cubic-bezier(.65,0,.15,1)}
.odo-strip::before{content:"0\A 1\A 2\A 3\A 4\A 5\A 6\A 7\A 8\A 9\A 0\A 1\A 2\A 3\A 4\A 5\A 6\A 7\A 8\A 9";display:block;white-space:pre;line-height:1.08em;text-align:center}
.odo-sym{display:inline-block;height:1.08em;line-height:1.08em}
.num.odo-built{background:none!important;-webkit-text-fill-color:currentColor}
.num.gold .odo-strip::before,.num.gold .odo-sym{background:var(--num-grad);background-size:100% 1.08em;background-repeat:repeat-y;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}

/* 골드 그라데이션 쉬머 */
.shimmer{
  background:linear-gradient(110deg,#a8823f 0%,#e8c98a 18%,#fff3d6 28%,#e8c98a 38%,#b08a48 55%,#e8c98a 72%,#fff3d6 80%,#b08a48 100%);
  background-size:260% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  animation:shimmer 7s linear infinite;
}
@keyframes shimmer{from{background-position:120% 0}to{background-position:-160% 0}}

/* ---------- 버튼 ---------- */
.btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:54px;padding:0 30px;border-radius:999px;font-size:15px;font-weight:600;letter-spacing:.01em;white-space:nowrap;
  transition:box-shadow .5s var(--ease),background-color .4s,color .4s,border-color .4s;overflow:hidden;isolation:isolate;
}
.btn svg{width:18px;height:18px;flex:none}
.btn-gold{color:#1a1309;background:linear-gradient(120deg,#b08a48,#e8c98a 45%,#c9a35b 70%,#a8823f);box-shadow:0 8px 30px -12px rgba(201,163,91,.55),inset 0 1px 0 rgba(255,244,214,.6)}
.btn-gold::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 30%,rgba(255,246,222,.75) 50%,transparent 70%);transform:translateX(-120%);transition:transform .9s var(--ease)}
.btn-gold:hover{box-shadow:0 14px 44px -10px rgba(224,160,80,.6),inset 0 1px 0 rgba(255,244,214,.7)}
.btn-gold:hover::after{transform:translateX(120%)}
.btn-line{color:var(--gold-xl);border:1px solid rgba(232,201,138,.45);background:rgba(20,15,10,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.btn-line:hover{border-color:var(--gold-l);background:rgba(201,163,91,.12)}
.btn-sm{height:42px;padding:0 20px;font-size:14px}
.btn-lg{height:62px;padding:0 34px;font-size:16px}
.link-arrow{display:inline-flex;align-items:center;gap:12px;color:var(--gold-l);font-size:15px;font-weight:500;padding-bottom:6px;border-bottom:1px solid rgba(232,201,138,.3);transition:gap .4s var(--ease),border-color .4s}
.link-arrow svg{width:18px;height:18px}
.link-arrow:hover{gap:20px;border-color:var(--gold-l)}

/* ---------- 카드 마감 : 유리 + 골드 헤어라인 + 스포트라이트 ---------- */
.glass{position:relative;background:linear-gradient(160deg,rgba(46,35,22,.62),rgba(20,15,10,.72));border-radius:20px;-webkit-backdrop-filter:blur(16px) saturate(120%);backdrop-filter:blur(16px) saturate(120%);box-shadow:0 30px 80px -40px rgba(0,0,0,.8)}
.hair::after{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(140deg,rgba(243,223,176,.6),rgba(201,163,91,.08) 35%,rgba(201,163,91,.06) 65%,rgba(232,201,138,.45));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
}
.glass:not(.hair){border:1px solid var(--line-soft)}
.spot{position:relative;--mx:50%;--my:50%}
.spot::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1;opacity:0;transition:opacity .5s;
  background:radial-gradient(420px circle at var(--mx) var(--my),rgba(240,200,130,.16),transparent 55%)}
.spot:hover::before{opacity:1}

/* ---------- 스크롤 리빌 (html.anim 일 때만 숨김) ---------- */
.anim [data-rv]{opacity:0;transform:translate3d(0,40px,0);filter:blur(6px);transition:opacity 1.1s var(--ease-out),transform 1.4s var(--ease-out),filter 1.1s var(--ease-out);transition-delay:calc(var(--d,0)*1ms)}
.anim [data-rv].is-in{opacity:1;transform:none;filter:none}
.anim [data-clip]{clip-path:inset(100% 0 0 0);transition:clip-path 1.6s var(--ease-io)}
.anim [data-clip] img{transform:scale(1.3);transition:transform 2.2s var(--ease-out)}
.anim [data-clip].is-in{clip-path:inset(0 0 0 0)}
.anim [data-clip].is-in img{transform:none}
.anim [data-split]{opacity:0}
.anim [data-split].split-ready{opacity:1}
.split-line{display:block}

/* =========================================================
   1) 프리로더
   ========================================================= */
#preloader{position:fixed;inset:0;z-index:200;display:grid;place-items:center;pointer-events:auto;
  animation:plKill .01s linear 3s forwards}
@keyframes plKill{to{opacity:0;visibility:hidden;pointer-events:none}}
.pl-panel{position:absolute;left:0;right:0;height:50.5%;background:#0a0705}
.pl-top{top:0;background:linear-gradient(180deg,#080604,#120d08)}
.pl-bot{bottom:0;background:linear-gradient(0deg,#080604,#120d08)}
.pl-center{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--text)}
.pl-glow{position:absolute;left:50%;top:44%;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;
  background:radial-gradient(circle,rgba(232,170,90,.42) 0%,rgba(201,140,70,.16) 30%,transparent 62%);transform:scale(.35);opacity:.4}
.pl-mark{width:34px;height:44px;color:var(--text);position:relative}
.pl-temp{position:relative;font-family:var(--display);font-weight:500;font-size:clamp(58px,9vw,96px);line-height:1;letter-spacing:.01em;
  background:var(--num-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-variant-numeric:tabular-nums lining-nums}
.pl-num{display:inline-block;min-width:3.4ch;text-align:right}
.pl-unit{font-size:.45em;vertical-align:.95em;margin-left:4px}
.pl-bar{position:relative;width:160px;height:1px;background:rgba(232,201,138,.18);overflow:hidden}
.pl-bar i{position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--gold-l));transform-origin:left;transform:scaleX(0)}
.pl-word{position:relative;font-size:11px;letter-spacing:.6em;color:var(--text-3);padding-left:.6em}
.reduce #preloader{display:none}

/* =========================================================
   고정 UI : 헤더 / 온도계 / 진행바 / 커서
   ========================================================= */
.site-header{position:fixed;top:0;left:0;right:0;z-index:60;height:var(--hd);transition:transform .6s var(--ease),background-color .5s,height .5s var(--ease),border-color .5s;border-bottom:1px solid transparent}
.site-header.is-scrolled{height:68px;background:rgba(13,10,7,.72);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);border-color:var(--line-soft)}
.site-header.is-hidden{transform:translateY(-100%)}
.hd-inner{height:100%;max-width:1440px;margin:0 auto;padding:0 var(--pad);display:flex;align-items:center;gap:28px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--text)}
.brand-mark{width:24px;height:31px}
.brand-word{font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:.06em}
.brand-temp{font-family:var(--display);font-style:italic;font-size:15px;color:var(--gold-l);letter-spacing:.02em;margin-top:3px}
.gnb{display:none;margin-left:auto;gap:clamp(18px,2.2vw,34px)}
.gnb a{position:relative;font-size:14px;color:var(--text-2);letter-spacing:.01em;padding:6px 0;transition:color .3s}
.gnb a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold-l);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.gnb a:hover,.gnb a.is-current{color:var(--gold-xl)}
.gnb a:hover::after,.gnb a.is-current::after{transform:scaleX(1);transform-origin:left}
.hd-cta{margin-left:auto}
.hamburger{width:44px;height:44px;display:grid;place-content:center;gap:7px;margin-right:-10px}
.hamburger i{display:block;width:24px;height:1px;background:var(--text);transition:transform .5s var(--ease)}
.nav-open .hamburger i:first-child{transform:translateY(4px) rotate(45deg)}
.nav-open .hamburger i:last-child{transform:translateY(-4px) rotate(-45deg)}
@media (min-width:1180px){
  .gnb{display:flex}
  .hd-cta{margin-left:12px}
  .hamburger{display:none}
}
@media (max-width:560px){.hd-cta{display:none}.hamburger{margin-left:auto}}

.mnav{position:fixed;inset:0;z-index:55;background:radial-gradient(120% 80% at 80% 0%,#2a1b0e 0%,#0d0a07 60%);display:flex;flex-direction:column;justify-content:center;padding:100px var(--pad) 40px;opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility .5s}
.mnav nav{display:flex;flex-direction:column;gap:6px}
.mnav nav a{display:flex;align-items:baseline;gap:16px;font-family:var(--serif);font-size:clamp(24px,6.4vw,34px);color:var(--text);padding:6px 0;opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease-out),transform .8s var(--ease-out);transition-delay:calc(var(--i)*60ms + 100ms)}
.mnav nav a em{font-family:var(--display);font-style:italic;font-size:15px;color:var(--gold)}
.mnav-foot{margin-top:40px;display:flex;flex-direction:column;gap:12px;align-items:flex-start;color:var(--text-3);font-size:13px;opacity:0;transition:opacity .6s .5s}
.nav-open .mnav{opacity:1;visibility:visible}
.nav-open .mnav nav a{opacity:1;transform:none}
.nav-open .mnav-foot{opacity:1}

/* 3) 온도계 진행 표시 (데스크톱) / 상단 얇은 바 (모바일) */
.thermo{position:fixed;right:22px;top:50%;z-index:50;transform:translateY(-50%);display:none;flex-direction:column;align-items:center;gap:10px;pointer-events:none;opacity:0;transition:opacity .8s}
.thermo.is-on{opacity:1}
/* 화면 끝까지 차는(풀블리드) 콘텐츠가 온도계 자리를 지나갈 때는 흐리게 */
.thermo.is-on.is-dim{opacity:.15}
.thermo-read{font-family:var(--display);font-size:15px;color:var(--gold-xl);letter-spacing:.02em;writing-mode:horizontal-tb;white-space:nowrap}
.thermo-read b{font-weight:500;font-variant-numeric:lining-nums tabular-nums}
.thermo-read small{font-size:11px;color:var(--gold);margin-left:1px}
.thermo-tube{position:relative;width:6px;height:min(26vh,220px);border-radius:6px;border:1px solid rgba(232,201,138,.35);background:rgba(13,10,7,.5);overflow:hidden}
.thermo-fill{position:absolute;left:0;right:0;bottom:0;height:100%;background:linear-gradient(0deg,#c0392b,#e0893a 45%,#e8c98a);transform-origin:bottom;transform:scaleY(0)}
.thermo-ticks{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 9px,rgba(13,10,7,.6) 9px 10px)}
.thermo-bulb{width:14px;height:14px;border-radius:50%;margin-top:-14px;background:radial-gradient(circle at 40% 35%,#ff8a6a,#c0392b 60%,#7e1f15);box-shadow:0 0 14px rgba(224,100,60,.55);border:1px solid rgba(232,201,138,.35)}
.topbar{position:fixed;top:0;left:0;right:0;height:2px;z-index:70;pointer-events:none}
.topbar i{position:absolute;inset:0;background:linear-gradient(90deg,#c0392b,#e0893a 40%,#e8c98a);transform-origin:left;transform:scaleX(0)}
/* 콘텐츠 폭(1240+여백) 바깥에 온도계 자리가 생기는 1440px 이상에서만 세로 온도계, 그 아래는 상단 바 */
@media (min-width:1440px){.thermo{display:flex}.topbar{display:none}}

/* 8) 커스텀 커서 */
.cursor{display:none}
.has-cursor .cursor{display:block}
.has-cursor,.has-cursor a,.has-cursor button,.has-cursor input,.has-cursor label{cursor:none}
.has-cursor .field input,.has-cursor .field textarea{cursor:text}
.cursor.is-text .cursor-ring,.cursor.is-text .cursor-dot{opacity:0!important}
.cursor-dot,.cursor-ring{position:fixed;left:0;top:0;z-index:300;pointer-events:none;border-radius:50%}
.cursor-dot{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--gold-xl);box-shadow:0 0 10px rgba(232,201,138,.8)}
.cursor-ring{width:38px;height:38px;margin:-19px 0 0 -19px;border:1px solid rgba(232,201,138,.6);display:grid;place-items:center;transition:width .45s var(--ease),height .45s var(--ease),margin .45s var(--ease),background-color .45s,border-color .45s;opacity:0}
.cursor.is-active .cursor-ring{opacity:1}
.cursor-label{font-size:10px;letter-spacing:.24em;font-weight:600;color:#1a1309;opacity:0;transition:opacity .3s;padding-left:.24em}
.cursor.is-link .cursor-ring{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(232,201,138,.95);border-color:transparent;mix-blend-mode:difference}
.cursor.is-view .cursor-ring,.cursor.is-drag .cursor-ring{width:86px;height:86px;margin:-43px 0 0 -43px;background:rgba(232,201,138,.92);border-color:transparent;mix-blend-mode:normal}
.cursor.is-view .cursor-label,.cursor.is-drag .cursor-label{opacity:1}
.cursor.is-link .cursor-dot,.cursor.is-view .cursor-dot,.cursor.is-drag .cursor-dot{opacity:0}
/* 금색 버튼 위 : 채운 원(difference) 대신 테두리만 크게 — 글자를 가리지 않게 */
.cursor.is-link.is-btn .cursor-ring{width:84px;height:84px;margin:-42px 0 0 -42px;background:transparent;border-color:rgba(255,240,210,.85);mix-blend-mode:normal;box-shadow:0 0 24px -6px rgba(232,201,138,.55)}
.cursor.is-link.is-btn .cursor-dot{opacity:1}

/* =========================================================
   2) HERO
   ========================================================= */
.hero{position:relative;height:100vh;height:100svh;min-height:640px;max-height:1200px;display:grid;place-items:center;overflow:hidden;isolation:isolate;text-align:center;background:var(--bg)}
/* 스크롤 줌아웃은 clip-path(둥근 모서리)로 잘라 낸다 → 빛 번짐·haze가 상자 밖으로 삐져나오지 않음 */
.hero-media{position:absolute;inset:0;z-index:-1;overflow:hidden;clip-path:inset(0 0 0 0 round 0px)}
.hero-bg{position:absolute;inset:0;overflow:hidden;transform-origin:50% 42%}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform-origin:62% 46%;animation:kenburns 26s ease-in-out infinite alternate;filter:saturate(1.05) contrast(1.05)}
/* 원본 사진 최대 1280px → 확대 배율은 1.1까지만 (고해상도 화면에서 흐려지지 않게) */
@keyframes kenburns{0%{transform:scale(1.02) translate3d(0,0,0)}100%{transform:scale(1.1) translate3d(-1.2%,-.8%,0)}}
.hero-glow i{position:absolute;border-radius:50%;pointer-events:none}
.hero-glow .g1{left:50%;top:58%;width:110vmax;height:110vmax;margin:-55vmax 0 0 -55vmax;background:radial-gradient(circle,rgba(232,150,70,.34) 0%,rgba(201,120,50,.14) 26%,transparent 52%);animation:breathe 9s ease-in-out infinite}
.hero-glow .g2{left:22%;top:72%;width:70vmax;height:70vmax;margin:-35vmax 0 0 -35vmax;background:radial-gradient(circle,rgba(240,190,110,.22) 0%,transparent 50%);animation:breathe 12s ease-in-out -3s infinite}
.hero-glow .g3{left:80%;top:30%;width:60vmax;height:60vmax;margin:-30vmax 0 0 -30vmax;background:radial-gradient(circle,rgba(224,110,60,.18) 0%,transparent 50%);animation:breathe 10s ease-in-out -6s infinite}
@keyframes breathe{0%,100%{transform:scale(.88) translate3d(0,0,0);opacity:.55}50%{transform:scale(1.12) translate3d(1.5%,-2%,0);opacity:1}}
.hero-haze{position:absolute;left:-10%;right:-10%;bottom:-6%;height:60%;pointer-events:none;
  background:radial-gradient(ellipse 55% 65% at 50% 100%,rgba(240,160,80,.30),rgba(200,110,50,.10) 45%,transparent 72%);
  transform-origin:50% 100%;animation:haze 7.5s ease-in-out infinite;mix-blend-mode:screen}
@keyframes haze{0%,100%{transform:scaleY(1) skewX(0deg)}33%{transform:scaleY(1.1) skewX(-1.6deg)}66%{transform:scaleY(.95) skewX(1.4deg)}}
.hero-vignette{position:absolute;inset:0;background:
  radial-gradient(ellipse 60% 55% at 50% 50%,rgba(13,10,7,.52) 0%,rgba(13,10,7,.66) 55%,rgba(10,7,5,.92) 100%),
  linear-gradient(180deg,rgba(10,7,5,.75) 0%,transparent 22%,transparent 62%,var(--bg) 100%)}
.embers{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.grain{position:absolute;inset:-60%;pointer-events:none;opacity:.12;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
  animation:grain 1s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}17%{transform:translate(-4%,3%)}33%{transform:translate(3%,-5%)}50%{transform:translate(-6%,-2%)}67%{transform:translate(5%,4%)}83%{transform:translate(-2%,6%)}100%{transform:translate(0,0)}}
.hero-frame{position:absolute;inset:calc(var(--hd) + 6px) clamp(12px,2.2vw,30px) clamp(12px,2.2vw,30px);border:1px solid rgba(201,163,91,.26);pointer-events:none;z-index:1}
.hero-frame i{position:absolute;width:14px;height:14px;border-color:var(--gold-l);border-style:solid;opacity:.9}
.hero-frame i:nth-child(1){left:-1px;top:-1px;border-width:1px 0 0 1px}
.hero-frame i:nth-child(2){right:-1px;top:-1px;border-width:1px 1px 0 0}
.hero-frame i:nth-child(3){left:-1px;bottom:-1px;border-width:0 0 1px 1px}
.hero-frame i:nth-child(4){right:-1px;bottom:-1px;border-width:0 1px 1px 0}
.hero-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;padding:calc(var(--hd) + 10px) var(--pad) 70px}
.hero-symbol{width:clamp(80px,8vw,118px);height:auto;filter:drop-shadow(0 0 26px rgba(232,150,70,.35));margin-bottom:22px}
.hero-eyebrow{font-size:11.5px;letter-spacing:.42em;color:var(--gold-xl);font-weight:500;text-shadow:0 1px 12px rgba(0,0,0,.9);padding-left:.42em;margin-bottom:10px;white-space:nowrap}
.hero-title{font-family:var(--serif);font-weight:300;font-size:clamp(88px,13.5vw,196px);line-height:1.02;letter-spacing:.16em;padding-left:.16em;color:#fbf3e4;
  text-shadow:0 0 50px rgba(232,150,70,.28),0 0 2px rgba(255,235,200,.3)}
.ht-word{display:inline-block}
.hero-tag{margin-top:14px;display:flex;flex-direction:column;gap:4px;font-family:var(--serif);font-size:clamp(18px,2.1vw,27px);line-height:1.6;letter-spacing:-.01em}
.hero-tag .l1{color:var(--text);font-weight:300}
.hero-tag .l2{font-weight:500;display:inline-block}
.hero-cta{margin-top:40px;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.temp-badge{position:absolute;right:clamp(28px,6vw,96px);bottom:clamp(70px,13vh,130px);z-index:2;width:118px;height:118px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  border:1px solid rgba(232,201,138,.55);background:radial-gradient(circle,rgba(60,38,18,.55),rgba(13,10,7,.35));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.temp-badge b{font-family:var(--display);font-weight:500;font-size:31px;line-height:1;color:var(--gold-xl)}
.temp-badge b small{font-size:.5em;vertical-align:.8em;margin-left:1px;color:var(--gold-l)}
.temp-badge em{font-family:var(--serif);font-size:12px;letter-spacing:.3em;color:var(--gold);margin-top:6px;padding-left:.3em}
.tb-ring{position:absolute;inset:-1px;border-radius:50%;border:1px solid rgba(232,170,90,.55);animation:pulseRing 3.6s var(--ease) infinite}
.tb-ring.r2{animation-delay:1.2s}.tb-ring.r3{animation-delay:2.4s}
@keyframes pulseRing{0%{transform:scale(1);opacity:.75}100%{transform:scale(1.85);opacity:0}}
.scroll-cue{position:absolute;left:50%;bottom:clamp(26px,4vh,44px);transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:12px;font-size:10px;letter-spacing:.42em;color:var(--text-3);padding-left:.42em}
.scroll-cue i{position:relative;width:1px;height:46px;background:rgba(232,201,138,.2);overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--gold-l);animation:cue 2.2s var(--ease-io) infinite}
@keyframes cue{0%{top:-40%}100%{top:100%}}
/* 히어로 첫 등장 전 숨김 (JS 연출 대기).
   JS가 연출을 시작하면 html.hero-go 를 붙여 이 규칙을 끈다. 5초 안에 시작하지 못하면 CSS가 스스로 드러낸다(느린 망 안전장치). */
.anim:not(.hero-go) .hero [data-hero]{opacity:0;animation:heroShow .01s linear 5s forwards}
.anim:not(.hero-go) .hero .l2{clip-path:inset(0 100% 0 0);animation:heroClip .01s linear 5s forwards}
@keyframes heroShow{to{opacity:1}}
@keyframes heroClip{to{clip-path:inset(0 0 0 0)}}

@media (max-width:767px){
  .hero{min-height:600px}
  .hero-inner{padding-bottom:48px}
  .hero-eyebrow{font-size:9.5px;letter-spacing:.28em;padding-left:.28em}
  .hero-title{letter-spacing:.12em;padding-left:.12em}
  .hero-cta .btn{height:50px;padding:0 24px;font-size:14px}
  /* 배지를 하단으로 내려 CTA 아래 빈 띠를 채운다 */
  .temp-badge{width:76px;height:76px;right:22px;top:auto;bottom:max(64px,9svh)}
  .temp-badge b{font-size:21px}
  .temp-badge em{font-size:10px;margin-top:3px}
  .scroll-cue{bottom:22px}
  .scroll-cue span{display:none}
}

/* 9) 마키 띠 */
.band{position:relative;overflow:hidden;padding:clamp(18px,2.4vw,30px) 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.band-track{display:flex;align-items:center;width:max-content;animation:marquee 46s linear infinite}
.band-track.rev{animation-direction:reverse;animation-duration:54s}
.band-track span{font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(34px,5.4vw,80px);line-height:1.1;letter-spacing:.01em;color:var(--gold-l);padding:0 .35em;white-space:nowrap}
.band-track span.o{color:transparent;-webkit-text-stroke:1px rgba(232,201,138,.55)}
.band-track i{font-style:normal;color:var(--gold);font-size:clamp(16px,2vw,28px);opacity:.7}
@keyframes marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.band:hover .band-track{animation-play-state:paused}

/* =========================================================
   01 STORY
   ========================================================= */
.story{overflow:hidden}
.story-bgword{position:absolute;right:-4vw;top:8%;font-family:var(--serif);font-weight:300;font-size:clamp(180px,30vw,460px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(201,163,91,.10);pointer-events:none;user-select:none;z-index:0}
.story-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(48px,7vw,110px);align-items:center;z-index:1}
.story-quote{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.6vw,50px);line-height:1.42;letter-spacing:-.025em}
.story-sub{margin-top:22px;font-family:var(--serif);font-weight:300;font-size:clamp(17px,1.6vw,21px);line-height:1.8;color:var(--text-2)}
.story-sign{margin-top:18px;font-family:var(--display);font-style:italic;font-size:18px;color:var(--gold)}
/* 한글은 진짜 이탤릭이 없으므로 똑바로 선 세리프로 */
.story-sign .ko,.brand-temp.ko{font-family:var(--serif);font-style:normal;font-size:.86em;letter-spacing:.02em}
.story-body p{color:var(--text-2);font-size:16px;line-height:1.95;margin-bottom:14px;max-width:520px}
.story-body .story-last{font-family:var(--serif);color:var(--text);font-size:18px;margin-top:20px}
.story .link-arrow{margin-top:26px}
.story-visual{position:relative;height:clamp(440px,52vw,700px)}
.ph{position:absolute;margin:0}
.ph-in{position:relative;width:100%;height:100%;overflow:hidden;background:#1a130c}
.ph img{width:100%;height:100%;object-fit:cover}
.ph::before{content:"";position:absolute;inset:-14px 14px 14px -14px;border:1px solid rgba(201,163,91,.28);pointer-events:none}
.sv-1{left:0;top:10%;width:66%;height:58%}
.sv-2{right:0;top:0;width:40%;height:52%}
.sv-2::before{inset:14px -14px -14px 14px}
.sv-3{right:9%;bottom:0;width:50%;height:38%}
.sv-3::before{display:none}
.ph figcaption{position:absolute;left:0;bottom:-30px;font-size:10.5px;letter-spacing:.32em;color:var(--text-3)}
@media (max-width:899px){.ph figcaption{display:none}}
@media (max-width:899px){
  .story-grid{grid-template-columns:1fr}
  .story-visual{height:min(118vw,560px);margin-top:20px}
  .story-bgword{top:2%}
}

/* =========================================================
   02 SIGNATURE — 핀 고정 가로 스크롤
   ========================================================= */
.sig{position:relative;padding:var(--sec) 0 calc(var(--sec)*.6);overflow:hidden}
.sig-pin{position:relative;display:flex;flex-direction:column}
/* 칵테일 이름 대형 타이포 : 카드에 가리지 않는 아래 띠에서 카드와 반대 방향으로 흐름 */
.sig-bgtype{position:relative;order:9;margin-top:clamp(20px,3vw,40px);pointer-events:none;z-index:0;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.sig-bgtype-in{display:flex;align-items:center;white-space:nowrap;width:max-content;font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(52px,6.5vw,128px);line-height:1.08;letter-spacing:.005em;animation:marquee 80s linear infinite reverse}
.sig-bgtype-in span{padding:0 .28em;background:linear-gradient(180deg,rgba(246,228,184,.2) 0%,rgba(201,163,91,.07) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px rgba(232,201,138,.3)}
.sig-bgtype-in i{font-style:normal;font-size:.36em;color:rgba(232,201,138,.4)}
.sig-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 60px;flex-wrap:wrap;margin-bottom:clamp(36px,4vw,56px);z-index:1}
.sig-head .lead{margin-top:0}
.sig-viewport{position:relative;z-index:1}
.sig-track{display:flex;gap:clamp(18px,2.6vw,40px);padding:10px var(--pad) 26px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.sig-track::-webkit-scrollbar{display:none}
.sig-track.is-drag{scroll-snap-type:none;cursor:grabbing}
.sig-card{flex:0 0 auto;width:clamp(240px,min(24vw,calc((100svh - 300px)*.72)),340px);scroll-snap-align:center;perspective:1100px}
.sig-card-in{position:relative;padding:14px 14px 22px;border-radius:18px;background:linear-gradient(170deg,rgba(44,33,21,.7),rgba(16,12,8,.8));border:1px solid var(--line-soft);transform-style:preserve-3d;transition:border-color .5s,box-shadow .5s}
.sig-card-in:hover{border-color:rgba(232,201,138,.35);box-shadow:0 40px 80px -40px rgba(0,0,0,.9),0 0 60px -30px rgba(232,160,80,.35)}
/* 3D 틸트 때 사진이 카드 면에서 살짝 떠 보이게 */
.sig-img{position:relative;aspect-ratio:3/4;border-radius:10px;overflow:hidden;background:#140f0a;transform:translateZ(30px)}
.sig-zoom{display:block;width:100%;height:100%;border-radius:inherit}
.sig-zoom:focus-visible{outline-offset:-3px}
.sig-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.sig-card:hover .sig-img img{transform:scale(1.06)}
.glare{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(500px circle at var(--gx,50%) var(--gy,30%),rgba(255,236,200,.28),transparent 45%);mix-blend-mode:soft-light}
.sig-card:hover .glare{opacity:1}
.sig-meta{display:flex;justify-content:space-between;align-items:center;margin:18px 6px 4px;font-size:11px;letter-spacing:.24em;color:var(--gold)}
.sig-no{font-family:var(--display);font-style:italic;font-size:16px;letter-spacing:0;color:var(--gold-l)}
.sig-en{text-transform:uppercase}
.sig-name{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2vw,28px);letter-spacing:-.01em;margin:0 6px;color:var(--text)}
.sig-name small{font-size:.62em;color:var(--gold);margin-left:4px;font-weight:400}
.sig-desc{margin:8px 6px 0;color:var(--text-2);font-size:14.5px;line-height:1.75}
.sig-outro{flex:0 0 auto;width:clamp(260px,27vw,400px);align-self:center;padding:0 10px;scroll-snap-align:center}
.sig-outro-q{font-family:var(--serif);font-size:clamp(22px,2.1vw,30px);line-height:1.55;margin-bottom:28px}
.sig-foot{display:flex;align-items:center;gap:20px;margin-top:8px;font-size:11px;letter-spacing:.3em;color:var(--text-3);z-index:1}
/* '01 / 04' 전체를 같은 세리프·같은 숫자 형식으로 */
.sig-count,.space-frac{font-family:var(--display);font-style:italic;font-size:15px;letter-spacing:.04em;color:var(--text-3);white-space:nowrap}
.sig-count b,.space-frac b{font-style:italic;font-size:20px;letter-spacing:0;color:var(--gold-l);font-weight:500}
.sig-progress{position:relative;flex:1;max-width:420px;height:1px;background:rgba(232,201,138,.18)}
.sig-progress i{position:absolute;inset:0;background:linear-gradient(90deg,var(--gold),var(--gold-xl));transform-origin:left;transform:scaleX(.08);transition:transform .35s var(--ease)}
.sig-hint{margin-left:auto}
/* 데스크톱 핀 모드 (JS가 .is-pinned 부여, 1024px 이상 · 높이 700px 이상)
   - 머리 블록(.sig-head)은 JS가 트랙의 첫 패널로 옮긴다 → 세로 공간은 카드에, 가로 이동 거리는 넉넉히
   - 카드 폭은 화면 높이로 제한 → 카드·진행바·타이포 띠가 100svh 안에 모두 들어온다 */
.sig.is-pinned{padding:0}
.sig.is-pinned .sig-pin{--bt:clamp(52px,min(6.5vw,11svh),128px);height:100vh;height:100svh;justify-content:flex-start;padding:calc(var(--hd) + 2px) 0 calc(var(--bt)*1.08 + 46px)}
.sig.is-pinned .sig-viewport{flex:1;min-height:0;display:flex;align-items:center}
.sig.is-pinned .sig-track{overflow:visible;width:max-content;min-width:180vw;scroll-snap-type:none;align-items:center;gap:clamp(24px,3.4vw,64px);
  padding:0 max(96px,calc((100vw - var(--maxw))/2)) 0 max(var(--pad),calc((100vw - var(--maxw))/2))}
.sig.is-pinned .sig-card{width:clamp(250px,min(28vw,calc((100svh - 380px)*.72)),430px)}
.sig.is-pinned .sig-head{flex:0 0 auto;width:clamp(380px,42vw,720px);max-width:none;margin:0;padding:0 clamp(16px,3vw,48px) 0 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;flex-wrap:nowrap;align-self:center}
.sig.is-pinned .sig-head .title{font-size:clamp(34px,3.7vw,56px)}
.sig.is-pinned .sig-head .lead{margin-top:22px}
.sig.is-pinned .sig-outro{width:clamp(300px,30vw,460px);margin-left:5vw}
.sig.is-pinned .sig-foot{position:absolute;left:0;right:0;bottom:20px;margin:0}
.sig.is-pinned .sig-bgtype{position:absolute;left:0;right:0;bottom:42px;margin:0}
.sig.is-pinned .sig-bgtype-in{font-size:var(--bt)}
.sig.is-pinned .sig-bgtype-in{animation:none}
@media (max-width:1023px){
  .sig-card{width:min(74vw,330px)}
  .sig-outro{width:min(70vw,300px)}
  .sig-hint{display:none}
}

/* =========================================================
   03 THE SPACE — Swiper coverflow + 라이트박스
   ========================================================= */
.space{overflow:hidden}
.space-stage{position:relative}
.space-swiper{overflow:visible;padding:10px 0 20px}
/* Swiper CSS/JS를 못 불러와도 가로 한 줄 스크롤로 보이게 */
.space-swiper .swiper-wrapper{display:flex;box-sizing:content-box}
.space-swiper .swiper-slide{flex-shrink:0}
.space-swiper:not(.swiper-initialized){overflow-x:auto;padding:0 var(--pad)}
.space-swiper:not(.swiper-initialized) .swiper-wrapper{gap:16px}
.space-swiper .swiper-slide{width:min(64vw,860px);aspect-ratio:3/2;border-radius:6px;overflow:hidden;background:#140f0a;transition:filter .8s var(--ease)}
.space-swiper.swiper-initialized .swiper-slide:not(.swiper-slide-active){filter:brightness(.45) saturate(.6)}
.space-shot{position:relative;display:block;width:100%;height:100%;text-align:left}
.space-shot img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease-out)}
.swiper-slide-active .space-shot:hover img{transform:scale(1.04)}
.space-shot .cap{position:absolute;left:22px;bottom:18px;font-size:12px;letter-spacing:.2em;color:var(--gold-xl);padding:8px 14px;border-radius:999px;background:rgba(13,10,7,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(232,201,138,.25);opacity:0;transform:translateY(10px);transition:opacity .6s,transform .8s var(--ease-out)}
.swiper-slide-active .space-shot .cap,.space-swiper:not(.swiper-initialized) .cap{opacity:1;transform:none}
.space-ctrl{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:34px}
.sw-btn{width:58px;height:58px;border-radius:50%;border:1px solid rgba(232,201,138,.4);display:grid;place-items:center;color:var(--gold-xl);transition:background-color .4s,border-color .4s}
.sw-btn svg{width:20px;height:20px}
.sw-btn:hover{background:rgba(201,163,91,.15);border-color:var(--gold-l)}
.space-pager{display:flex;align-items:center;gap:18px;font-size:12px;letter-spacing:.2em;color:var(--text-3);min-width:220px}
.space-kinds{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 14px;margin:-18px auto clamp(30px,3.6vw,46px);max-width:920px}
.sk{display:inline-flex;align-items:center;gap:12px;padding:9px 18px;border-radius:999px;border:1px solid rgba(232,201,138,.16);font-size:13px;color:var(--text-3);line-height:1.5}
.sk b{font-family:var(--serif);font-weight:500;font-size:14px;color:var(--text-2);white-space:nowrap}
.sk.is-on{border-color:rgba(232,201,138,.45);background:rgba(201,163,91,.08)}
.sk.is-on b{color:var(--gold-xl)}
@media (max-width:599px){.sk{border-radius:14px;flex-direction:column;align-items:flex-start;gap:2px;width:100%}}
.space-bar{position:relative;flex:1;height:1px;background:rgba(232,201,138,.2)}
.space-bar i{position:absolute;inset:0;background:var(--gold-l);transform-origin:left;transform:scaleX(.07);transition:transform .8s var(--ease)}
@media (max-width:767px){
  .space-swiper .swiper-slide{width:82vw;aspect-ratio:4/5}
  .space-pager{min-width:150px}
}

.lightbox{position:fixed;inset:0;z-index:250;display:grid;place-items:center;background:rgba(8,6,4,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transition:opacity .45s var(--ease)}
.lightbox[hidden]{display:none}
.lightbox.is-open{opacity:1}
.lb-fig{max-width:min(92vw,1280px);max-height:86vh;display:flex;flex-direction:column;align-items:center;gap:14px}
.lb-fig img{max-width:100%;max-height:78vh;width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 40px 120px -30px rgba(0,0,0,.9);transform:scale(.96);transition:transform .6s var(--ease-out)}
.lightbox.is-open .lb-fig img{transform:none}
.lb-fig figcaption{font-size:12px;letter-spacing:.26em;color:var(--gold-l)}
.lb-close,.lb-prev,.lb-next{position:absolute;width:52px;height:52px;border-radius:50%;border:1px solid rgba(232,201,138,.35);display:grid;place-items:center;color:var(--gold-xl);background:rgba(13,10,7,.5)}
.lb-close svg,.lb-prev svg,.lb-next svg{width:20px;height:20px}
.lb-close{top:22px;right:22px}
.lb-prev{left:22px;top:50%;margin-top:-26px}
.lb-next{right:22px;top:50%;margin-top:-26px}
@media (max-width:767px){.lb-prev,.lb-next{top:auto;bottom:24px;margin:0}.lb-prev{left:calc(50% - 64px)}.lb-next{right:calc(50% - 64px)}}

/* =========================================================
   04 MARKET
   ========================================================= */
.mk-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px)}
.mk-card{padding:clamp(30px,3.4vw,46px) 28px;border-radius:18px;border:1px solid var(--line-soft);background:linear-gradient(170deg,rgba(36,27,17,.55),rgba(16,12,8,.6));text-align:center}
.mk-card.up{border-color:rgba(232,201,138,.32);background:linear-gradient(170deg,rgba(70,48,22,.5),rgba(20,14,9,.65))}
.mk-num{display:block;font-family:var(--display);font-weight:500;font-size:clamp(52px,6vw,84px);line-height:1;letter-spacing:-.01em;color:#8d8170}
.mk-lbl{margin-top:16px;font-size:15.5px;color:var(--text);font-weight:500;line-height:1.6}
.mk-lbl span{color:var(--text-3);font-weight:400;font-size:13.5px}
.mk-chart{margin-top:clamp(28px,3vw,40px);padding:clamp(24px,3vw,40px);border-radius:18px;border:1px solid var(--line-soft);background:rgba(16,12,8,.5)}
.mk-row{display:grid;grid-template-columns:150px 1fr 70px;align-items:center;gap:18px;padding:12px 0}
.mk-row+.mk-row{border-top:1px solid rgba(232,201,138,.07)}
.mk-name{font-size:13.5px;color:var(--text-2)}
.mk-row b{font-family:var(--display);font-weight:500;font-size:20px;color:#8d8170;text-align:right}
.mk-row b.g{color:var(--gold-l)}
.mk-track{position:relative;height:10px}
.mk-track::before{content:"";position:absolute;left:20%;top:-8px;bottom:-8px;width:1px;background:rgba(232,201,138,.35)}
.mk-track i{position:absolute;top:0;height:100%;border-radius:2px;width:calc(var(--w)*1%);transition:transform 1.6s var(--ease-out) .2s}
.mk-track i.neg{right:80%;background:linear-gradient(270deg,#7d3a2c,#4a2a20);transform-origin:right}
.mk-track i.pos{left:20%;background:linear-gradient(90deg,#9c7a3c,#e8c98a);transform-origin:left;box-shadow:0 0 22px rgba(232,180,100,.35)}
.anim .mk-track i{transform:scaleX(0)}
.anim .mk-chart.is-in .mk-track i{transform:scaleX(1)}
.mk-row:nth-child(2) i{transition-delay:.35s}.mk-row:nth-child(3) i{transition-delay:.55s}
.market .src{text-align:center}
@media (max-width:767px){
  .mk-cards{grid-template-columns:1fr}
  .mk-card{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:16px;padding:24px 22px}
  .mk-num{font-size:46px;order:2}
  .mk-lbl{margin:0}
  .mk-row{grid-template-columns:1fr 58px;gap:8px 12px}
  .mk-name{grid-column:1/-1}
  .mk-row b{font-size:17px}
}

/* =========================================================
   05 WHY
   ========================================================= */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.4vw,18px)}
.why-card{position:relative;height:clamp(460px,40vw,580px);border-radius:16px;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;padding:26px 24px 30px;background:#120d08}
.why-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.04);filter:brightness(.78) saturate(.95);transition:transform 1.6s var(--ease-out),filter .8s}
.why-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,10,7,.5) 0%,rgba(13,10,7,.05) 26%,rgba(13,10,7,.55) 50%,rgba(13,10,7,.94) 72%,rgba(13,10,7,.98) 100%);transition:opacity .8s}
.why-frame{position:absolute;inset:12px;border:1px solid rgba(232,201,138,0);border-radius:10px;pointer-events:none;transition:border-color .6s,inset .6s var(--ease-out)}
.why-frame::after{content:"";position:absolute;inset:5px;border:1px solid rgba(232,201,138,0);border-radius:7px;transition:border-color .6s .1s}
.why-card:hover .why-bg{transform:scale(1.12);filter:brightness(.95) saturate(1.05)}
.why-card:hover .why-frame{border-color:rgba(232,201,138,.5);inset:10px}
.why-card:hover .why-frame::after{border-color:rgba(232,201,138,.22)}
.why-top{display:flex;justify-content:space-between;align-items:center;font-size:10.5px;letter-spacing:.3em;color:var(--gold-l);position:relative;z-index:2}
.why-no{font-family:var(--display);font-style:italic;font-size:22px;letter-spacing:0}
.why-body{position:relative;z-index:2}
.why-big{display:block;font-family:var(--display);font-weight:500;font-size:clamp(54px,5vw,76px);line-height:1;letter-spacing:-.01em;margin-bottom:10px}
.why-basis{display:inline-block;margin-bottom:14px;padding:2px 10px;border-radius:999px;border:1px solid rgba(232,201,138,.3);font-size:11.5px;color:var(--gold-l);background:rgba(13,10,7,.45)}
.why-body h3{font-family:var(--serif);font-weight:500;font-size:clamp(19px,1.6vw,22px);margin-bottom:10px;color:var(--text)}
.why-body p{font-size:14.2px;line-height:1.8;color:var(--text-2);min-height:calc(1.8em*4)}
.why-body mark{background:linear-gradient(transparent 62%,rgba(201,163,91,.32) 62%);background-size:0 100%;background-repeat:no-repeat;transition:background-size .9s var(--ease-out);color:var(--text)}
.why-card:hover mark,.why-card.is-in mark{background-size:100% 100%}
.why-card:hover mark{transition-delay:0s}
.why-card.is-in mark{transition-delay:1s}
@media (max-width:1023px){.why-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:599px){.why-grid{grid-template-columns:1fr}.why-card{height:400px}}

/* =========================================================
   06 PROFIT
   ========================================================= */
.pf-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,5vw,80px);align-items:center}
.pf-gauge{position:relative;display:flex;flex-direction:column;align-items:center}
.gauge{width:min(380px,82vw);height:auto;transform:rotate(-90deg);overflow:visible}
.gauge circle{fill:none;stroke-linecap:butt}
.g-track{stroke:rgba(232,201,138,.08);stroke-width:14}
.g-cost{stroke:rgba(140,110,80,.42);stroke-width:14;stroke-dasharray:43.5 100;stroke-dashoffset:-56.5;transition:opacity 1.2s var(--ease) 1.9s}
.g-net{stroke-width:14;stroke-dasharray:56.5 100;stroke-dashoffset:0;filter:drop-shadow(0 0 8px rgba(232,170,90,.45));transition:stroke-dashoffset 2.2s var(--ease-io) .2s}
.anim .g-net{stroke-dashoffset:56.5}
.anim .g-cost{opacity:0}
.anim .pf-gauge.is-in .g-net{stroke-dashoffset:0}
.anim .pf-gauge.is-in .g-cost{opacity:1}
.gauge-ticks line{stroke:rgba(232,201,138,.28);stroke-width:1}
.gauge-ticks line.major{stroke:rgba(232,201,138,.6)}
.gauge-center{position:absolute;top:min(190px,41vw);left:50%;transform:translate(-50%,-50%);text-align:center}
.g-num{display:block;font-family:var(--display);font-weight:500;font-size:clamp(50px,5vw,70px);line-height:1}
.g-lbl{display:block;margin-top:8px;font-size:13px;letter-spacing:.06em;color:var(--text-3)}
.gauge-center .ex-chip{margin-top:8px}
.gauge-legend{display:flex;gap:26px;margin-top:26px;font-size:13.5px;color:var(--text-2)}
.gauge-legend li{display:flex;align-items:center;gap:8px}
.gauge-legend i{width:10px;height:10px;border-radius:50%}
.gauge-legend i.net{background:var(--gold-l);box-shadow:0 0 10px rgba(232,170,90,.6)}
.gauge-legend i.cost{background:rgba(140,110,80,.7)}
.gauge-legend b{color:var(--text);font-weight:600}
.pf-receipt{padding:clamp(26px,3.4vw,44px)}
.rc-head{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.3em;color:var(--gold);padding-bottom:20px;border-bottom:1px dashed rgba(232,201,138,.25)}
.rc-head .ko{font-size:12.5px;letter-spacing:.04em}
.rc-foot{margin-top:18px;font-size:13.5px;line-height:1.7;color:var(--text-2)}
.rc-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 0;border-bottom:1px dashed rgba(232,201,138,.16)}
.rc-row div b{display:block;font-family:var(--serif);font-weight:500;font-size:19px}
.rc-row div span{font-size:13px;color:var(--text-3)}
.rc-amt{display:flex;align-items:baseline;gap:6px}
.rc-amt .num{font-family:var(--display);font-weight:500;font-size:clamp(40px,4vw,54px);line-height:1}
.rc-amt small{font-size:14px;color:var(--text-2)}
.rc-row.minus .num{color:#a69a87}
.rc-row.total{margin:16px -16px 0;padding:24px 16px;border:0;border-radius:14px;background:linear-gradient(100deg,rgba(201,163,91,.18),rgba(201,163,91,.04))}
.rc-row.total div b{color:var(--gold-xl)}
.rc-row.total .num{font-size:clamp(50px,5vw,68px)}
.pf-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,20px);margin-top:clamp(40px,5vw,64px)}
.kpi{display:flex;align-items:center;gap:20px;padding:26px 28px;border-radius:16px;border:1px solid var(--line-soft);background:rgba(20,15,10,.55)}
.kpi .num{font-family:var(--display);font-weight:500;font-size:clamp(38px,3.4vw,48px);line-height:1}
.kpi p{font-size:15px;font-weight:500;line-height:1.55}
.kpi p span{font-size:13px;color:var(--text-3);font-weight:400}
@media (max-width:899px){
  .pf-grid{grid-template-columns:1fr}
  .pf-kpis{grid-template-columns:1fr}
}

/* =========================================================
   07 SIMULATOR
   ========================================================= */
.sim{overflow:hidden}
.sim-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent)}
.sim-bg img{width:100%;height:120%;margin-top:-10%;object-fit:cover;opacity:.16;filter:saturate(.7)}
.sim-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:center}
.sim-sub{margin-top:20px;font-family:var(--serif);font-size:clamp(19px,1.8vw,24px);color:var(--text)}
.sim-sub span{color:var(--gold-l)}
.sim-points{margin-top:34px;display:flex;flex-direction:column;gap:12px}
.sim-points li{display:flex;gap:18px;align-items:flex-start;padding:20px 22px;border-radius:14px;border:1px solid var(--line-soft);background:rgba(18,13,9,.55)}
.sim-points em{font-family:var(--display);font-style:italic;font-size:22px;line-height:1.2;color:var(--gold-l)}
.sim-points b{display:block;font-weight:600;font-size:16px;margin-bottom:2px}
.sim-points span{font-size:14px;color:var(--text-2);line-height:1.7}
.sim-card{padding:clamp(28px,3.4vw,46px)}
.sim-card-eb{font-size:11px;letter-spacing:.34em;color:var(--gold)}
.sim-card h3{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2vw,28px);margin:8px 0 26px}
.sim-label{font-size:13px;color:var(--text-3);letter-spacing:.04em}
.sim-salary{display:flex;align-items:baseline;gap:6px;margin:4px 0 14px}
.sim-salary output{font-family:var(--display);font-weight:500;font-size:clamp(46px,4.4vw,60px);line-height:1;color:var(--text);font-variant-numeric:lining-nums}
.sim-salary small{color:var(--text-2)}
.range{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;--p:33.3%}
.range:focus-visible{outline-offset:2px}
.range::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:linear-gradient(90deg,var(--gold) 0,var(--gold-l) var(--p),rgba(232,201,138,.18) var(--p))}
.range::-moz-range-track{height:3px;border-radius:3px;background:rgba(232,201,138,.18)}
.range::-moz-range-progress{height:3px;background:var(--gold-l)}
.range::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-10.5px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff3d6,#e8c98a 50%,#a8823f);box-shadow:0 0 0 6px rgba(232,201,138,.15),0 0 20px rgba(232,170,90,.6);cursor:pointer}
.range::-moz-range-thumb{width:24px;height:24px;border:0;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff3d6,#e8c98a 50%,#a8823f);box-shadow:0 0 0 6px rgba(232,201,138,.15)}
.range-scale{display:flex;justify-content:space-between;font-size:12px;color:var(--text-3);margin-top:4px}
.sim-rows{margin-top:24px;border-top:1px solid rgba(232,201,138,.12)}
.sim-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid rgba(232,201,138,.08);font-size:15px;color:var(--text-2)}
.sim-row b{color:var(--text);font-weight:600}
.sim-row b em{font-variant-numeric:lining-nums tabular-nums}
.sim-row.plus b{color:var(--gold-l)}
.sim-total{position:relative;margin-top:20px;padding:22px 24px;border-radius:14px;border:1px solid rgba(232,201,138,.45);background:linear-gradient(110deg,rgba(201,163,91,.16),rgba(201,163,91,.03));display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px}
.sim-total>span:first-child{font-size:13px;color:var(--gold-l);letter-spacing:.04em}
.sim-total p{grid-column:1;display:flex;align-items:baseline;gap:6px}
.sim-total p b{font-family:var(--display);font-weight:500;font-size:clamp(44px,4.2vw,58px);line-height:1;background:var(--num-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-variant-numeric:lining-nums}
.sim-total p small{color:var(--text-2)}
.sim-badge{grid-column:2;grid-row:1/3;align-self:center;display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 14px;border-radius:14px;background:linear-gradient(120deg,#b08a48,#e8c98a);color:#1a1309;font-weight:700;font-size:15px;line-height:1.2}
.sim-badge small{font-size:10.5px;font-weight:600;letter-spacing:0;opacity:.78}
.sim-total>span:first-child .ex-chip{margin-left:4px}
.sim-row .ex-chip{margin-left:6px}
.sim-note{margin-top:18px;padding:12px 14px;border:1px solid rgba(232,201,138,.16);border-radius:12px;background:rgba(13,10,7,.35)}
@media (max-width:899px){.sim-grid{grid-template-columns:1fr}}

/* =========================================================
   08 COST / 09 OPS — 비교표
   ========================================================= */
.vs{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:clamp(14px,2.4vw,36px);margin-bottom:24px}
.vs-side{padding:clamp(26px,3vw,40px);border-radius:18px;border:1px solid var(--line-soft);background:rgba(18,13,9,.6);display:flex;flex-direction:column;gap:10px;transition:opacity 1.2s var(--ease-out),transform 1.4s var(--ease-out)}
.vs-us{border-color:rgba(232,201,138,.45);background:linear-gradient(150deg,rgba(78,54,24,.45),rgba(20,14,9,.7));box-shadow:0 30px 80px -40px rgba(232,160,80,.35)}
.vs-lbl{font-size:13px;color:var(--text-3);letter-spacing:.02em}
.vs-us .vs-lbl{color:var(--gold-l)}
.vs-amt{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.8vw,38px);line-height:1.2;color:#a69a87;text-decoration:line-through;text-decoration-color:rgba(192,57,43,.6);text-decoration-thickness:1px}
.vs-us .vs-amt{text-decoration:none;display:flex;align-items:baseline;gap:6px}
.vs-us .vs-amt .num{font-family:var(--display);font-weight:500;font-size:clamp(58px,6.4vw,92px);line-height:.95}
.vs-us .vs-amt small{font-family:var(--sans);font-size:18px;color:var(--text-2)}
.vs-bar{position:relative;height:6px;border-radius:6px;background:rgba(232,201,138,.08);margin-top:auto;overflow:hidden}
.vs-bar i{position:absolute;left:0;top:0;bottom:0;width:calc(var(--w)*1%);border-radius:6px;background:linear-gradient(90deg,#4a2a20,#7d3a2c);transform-origin:left;transition:transform 1.8s var(--ease-out) .4s}
.vs-us .vs-bar i{background:linear-gradient(90deg,#9c7a3c,#f3dfb0);box-shadow:0 0 16px rgba(232,180,100,.5)}
.save-badge{align-self:flex-start;margin-top:8px;padding:7px 14px;border-radius:999px;border:1px solid rgba(232,201,138,.5);font-size:13px;color:var(--gold-xl);background:rgba(201,163,91,.1)}
.save-badge small{font-size:11.5px;color:var(--text-2)}
.vs-lbl .ex-chip{margin-left:6px}
.vs-mid{display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:var(--display);font-style:italic;font-size:clamp(40px,4.4vw,64px);line-height:.8;color:var(--gold);transition:opacity 1s .3s,transform 1.2s var(--ease-out) .3s}
.vs-mid span:last-child{margin-left:.5em}
/* 등장 연출은 세로 이동 + 좌우로 열리는 clip-path (가로 이동은 레이아웃 폭을 늘려 고정 UI를 밀어냄) */
.anim .vs .vs-them{opacity:0;transform:translate3d(0,40px,0);clip-path:inset(0 100% 0 0 round 18px)}
.anim .vs .vs-us{opacity:0;transform:translate3d(0,40px,0);clip-path:inset(0 0 0 100% round 18px);transition-delay:.15s}
.anim .vs.is-in .vs-them,.anim .vs.is-in .vs-us{clip-path:inset(0 0 0 0 round 18px)}
.vs-side{transition:opacity 1.2s var(--ease-out),transform 1.4s var(--ease-out),clip-path 1.5s var(--ease-io)}
.anim .vs .vs-mid{opacity:0;transform:scale(.6)}
.anim .vs .vs-bar i{transform:scaleX(0)}
.anim .vs.is-in .vs-side,.anim .vs.is-in .vs-mid{opacity:1;transform:none}
.anim .vs.is-in .vs-bar i{transform:scaleX(1)}
.cost-notes{margin-bottom:clamp(36px,4vw,56px);display:flex;flex-direction:column;gap:2px}

.tbl-wrap{padding:clamp(18px,2.6vw,36px);border-radius:20px}
.tbl-title{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-weight:500;font-size:20px;margin:4px 6px 16px}
.tbl-title span{font-family:var(--display);font-style:italic;color:var(--gold-l);font-size:20px}
.cmp{width:100%;border-collapse:separate;border-spacing:0;font-size:15px}
.cmp th,.cmp td{padding:18px 18px;text-align:center;border-bottom:1px solid rgba(232,201,138,.08)}
.cmp thead th{font-size:12.5px;letter-spacing:.04em;font-weight:500;color:var(--text-3);padding-top:6px;padding-bottom:16px;border-bottom:1px solid rgba(232,201,138,.22)}
.cmp thead th:first-child{text-align:left}
.cmp td small{display:block;font-size:12px;font-weight:400;color:var(--text-3);margin-top:2px}
.cmp tbody th{text-align:left;font-weight:500;color:var(--text)}
.cmp tbody th small{color:var(--text-3);font-weight:400}
.cmp td{color:var(--text-3)}
.cmp .mi{position:relative;color:var(--gold-xl);font-weight:700;background:rgba(201,163,91,.07)}
.cmp thead .mi{color:var(--gold-l);font-weight:700;letter-spacing:.06em;background:rgba(201,163,91,.1);border-radius:12px 12px 0 0}
.cmp tbody tr:last-child .mi{border-radius:0 0 12px 12px}
.cmp .save{color:var(--champagne);font-weight:600;font-family:var(--display);font-size:18px}
.cmp tr.total th,.cmp tr.total td{border-bottom:0;padding-top:22px;padding-bottom:22px}
.cmp tr.total th{color:var(--gold-xl);font-family:var(--serif);font-size:17px}
.cmp tr.total td{color:var(--text-2)}
.cmp tr.total .mi{font-size:19px;background:rgba(201,163,91,.2)}
/* 표에서 가장 중요한 숫자(미열 합계)가 회색으로 지지 않게 — tr.total td 보다 우선 */
.cmp tr.total td.mi{color:var(--gold-xl);font-size:22px;text-shadow:0 0 18px rgba(232,180,100,.35)}
.cmp tr.total th small{font-family:var(--sans);font-size:12px;color:var(--text-3);font-weight:400}
.cmp tr.total .save{font-size:22px;color:var(--gold-xl)}
.cmp tr.total{background:linear-gradient(90deg,rgba(201,163,91,.10),rgba(201,163,91,.02))}
/* 7) 표 행 순차 등장 + 미열 열 금빛 스윕 */
.cmp tbody tr{transition:opacity .9s var(--ease-out),transform 1s var(--ease-out);transition-delay:calc(var(--i)*110ms + 150ms)}
.anim .tbl-wrap .cmp tbody tr{opacity:0;transform:translate3d(0,18px,0)}
.anim .tbl-wrap.is-in .cmp tbody tr{opacity:1;transform:none}
.cmp td.mi::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 30%,rgba(255,230,170,.42) 50%,transparent 70%);background-size:250% 100%;background-position:160% 0;opacity:0}
.tbl-wrap.is-in .cmp td.mi::after{animation:sweep 1.5s var(--ease) both;animation-delay:calc(var(--i)*120ms + 700ms)}
.cmp tr{--i:0}
@keyframes sweep{0%{opacity:0;background-position:160% 0}12%{opacity:1}80%{opacity:1}100%{opacity:0;background-position:-60% 0}}
@media (max-width:767px){
  .vs{grid-template-columns:1fr}
  .vs-mid{flex-direction:row;font-size:34px;gap:6px}
  .vs-mid span:last-child{margin-left:0}
  .anim .vs .vs-them{transform:translate3d(0,-30px,0)}
  .anim .vs .vs-us{transform:translate3d(0,30px,0)}
  /* 표 → 카드 */
  .tbl-wrap{padding:16px}
  .cmp,.cmp tbody,.cmp tr,.cmp th,.cmp td{display:block;width:100%}
  .cmp thead{display:none}
  .cmp tbody tr{border:1px solid rgba(232,201,138,.12);border-radius:14px;padding:6px 16px 8px;margin-bottom:10px;background:rgba(13,10,7,.4)}
  .cmp tbody th{padding:12px 0 10px;border-bottom:1px solid rgba(232,201,138,.12);font-size:15.5px}
  .cmp td{display:flex;justify-content:space-between;align-items:center;text-align:right;padding:9px 0;border:0;font-size:14.5px}
  .cmp td::before{content:attr(data-label);color:var(--text-3);font-size:12.5px;font-weight:400;letter-spacing:.02em;text-align:left;font-family:var(--sans)}
  .cmp .mi,.cmp tr.total .mi{background:none;border-radius:0}
  .cmp td.mi{color:var(--gold-xl)}
  .cmp td.mi::before{color:var(--gold-l)}
  .cmp tr.total{border-color:rgba(232,201,138,.5);background:linear-gradient(120deg,rgba(201,163,91,.18),rgba(201,163,91,.04))}
  .cmp tr.total th,.cmp tr.total td{padding-top:10px;padding-bottom:10px}
  .cmp tbody tr:last-child{margin-bottom:0}
  /* 값들을 한 줄에 나란히 (카드 높이 절반) */
  .cmp tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:10px}
  .cmp-4 tbody tr{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,.7fr)}
  .cmp tbody th{grid-column:1/-1}
  .cmp td{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;gap:2px;padding:10px 0 6px}
  .cmp td::before{font-size:11.5px}
  .cmp td.mi{padding-left:10px;border-left:1px solid rgba(232,201,138,.25)}
  .cmp-4 td.save{padding-left:10px;border-left:1px solid rgba(232,201,138,.1)}
  .cmp .save{font-size:16px}
  .cmp tr.total .save{font-size:18px}
  .cmp tr.total .mi,.cmp tr.total td.mi{font-size:17px;color:var(--gold-xl)}
  .cmp-4 td{font-size:13.5px}
  .cmp td .nw{white-space:nowrap}
}

.ops-strip{position:relative;margin-bottom:clamp(40px,5vw,64px)}
/* 라운지 톤 배지 : 회전·점선·꽉 찬 금색 대신 1px 금색 헤어라인 + 투명 배경 */
.stamp{position:absolute;left:clamp(16px,8vw,140px);top:-22px;z-index:2;display:inline-flex;align-items:center;gap:12px;padding:9px 20px;font-family:var(--serif);font-weight:500;font-size:clamp(14px,1.3vw,17px);color:var(--gold-xl);background:rgba(13,10,7,.82);border:1px solid rgba(232,201,138,.55);border-radius:999px;letter-spacing:.01em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.stamp em{font-family:var(--display);font-style:italic;font-size:.95em;letter-spacing:.06em;color:var(--gold)}
.stamp em::after{content:"";display:inline-block;width:18px;height:1px;margin-left:12px;vertical-align:middle;background:rgba(232,201,138,.5)}
.chip-marquee{overflow:hidden;padding:26px 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:linear-gradient(90deg,rgba(201,163,91,.05),rgba(201,163,91,.0) 50%,rgba(201,163,91,.05));
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.chip-track{display:flex;gap:14px;width:max-content;animation:marquee 40s linear infinite}
.chip-marquee:hover .chip-track{animation-play-state:paused}
.chip{display:inline-flex;align-items:baseline;gap:12px;padding:14px 24px;border-radius:999px;border:1px solid rgba(232,201,138,.28);background:rgba(13,10,7,.55);white-space:nowrap}
.chip em{font-size:13px;color:var(--text-3)}
.chip b{font-family:var(--serif);font-weight:500;font-size:19px;color:var(--gold-xl)}
.ops-tables{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,28px)}
@media (max-width:1023px){.ops-tables{grid-template-columns:1fr}}

/* =========================================================
   10 SUPPORT — 단계 연결선
   ========================================================= */
.quote{font-family:var(--serif);font-size:clamp(16px,1.5vw,19px);color:var(--text)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,30px);counter-reset:s}
.step{position:relative;padding:34px 30px 32px;border-radius:18px;border:1px solid var(--line-soft);background:linear-gradient(170deg,rgba(36,27,17,.5),rgba(16,12,8,.55));transition:border-color .5s,transform .6s var(--ease-out)}
.step:hover{border-color:rgba(232,201,138,.4);transform:translateY(-4px)}
.step-dot{position:relative;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(232,201,138,.45);background:radial-gradient(circle at 40% 30%,rgba(80,56,26,.9),rgba(20,14,9,.9));color:var(--gold-xl);margin-bottom:22px;z-index:2}
.step-dot svg{width:26px;height:26px}
.step-dot::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px dashed rgba(232,201,138,.22)}
.step-lbl{font-size:12.5px;letter-spacing:.06em;color:var(--text-3);margin-bottom:8px}
.step-lbl em{font-family:var(--display);font-style:italic;font-size:17px;color:var(--gold-l);letter-spacing:0}
.step h3{font-family:var(--serif);font-weight:500;font-size:20px;margin-bottom:10px}
.step p:last-child{font-size:14.5px;color:var(--text-2);line-height:1.8}
/* 카드 사이 연결선 (그려지는 금선) */
.step::after{content:"";position:absolute;top:65px;left:92px;width:calc(100% - 92px + clamp(18px,2.2vw,30px) + 30px);height:1px;background:linear-gradient(90deg,var(--gold-l),rgba(232,201,138,.25));transform-origin:left;transform:scaleX(1);transition:transform 1.1s var(--ease-io);transition-delay:calc(var(--i)*220ms + 300ms);z-index:1;pointer-events:none}
.step:nth-child(3n)::after,.step:last-child::after{display:none}
.anim .steps .step::after{transform:scaleX(0)}
.anim .steps.is-in .step::after{transform:scaleX(1)}
@media (max-width:899px){
  .steps{grid-template-columns:1fr}
  .step{padding:28px 24px 26px 100px}
  .step-dot{position:absolute;left:22px;top:28px;width:54px;height:54px;margin:0}
  .step::after{display:block!important;top:89px;left:49px;width:1px;height:calc(100% - 54px + clamp(18px,2.2vw,30px));background:linear-gradient(180deg,var(--gold-l),rgba(232,201,138,.2));transform-origin:top}
  .step:last-child::after{display:none!important}
  .anim .steps .step::after{transform:scaleY(0)}
  .anim .steps.is-in .step::after{transform:scaleY(1)}
}

/* =========================================================
   11 FINANCE
   ========================================================= */
.tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(30px,3.6vw,44px)}
.tags li{padding:10px 20px;border-radius:999px;border:1px solid rgba(232,201,138,.3);font-size:14px;color:var(--gold-xl);background:rgba(201,163,91,.06)}
.tags li::before{content:"#";color:var(--gold);margin-right:4px}
.fin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,24px)}
.fin-card{padding:clamp(28px,3vw,40px);display:flex;flex-direction:column}
.fin-eb{font-size:11px;letter-spacing:.34em;color:var(--gold)}
.fin-card h3{font-family:var(--serif);font-weight:500;font-size:22px;margin:8px 0 22px}
.fin-dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 0;border-bottom:1px solid rgba(232,201,138,.1)}
.fin-dl dt{font-size:14px;color:var(--text-3)}
.fin-dl dd{font-size:16px;color:var(--text)}
.fin-dl dd b{color:var(--gold-xl);font-family:var(--display);font-size:26px;font-weight:500}
.fin-big .num{font-family:var(--serif);font-weight:500;font-size:clamp(30px,2.8vw,38px)}
.fin-steps{position:relative;display:flex;flex-direction:column;gap:18px}
.fin-steps::before{content:"";position:absolute;left:15px;top:14px;bottom:14px;width:1px;background:linear-gradient(180deg,var(--gold-l),rgba(232,201,138,.15));transform-origin:top;transition:transform 1.6s var(--ease-io) .3s}
.anim .fin-steps::before{transform:scaleY(0)}
.anim .fin-steps.is-in::before{transform:scaleY(1)}
.fin-steps li{position:relative;display:flex;gap:16px;align-items:flex-start}
.fin-steps em{flex:none;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-style:italic;font-size:16px;color:#1a1309;background:linear-gradient(120deg,#e8c98a,#b08a48);position:relative;z-index:1}
.fin-steps b{display:block;font-size:15.5px;font-weight:600}
.fin-steps span{font-size:13.5px;color:var(--text-3)}
.checks{display:flex;flex-direction:column;gap:14px;margin-bottom:30px}
.checks li{display:flex;gap:12px;align-items:center;font-size:15.5px}
.checks svg{width:22px;height:22px;flex:none;padding:3px;border-radius:50%;color:#1a1309;background:var(--gold-l)}
.fin-cta .btn{margin-top:auto;align-self:flex-start}
@media (max-width:1023px){.fin-grid{grid-template-columns:1fr}}

/* =========================================================
   12 BRANCHES — 아치형 카드
   ========================================================= */
.br-filter{display:flex;justify-content:center;gap:8px;margin-bottom:clamp(36px,4vw,52px);flex-wrap:wrap}
.br-filter button{height:44px;padding:0 22px;border-radius:999px;border:1px solid rgba(232,201,138,.28);font-size:14px;color:var(--text-2);transition:all .4s var(--ease)}
.br-filter button:hover{color:var(--gold-xl);border-color:rgba(232,201,138,.6)}
.br-filter button.is-on{background:linear-gradient(120deg,#b08a48,#e8c98a);color:#1a1309;border-color:transparent;font-weight:600}
.br-groups{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,44px)}
.br-group{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:clamp(20px,2.4vw,34px);align-items:end;padding:clamp(18px,2vw,26px);border-radius:24px;border:1px solid var(--line-soft);background:linear-gradient(170deg,rgba(36,27,17,.45),rgba(14,10,7,.5));transition:opacity .6s var(--ease),transform .7s var(--ease-out)}
.br-group.is-dim{display:none}
.br-groups.single{grid-template-columns:minmax(0,760px);justify-content:center}
.br-arch{position:relative;aspect-ratio:3/4.2;border-radius:999px 999px 14px 14px;overflow:hidden;border:1px solid rgba(232,201,138,.35)}
.br-arch::after{content:"";position:absolute;inset:8px;border-radius:999px 999px 8px 8px;border:1px solid rgba(232,201,138,.25);pointer-events:none}
.br-arch img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease-out)}
.br-group:hover .br-arch img{transform:scale(1.06)}
.br-kind{font-size:11px;letter-spacing:.34em;color:var(--gold)}
.br-info h3{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2vw,28px);margin:6px 0 18px}
.br-list li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid rgba(232,201,138,.09)}
.br-list b{font-weight:500;font-size:15.5px}
.br-list a{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--gold-l);padding:6px 10px;border-radius:999px;border:1px solid rgba(232,201,138,.25);transition:background-color .3s}
.br-list a:hover{background:rgba(201,163,91,.15)}
.br-list a svg{width:12px;height:12px}
.br-list em{font-size:12px;color:var(--text-3)}
.br-list li.wait b{color:var(--text-3)}
/* 상담 단계 지역은 운영 지점과 시각적으로 분리 */
.br-sub{margin:22px 0 2px;font-size:12.5px;letter-spacing:.04em;color:var(--text-3);display:flex;align-items:center;gap:10px}
.br-sub::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(232,201,138,.2),transparent)}
.br-sub small{font-size:11.5px;opacity:.8}
.br-wait li{grid-template-columns:auto 1fr;padding:9px 0;border-bottom-style:dashed}
.br-wait li:last-child{border-bottom:0}
.br-cap{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);padding:3px 12px;border-radius:999px;font-size:11px;letter-spacing:.06em;color:var(--text-2);background:rgba(13,10,7,.62);border:1px solid rgba(232,201,138,.22);white-space:nowrap}
.st{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;padding:4px 10px;border-radius:999px;background:rgba(140,120,100,.15);color:var(--text-3)}
.st::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.st.live{color:#e9c27c;background:rgba(201,163,91,.14)}
.st.live::before{box-shadow:0 0 0 0 rgba(233,194,124,.6);animation:livePulse 2.4s ease-out infinite}
@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(233,194,124,.6)}100%{box-shadow:0 0 0 8px rgba(233,194,124,0)}}
@media (max-width:1100px){.br-groups{grid-template-columns:1fr}.br-groups.single{grid-template-columns:1fr}}
@media (max-width:599px){
  .br-group{grid-template-columns:1fr}
  .br-arch{aspect-ratio:4/3.6;max-height:340px}
}

/* =========================================================
   13 FAQ — 아코디언 (부드러운 높이)
   ========================================================= */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,100px);align-items:start}
.faq-head{position:sticky;top:120px;margin-bottom:0}
.faq-head .link-arrow{margin-top:30px}
.faq-item{border-bottom:1px solid rgba(232,201,138,.14)}
.faq-item:first-child{border-top:1px solid rgba(232,201,138,.14)}
.faq-q{width:100%;display:flex;align-items:center;gap:18px;padding:26px 4px;text-align:left;font-size:clamp(16px,1.4vw,18.5px);font-weight:500;color:var(--text);transition:color .3s}
.faq-q em{font-family:var(--display);font-style:italic;font-size:18px;color:var(--gold);flex:none;width:30px}
.faq-q span{flex:1}
.faq-q i{position:relative;flex:none;width:34px;height:34px;border-radius:50%;border:1px solid rgba(232,201,138,.3);transition:transform .6s var(--ease),background-color .4s}
.faq-q i::before,.faq-q i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;margin:-.5px 0 0 -6px;background:var(--gold-l);transition:transform .6s var(--ease)}
.faq-q i::after{transform:rotate(90deg)}
.faq-q:hover{color:var(--gold-xl)}
.faq-item.is-open .faq-q i{background:rgba(201,163,91,.15);transform:rotate(180deg)}
.faq-item.is-open .faq-q i::after{transform:rotate(0)}
.faq-a>div{overflow:hidden}
.faq-a p{padding:0 50px 28px 52px;color:var(--text-2);font-size:15px;line-height:1.9}
.faq-a a{color:var(--gold-l);border-bottom:1px solid rgba(232,201,138,.4)}
.faq-list.is-ready .faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .7s var(--ease)}
.faq-list.is-ready .faq-item.is-open .faq-a{grid-template-rows:1fr}
.faq-list.is-ready .faq-a>div{min-height:0}
.faq-list.is-ready .faq-a p{opacity:0;transform:translateY(-6px);transition:opacity .5s,transform .6s var(--ease-out)}
.faq-list.is-ready .faq-item.is-open .faq-a p{opacity:1;transform:none;transition-delay:.15s}
@media (max-width:899px){
  .faq-grid{grid-template-columns:1fr}
  .faq-head{position:static}
  .faq-a p{padding:0 8px 24px 48px}
}

/* =========================================================
   14 CONTACT
   ========================================================= */
.contact{position:relative;padding:calc(var(--sec)*1.05) 0;overflow:hidden;isolation:isolate;text-align:center}
/* 위쪽 22%는 마스크로 투명하게 녹여 body 배경(스크롤 따라 따뜻해지는 색)과 경계 없이 이어지게 */
.ct-media{position:absolute;inset:0;z-index:-1;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 22%);mask-image:linear-gradient(180deg,transparent 0,#000 22%)}
.ct-media img{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover;opacity:.22;filter:saturate(.8)}
.ct-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0,transparent 75%,rgba(11,8,6,.95) 100%),radial-gradient(ellipse 70% 60% at 50% 55%,rgba(13,10,7,.2),rgba(13,10,7,.78) 72%)}
.ct-glow{position:absolute;left:50%;top:60%;width:120vmax;height:120vmax;margin:-60vmax 0 0 -60vmax;border-radius:50%;background:radial-gradient(circle,rgba(232,150,70,.24),transparent 46%);animation:breathe 9s ease-in-out infinite;z-index:1}
.ct-media .embers,.ct-media .grain{z-index:2}
.ct-bignum{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--display);font-weight:400;font-size:clamp(160px,30vw,460px);line-height:1;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(232,201,138,.09);pointer-events:none;z-index:-1}
.ct-inner{display:flex;flex-direction:column;align-items:center}
.ct-title{font-size:clamp(34px,5vw,68px)}
.ct-grid{margin-top:clamp(36px,4vw,56px);width:100%;max-width:1120px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(16px,2.2vw,28px);align-items:stretch}
.ct-grid.ct-grid--single{grid-template-columns:minmax(0,640px);justify-content:center;text-align:center}.ct-grid--single .ct-btns{justify-content:center}.ct-grid--single .ct-info{justify-content:center}
.ct-card{width:100%;padding:clamp(30px,4vw,52px) clamp(22px,3.4vw,48px);display:flex;flex-direction:column;justify-content:center}
.ct-lbl{font-size:13px;letter-spacing:.06em;color:var(--gold)}
.ct-grid .ct-tel{font-size:clamp(38px,4.2vw,62px);white-space:nowrap}
/* 창업 문의 폼 */
.ct-form{padding:clamp(26px,3.4vw,44px) clamp(22px,3.4vw,44px);text-align:left}
.ct-form-eb{font-size:11px;letter-spacing:.34em;color:var(--gold);margin-bottom:14px}
.apply{display:flex;flex-direction:column;gap:6px}
.field{position:relative;display:flex;flex-direction:column;padding:10px 0 0}
.field label{font-size:13px;color:var(--text-2);letter-spacing:.02em;transition:color .3s}
.field .req{color:var(--gold-l)}
.field input,.field textarea{width:100%;margin:0;padding:10px 0 12px;border:0;border-bottom:1px solid rgba(232,201,138,.22);border-radius:0;background:transparent;color:var(--text);font:inherit;font-size:16px;line-height:1.5;outline:none;-webkit-appearance:none;appearance:none}
.field textarea{resize:vertical;min-height:84px}
.field input::placeholder,.field textarea::placeholder{color:#6f6556}
.field i{position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,var(--gold),var(--gold-xl));transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-out);pointer-events:none}
.field:focus-within i{transform:scaleX(1)}
.field:focus-within label{color:var(--gold-xl)}
.field input:-webkit-autofill{-webkit-text-fill-color:var(--text);transition:background-color 9999s}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
.agree{display:flex;align-items:center;gap:12px;margin:16px 0 6px;font-size:14px;color:var(--text-2);cursor:pointer;position:relative}
.agree input{position:absolute;opacity:0;width:22px;height:22px;margin:0;left:0;top:50%;transform:translateY(-50%)}
.agree-box{flex:none;width:22px;height:22px;border-radius:6px;border:1px solid rgba(232,201,138,.5);display:grid;place-items:center;transition:background-color .3s,border-color .3s}
.agree-box svg{width:14px;height:14px;color:#1a1309;opacity:0;transform:scale(.5);transition:opacity .3s,transform .4s var(--ease-out)}
.agree input:checked+.agree-box{background:var(--gold-l);border-color:var(--gold-l)}
.agree input:checked+.agree-box svg{opacity:1;transform:none}
.agree input:focus-visible+.agree-box{outline:1px solid var(--gold-l);outline-offset:3px}
.form-err{margin:4px 0 0;padding:10px 14px;border-radius:10px;border:1px solid rgba(192,57,43,.5);background:rgba(192,57,43,.1);font-size:14px;color:#f1c7bf}
.apply .submit{width:100%;margin-top:12px}
.apply .submit[disabled]{opacity:.7;pointer-events:none}
.form-ok{text-align:center;padding:clamp(30px,5vw,60px) 10px;outline:none}
.ok-mark{position:relative;display:inline-grid;place-items:center;width:84px;height:84px;border-radius:50%;border:1px solid rgba(232,201,138,.5);background:radial-gradient(circle,rgba(232,150,70,.25),transparent 70%);color:var(--text)}
.ok-mark svg{width:30px;height:38px}
.ok-mark::after{content:"";position:absolute;inset:-1px;border-radius:50%;border:1px solid rgba(232,170,90,.55);animation:pulseRing 3.2s var(--ease) infinite}
.form-ok h3{margin:22px 0 10px;font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.2vw,28px);color:var(--gold-xl)}
.form-ok p{color:var(--text-2);font-size:15px;line-height:1.85}
.form-ok a{color:var(--gold-l);border-bottom:1px solid rgba(232,201,138,.4)}
.form-ok.is-in .ok-mark{animation:okIn 1.2s var(--ease-out) both}
@keyframes okIn{from{opacity:0;transform:scale(.6);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@media (max-width:899px){.ct-grid{grid-template-columns:1fr}}
@media (max-width:480px){.field-row{grid-template-columns:1fr}}
.ct-tel{display:inline-block;margin-top:10px;font-family:var(--display);font-weight:500;font-size:clamp(46px,7vw,88px);line-height:1.1;letter-spacing:.01em;font-variant-numeric:lining-nums}
.ct-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.ct-info{display:flex;justify-content:center;gap:12px 32px;flex-wrap:wrap;margin-top:28px;padding-top:24px;border-top:1px solid rgba(232,201,138,.14);font-size:14.5px;color:var(--text)}
.ct-info em{color:var(--text-3);margin-right:10px;font-size:13px}
@media (max-width:599px){
  .ct-btns .btn{width:100%}
}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{position:relative;background:#0a0705;padding:80px 0 120px;border-top:1px solid var(--line-soft);font-size:14px;color:var(--text-3)}
.ft-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;align-items:start}
.ft-brand p{margin-top:18px;max-width:420px;line-height:1.85}
.ft-h{font-family:var(--display);font-style:italic;font-size:18px;color:var(--gold-l);margin-bottom:10px}
.ft-contact p{line-height:2}
.ft-contact a{color:var(--text)}
.ft-link{justify-self:end}
.ft-link .link-arrow{font-size:14px}
.ft-biz{margin-top:48px}
.ft-biz dl{display:flex;flex-wrap:wrap;gap:6px 22px;margin:0;font-size:12.5px;line-height:1.7}
.ft-biz dl>div{display:flex;gap:8px}
.ft-biz dt{color:var(--text-3)}
.ft-biz dd{margin:0;color:var(--text-3);opacity:.7}
.ft-bottom{margin-top:22px;padding-top:26px;border-top:1px solid rgba(232,201,138,.08);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px}
.ft-disc{max-width:820px;line-height:1.8;color:var(--text-2)}
@media (max-width:899px){.ft-grid{grid-template-columns:1fr}.ft-link{justify-self:start}}

/* =========================================================
   플로팅 전화 / 모바일 하단 CTA
   ========================================================= */
.float-call{position:fixed;right:28px;bottom:28px;z-index:58;height:64px;min-width:64px;border-radius:999px;display:none;align-items:center;gap:0;padding:0 21px;color:#1a1309;background:linear-gradient(120deg,#b08a48,#e8c98a 50%,#c9a35b);box-shadow:0 16px 40px -12px rgba(232,160,80,.6);opacity:0;transform:translateY(20px) scale(.9);transition:opacity .6s var(--ease),transform .6s var(--ease-out),gap .5s var(--ease),padding .5s var(--ease)}
.float-call svg{width:22px;height:22px;flex:none}
.fc-txt{max-width:0;overflow:hidden;white-space:nowrap;font-weight:700;font-size:15px;transition:max-width .6s var(--ease)}
.float-call:hover{gap:10px}
.float-call:hover .fc-txt{max-width:150px}
.fc-ring{position:absolute;inset:0;border-radius:inherit;border:1px solid rgba(232,201,138,.8);animation:pulseRing 2.8s var(--ease) infinite;pointer-events:none}
.float-call.is-on{opacity:1;transform:none}
.float-call.is-near{opacity:0;pointer-events:none}
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:58;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(13,10,7,.86);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid rgba(232,201,138,.18);transform:translateY(110%);transition:transform .6s var(--ease-out)}
.mbar.is-on{transform:none}
/* 메뉴가 열렸을 때 · 문의 섹션의 큰 전화/문자 버튼이 보일 때는 하단 바를 내린다 */
.mbar.is-on.is-near,.nav-open .mbar.is-on{transform:translateY(110%)}
.mbar a{height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:15px}
.mbar svg{width:19px;height:19px}
.mbar-call{color:#1a1309;background:linear-gradient(120deg,#b08a48,#e8c98a 50%,#c9a35b)}
.mbar-sms{color:var(--gold-xl);border:1px solid rgba(232,201,138,.45)}
@media (min-width:1024px){.float-call{display:inline-flex}.mbar{display:none}}
@media (max-width:1023px){.site-footer{padding-bottom:140px}}

/* =========================================================
   성능 : 화면 밖 무한 애니메이션 정지 (JS가 IntersectionObserver로 .is-paused 토글)
   ========================================================= */
.is-paused,.is-paused *,.is-paused *::before,.is-paused *::after{animation-play-state:paused!important}

/* 터치 기기·모바일 : 무거운 합성 효과 끄기 (블렌드 레이어, 큰 빛 번짐 2개, backdrop-filter) */
@media (hover:none),(max-width:767px){
  .grain{animation:none;inset:-10%}
  .hero-haze{mix-blend-mode:normal;animation:none;opacity:.8}
  .hero-glow .g2,.hero-glow .g3{display:none}
  .hero-glow .g1{animation-duration:12s}
  .glass,.tbl-wrap,.space-shot .cap,.temp-badge,.btn-line,.stamp,.mbar,.site-header.is-scrolled,.lightbox{-webkit-backdrop-filter:none;backdrop-filter:none}
  .glass,.tbl-wrap{background:linear-gradient(160deg,rgba(40,30,19,.94),rgba(22,16,11,.96))}
  .space-shot .cap,.btn-line,.stamp{background:rgba(24,18,12,.88)}
  .mbar{background:rgba(13,10,7,.96)}
  .site-header.is-scrolled{background:rgba(13,10,7,.94)}
  .ct-glow{animation:none}
}

/* =========================================================
   prefers-reduced-motion : 효과 최소화
   ========================================================= */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .band-track,.chip-track,.sig-bgtype-in{animation:none!important}
  .band,.chip-marquee{overflow-x:auto}
  .grain,.embers{display:none}
  .hero-bg img{animation:none;transform:scale(1.04)}
  .shimmer{animation:none;background-position:30% 0}
}
