/* 새집 한국판(/ko/) — 레퍼런스: Squarespace(절제·가는 큰 제목·실물 부채꼴·큰 아코디언) + Framer(검정·실제 제품 화면·벤토)
   반경 규칙: 화면 틀 16px · 카드 20px · 버튼 8px · 칩·탭 알약 */
:root{
  /* 밝은 바탕이 기본. 히어로(밤 영상)·푸터만 .dk 로 어둡게 */
  --bg:#FFFFFF; --bg-1:#F7F7F5; --bg-2:#F1F1EE; --bg-3:#E8E8E4; --line:#E6E6E3; --line-2:#D8D8D4;
  --text:#0B0B0C; --fg:#0B0B0C; --soft:#3F3F46; --dim:#5C5C64; --mute:#86868E;
  --inv:#0B0B0C; --inv-fg:#FFFFFF; --hi:#F1F1EE; --hair:rgba(0,0,0,.08); --drop:rgba(20,20,30,.14);
  --chrome:#F1F1EE; --chrome-dot:#D2D2CE; --chrome-url:#FFFFFF; --hd:rgba(255,255,255,.82);
  --paper:#FFFFFF; --paper-2:#F3F3F1; --ink:#0B0B0C; --ink-2:#4A4A52; --pline:#E4E4E1;
  --wrap:1240px; --gut:clamp(16px,4vw,40px);
}
/* 어두운 영역 — 히어로·푸터, 히어로 위에 떠 있는 머리 */
.dk{--bg:#000; --bg-1:#0A0A0B; --bg-2:#111113; --bg-3:#1A1A1D; --line:#232327; --line-2:#2E2E33;
  --text:#F5F5F3; --fg:#FFFFFF; --soft:#C9C9CF; --dim:#A6A6AD; --mute:#6F6F77;
  --inv:#FFFFFF; --inv-fg:#000000; --hi:#FFFFFF; --hair:rgba(255,255,255,.08); --drop:rgba(0,0,0,.6);
  --chrome:#161618; --chrome-dot:#333338; --chrome-url:#0C0C0E; --hd:rgba(0,0,0,.72); color:var(--text)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.6 "Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;word-break:keep-all;overflow-x:clip;-webkit-font-smoothing:antialiased}
img,video,canvas{max-width:100%;height:auto;display:block}
img{-webkit-user-drag:none;user-select:none}
a{color:inherit}
:focus-visible{outline:2px solid var(--fg);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
h1,h2,h3{margin:0;text-wrap:balance}
p{margin:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ── 머리 ── */
.hd{position:fixed;inset:0 0 auto;z-index:40;transition:background .25s,border-color .25s;border-bottom:1px solid transparent}
.hd.solid{background:var(--hd);backdrop-filter:blur(18px) saturate(1.4);border-color:var(--line)}
.hd .bar{display:flex;align-items:center;gap:32px;height:64px}
.logo{display:flex;align-items:center;gap:8px;font-weight:700;font-size:18px;letter-spacing:-.03em;text-decoration:none}
.logo svg{width:20px;height:20px}
.hd nav{display:flex;gap:26px;font-size:14px;color:var(--dim)}
.hd nav a{text-decoration:none;transition:color .15s}.hd nav a:hover{color:var(--fg)}
.hd .right{margin-left:auto;display:flex;gap:8px;align-items:center}
.menu-b{display:none;background:none;border:0;padding:8px;margin-right:-8px;color:var(--fg)}
.menu-b svg{width:24px;height:24px}
.hd .m-nav{display:none}
@media (max-width:960px){
  .hd nav{display:none}.menu-b{display:block}
  .hd.open{background:var(--bg)}
  .hd.open .m-nav{display:grid;padding:4px var(--gut) 20px}
  .m-nav a{padding:14px 0;text-decoration:none;font-size:17px;border-bottom:1px solid var(--line)}
  .hd .right .btn{display:none}
}

/* ── 버튼·입력 ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:8px;background:var(--inv);color:var(--inv-fg);font-family:inherit;font-weight:600;font-size:14px;line-height:1;text-decoration:none;white-space:nowrap;border:0;cursor:pointer;transition:background .15s,transform .12s}
.btn:hover{background:#E6E6E3}.btn:active{transform:translateY(1px)}
.btn.dark{background:var(--bg-3);color:var(--fg);box-shadow:inset 0 0 0 1px var(--line-2)}.btn.dark:hover{background:var(--line-2)}
.link{color:var(--dim);text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap}.link:hover{color:var(--fg)}
.link::after{content:" →"}

/* Framer 식 입력 상자 — 주소 하나 */
.ask{position:relative;display:flex;align-items:center;gap:8px;width:100%;max-width:620px;padding:8px 8px 8px 18px;border-radius:16px;background:rgba(22,22,25,.78);backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 20px 60px -20px rgba(0,0,0,.8);transition:box-shadow .25s;text-align:left}
.ask:focus-within{box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 0 0 6px rgba(255,255,255,.06),0 20px 60px -20px rgba(0,0,0,.8)}
.ask label{flex:1;display:flex;align-items:center;gap:2px;min-width:0;color:var(--mute);font-size:16px}
.ask input{flex:1;min-width:0;height:40px;border:0;outline:0;background:none;color:var(--fg);font-family:inherit;font-size:17px;font-weight:500}
.ask input::placeholder{color:var(--mute)}
.ask .btn{height:44px;padding:0 18px;border-radius:10px}
@media (max-width:560px){.ask{flex-direction:column;align-items:stretch;padding:8px}.ask label{padding:4px 10px}.ask .btn{width:100%}}
.ask-note{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:16px;font-size:13px;color:var(--dim)}
.ask-note a{color:var(--fg);text-underline-offset:3px}

/* ── 첫 화면 (Squarespace: 배경 영상 + 가운데 제목 + 실물 부채꼴) ── */
.hero{position:relative;z-index:2;padding:calc(64px + clamp(72px,11vh,140px)) 0 0;text-align:center;overflow-x:clip;isolation:isolate} /* 세로는 넘치게 — 부채꼴 카드 아랫부분이 아래 흰 섹션 위로 겹쳐 보인다(가로만 자름) */
.hero .media{position:absolute;inset:0;z-index:-2;background:#000}
/* iOS 사파리: 재생 중인 배경 영상 층 아래로 글자가 깔려 스크롤 전까지 안 보이던 문제 — 글자 묶음을 영상 위 별도 층으로 올린다 */
.hero .wrap{position:relative;z-index:1;transform:translateZ(0)}
.hero .media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .media::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 55% at 50% 38%,rgba(0,0,0,.82) 0%,rgba(0,0,0,.55) 60%,rgba(0,0,0,.35) 100%),linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,.9) 86%,#000 100%)}
.hero h1{font-size:clamp(46px,7.4vw,104px);line-height:1.02;font-weight:400;letter-spacing:-.055em}
.hero .lead{margin:24px auto 36px;max-width:31em;font-size:clamp(16px,1.4vw,18px);color:var(--soft)}
.hero .ask{margin:0 auto}
.fan{position:relative;height:clamp(220px,34vw,470px);margin-top:clamp(56px,8vw,96px);perspective:1800px}
.fan figure{position:absolute;left:50%;bottom:0;margin:0;width:min(62vw,820px);border-radius:14px;background:#111;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 -10px 60px rgba(0,0,0,.6);transform-origin:50% 100%;transition:transform 1.1s cubic-bezier(.2,.7,.1,1),filter .8s,opacity .8s}
.fan figure img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;border-radius:14px}
.fan .c{transform:translateX(-50%) translateY(18%);z-index:2}
.fan .l{transform:translateX(-118%) translateY(30%) scale(.86);z-index:1;filter:brightness(.55)}
.fan .r{transform:translateX(18%) translateY(30%) scale(.86);z-index:1;filter:brightness(.55)}
.fan .n{transform:translateX(40%) translateY(44%) scale(.76);z-index:0;opacity:0}
.fan .x{transform:translateX(-140%) translateY(44%) scale(.76);z-index:0;opacity:0}
.js .fan.wait .c{transform:translateX(-50%) translateY(46%)}
.js .fan.wait .l{transform:translateX(-80%) translateY(60%) rotateY(0) scale(.8)}
.js .fan.wait .r{transform:translateX(-20%) translateY(60%) rotateY(0) scale(.8)}
.js .fan.wait .n{transform:translateX(-50%) translateY(60%) scale(.8)}
.fan figcaption{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);padding:7px 14px;border-radius:999px;background:#111;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 6px 20px rgba(0,0,0,.5);font-size:13px;font-weight:600;white-space:nowrap;opacity:0;transition:opacity .5s}
.fan figcaption{display:inline-flex;align-items:center;gap:6px}.fan figcaption svg{width:14px;height:14px;fill:currentColor;flex:none;opacity:.85}
.fan .c figcaption,.fan figure.on figcaption{opacity:1;transition-delay:.15s}
.fan.live{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;outline:none}
.fan.live.drag{cursor:grabbing}
.fan.live figure{transition:none;will-change:transform,opacity}
.fan .f3{position:absolute;inset:0;perspective:1800px;transform-style:preserve-3d} /* 카드들이 한 3D 공간에서 깊이로 앞뒤가 정해진다 — 여기엔 overflow·opacity·clip 등 평면화 속성 금지 */
.fan figure .dim{position:absolute;inset:0;border-radius:14px;background:#000;opacity:0;pointer-events:none}
.fan.live:focus-visible figure.on{box-shadow:0 0 0 2px var(--fg),0 -10px 60px rgba(0,0,0,.6)}
@media (max-width:720px){.fan figure img{object-position:50% 46%}.fan figure{width:82vw}.fan .l{transform:translateX(-112%) translateY(34%) scale(.8)}.fan .r{transform:translateX(12%) translateY(34%) scale(.8)}}

/* ── 숫자 띠 (Squarespace) ── */
.stats{border-top:1px solid var(--line);padding:calc(clamp(48px,7vw,88px) + min(9.2vw,92px)) 0 clamp(48px,7vw,88px);text-align:center} /* 위 여백 += 히어로 부채꼴 가운데 카드가 내려와 겹치는 만큼(카드 높이의 18%) */
.stats p.cap{font-size:14px;color:var(--dim);margin-bottom:28px}
.stats ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:clamp(32px,8vw,120px);flex-wrap:wrap}
.stats b{display:block;font-size:clamp(44px,5.4vw,72px);font-weight:300;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.stats small{display:block;margin-top:10px;font-size:13px;color:var(--dim)}

/* ── 공통 섹션 머리 (Framer: 왼쪽 큰 제목 + 오른쪽 링크) ── */
.sec{padding:clamp(80px,11vw,150px) 0}
.sh{display:flex;align-items:flex-end;justify-content:space-between;gap:24px 48px;flex-wrap:wrap;margin-bottom:clamp(32px,4vw,52px)}
.sh h2{font-size:clamp(32px,4.2vw,56px);line-height:1.08;font-weight:500;letter-spacing:-.045em;max-width:15em}
.sh p{max-width:30em;color:var(--dim);font-size:16px}
.sh .side{display:grid;gap:14px;justify-items:start}

/* ── 이사 비교 (Framer: 실제 화면 + 옆 작업 패널) ── */
.panel{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px;padding:12px;border-radius:24px;background:var(--bg-1);box-shadow:inset 0 0 0 1px var(--line)}
.tabs{display:flex;gap:4px;padding:4px;border-radius:999px;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line);width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none;margin-bottom:16px}
.tabs button{all:unset;flex:none;cursor:pointer;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600;color:var(--dim);white-space:nowrap;transition:background .15s,color .15s}
.tabs button[aria-pressed="true"]{background:var(--inv);color:var(--inv-fg)}
.tabs button:focus-visible{outline:2px solid var(--fg);outline-offset:1px}
.frame{border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--hair)}
.chrome{display:flex;align-items:center;gap:12px;height:36px;padding:0 12px;background:var(--chrome);border-bottom:1px solid var(--line);font-size:12px;color:var(--dim)}
.chrome .dots{display:flex;gap:6px}.chrome .dots i{width:9px;height:9px;border-radius:50%;background:var(--chrome-dot)}
.chrome .url{flex:1;max-width:380px;margin:0 auto;height:22px;border-radius:6px;background:var(--chrome-url);display:flex;align-items:center;justify-content:center;gap:6px;color:var(--soft)}
.chrome .url svg{width:11px;height:11px}
.chrome .sp{width:42px}
.log{display:flex;flex-direction:column;border-radius:16px;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line);padding:18px;font-size:14px;min-height:0}
.log .who{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.log .who i{width:30px;height:30px;border-radius:8px;background:var(--bg-3);display:grid;place-items:center;font-style:normal;font-size:13px;font-weight:700}
.log .who b{display:block;font-size:14px;font-weight:600}.log .who small{color:var(--mute);font-size:12px}
.log ol{list-style:none;margin:0;padding:6px 0 0;flex:1}
.log li{position:relative;border-bottom:1px solid var(--line)}
.log li b{display:block;font-weight:600;font-size:14px;margin-bottom:4px}
.log li span{color:var(--dim);font-size:13px;line-height:1.55}
.log .live{margin-top:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:var(--dim)}
.log .live a{color:var(--fg);font-weight:600;text-decoration:none}
.log .live i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#3DDC84;margin-right:6px;box-shadow:0 0 0 3px rgba(61,220,132,.18)}
@media (max-width:980px){.panel{grid-template-columns:1fr}}
/* 이사 비교 — 지금(큰 창) + 리뉴얼 전(구석 작은 창) + 한 줄씩 밝아지는 '한 일' */
.mv-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.mv-top .tabs{margin:0}
.mv-play{all:unset;flex:none;cursor:pointer;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--dim);box-shadow:inset 0 0 0 1px var(--line)}
.mv-play:hover{color:var(--fg)}.mv-play:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.mv-play svg{width:14px;height:14px}
.mv-play .i-play{display:none}.mv-play.off .i-play{display:block}.mv-play.off .i-pause{display:none}
.mv .stage{position:relative;padding:22px 0 56px 72px;min-width:0}
.mv .now{position:relative;box-shadow:0 0 0 1px var(--hair),0 30px 80px var(--drop)}
.mv .now .view{position:relative;aspect-ratio:16/10;overflow:hidden;background:#fff}
.mv .now .view img{width:100%;height:auto;will-change:transform}
.mv .chrome .st{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--soft);white-space:nowrap}
.mv .chrome .st i{width:7px;height:7px;border-radius:50%;background:#3DDC84;box-shadow:0 0 0 3px rgba(61,220,132,.18)}
.mv .old{position:absolute;left:0;bottom:0;width:40%;margin:0;transform:rotate(-3deg);transform-origin:0 100%;z-index:2}
.mv .old img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;border-radius:12px;box-shadow:0 0 0 1px var(--hair),0 24px 60px var(--drop);filter:saturate(.75) brightness(.9)}
.mv .old figcaption{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);padding:6px 12px;border-radius:999px;background:var(--inv);color:var(--inv-fg);box-shadow:0 6px 20px var(--drop);font-size:12px;font-weight:600;white-space:nowrap}
.mv.in .old{animation:mv-old .8s cubic-bezier(.2,.7,.1,1)}
.mv.in .now .view img{animation:mv-in .6s ease-out}
@keyframes mv-old{from{opacity:0;transform:translate(-24px,28px) rotate(-7deg)}}
@keyframes mv-in{from{opacity:0}}
.mv .log li{opacity:.42;transition:opacity .45s}
.mv .log li.on,.mv .log li:hover{opacity:1}.mv .log li.done{opacity:.62}
.mv .log li button{all:unset;display:block;width:100%;padding:12px 0;cursor:pointer}
.mv .log li button:focus-visible{outline:2px solid var(--fg);outline-offset:2px;border-radius:4px}
.mv .log li .bar{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--fg);transform:scaleX(0);transform-origin:0 50%}
@media (prefers-reduced-motion:reduce){.mv .log li{opacity:1}.mv.in .old,.mv.in .now .view img{animation:none}}
@media (max-width:720px){.mv .stage{padding:14px 0 34px 26px}.mv .old{width:46%}}

/* ── 과정 영상 ── */
.film{border-radius:24px;overflow:hidden;background:var(--bg-1);box-shadow:inset 0 0 0 1px var(--line);aspect-ratio:16/9;position:relative}
.film video,.film img{width:100%;height:100%;object-fit:cover}
.steps{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.steps li{padding:20px;border-radius:16px;background:var(--bg-1);box-shadow:inset 0 0 0 1px var(--line)}
.steps .n{font-size:12px;color:var(--mute);font-variant-numeric:tabular-nums}
.steps h3{margin:8px 0 6px;font-size:17px;font-weight:600;letter-spacing:-.02em}
.steps p{font-size:14px;color:var(--dim)}
.steps .cost{display:inline-block;margin-top:12px;font-size:13px;font-weight:600;color:var(--fg)}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* ── 벤토 (Framer: 칸마다 실제 화면) ── */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.cell{position:relative;display:flex;flex-direction:column;border-radius:20px;background:var(--bg-1);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;min-height:0}
.cell .txt{padding:22px 24px 0}
.cell h3{font-size:17px;font-weight:600;letter-spacing:-.02em}
.cell p{margin-top:6px;font-size:14px;color:var(--dim);max-width:30em}
.cell .shot{margin-top:auto;padding:20px 0 0 24px}
.cell .shot img,.c-ed .shot video{border-radius:12px 0 0 0;box-shadow:0 0 0 1px var(--hair);width:100%}.c-ed .shot video{display:block;height:auto;aspect-ratio:16/10;background:#F4F5F7}
.c-ed{grid-column:span 4}.c-ai{grid-column:span 2}.c-mo{grid-column:span 3}.c-go{grid-column:span 3}
.c-ai .shot{padding:20px 24px 0}.c-ai .shot video{display:block;width:100%;height:auto;aspect-ratio:728/920;border-radius:12px 12px 0 0;box-shadow:0 0 0 1px var(--hair);background:#fff}
.c-mo .shot{padding:20px 24px 0}.c-mo .shot video{display:block;width:100%;height:auto;aspect-ratio:6/5;border-radius:12px 12px 0 0;box-shadow:0 0 0 1px var(--hair);background:#F4F5F7}
.c-go .shot{margin-top:0;padding:20px 24px 0}.c-go .shot video{display:block;width:100%;height:auto;aspect-ratio:16/10;border-radius:12px;box-shadow:0 0 0 1px var(--hair);background:#F4F5F7}
.c-go .big{margin-top:auto;padding:16px 24px 24px;display:grid;gap:10px}
@media (min-width:981px){.c-go .big{grid-template-columns:1fr 1fr}}
.c-go .addr{display:flex;align-items:center;gap:8px;height:42px;padding:0 14px;border-radius:10px;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line-2);font-size:14px;color:var(--fg);min-width:0}
.c-go .addr span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.c-go .addr i{width:7px;height:7px;border-radius:50%;background:#3DDC84;flex:none}
.c-go .addr small{margin-left:auto;color:var(--mute);font-size:12px;white-space:nowrap}
@media (max-width:980px){.bento{grid-template-columns:1fr 1fr}.c-ed{grid-column:1/-1}.c-ai{grid-column:1/-1;grid-row:auto}.c-mo,.c-go{grid-column:span 1}}
@media (max-width:600px){.bento{grid-template-columns:1fr}.c-mo,.c-go{grid-column:1/-1}}

/* ── 템플릿 (Squarespace: 흰 바탕 + 탭 + 넘기기) ── */
.light{background:var(--bg-1);color:var(--ink)}
.light .sh p{color:var(--ink-2)}
.light .tabs{background:var(--paper-2);box-shadow:none}
.light .tabs button{color:var(--ink-2)}
.light .tabs button[aria-pressed="true"]{background:var(--ink);color:#fff}
.light :focus-visible{outline-color:var(--ink)}
.light .link{color:var(--ink-2)}.light .link:hover{color:var(--ink)}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,360px);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut))) 24px;scroll-padding-left:max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut)));scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.rail a{scroll-snap-align:start;text-decoration:none;display:grid;gap:12px}
.rail img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px;background:var(--paper-2);box-shadow:0 0 0 1px rgba(11,11,12,.06);transition:transform .4s cubic-bezier(.2,.7,.1,1)}
.rail a:hover img{transform:translateY(-4px)}
.rail b{font-size:15px;font-weight:600;letter-spacing:-.01em}
.rail small{font-size:13px;color:var(--mute)}
.rail-ctl{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:4px}
.rail-ctl .arrows{display:flex;gap:8px}
.rail-ctl .arrows button{all:unset;cursor:pointer;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--pline)}
.rail-ctl .arrows button:hover{background:var(--paper-2)}
.rail-ctl .arrows button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.rail-ctl .arrows svg{width:16px;height:16px}
.rail-ctl #r-play .i-play{display:none}.rail-ctl #r-play.off .i-play{display:block}.rail-ctl #r-play.off .i-pause{display:none}
.tabs button{position:relative;overflow:hidden}
.tabs button .pg{position:absolute;left:0;bottom:0;height:2px;width:0;background:currentColor;opacity:.55;pointer-events:none}
.tabs button[aria-pressed="false"] .pg{display:none}
.rail{transition:opacity .28s}

/* ── 옮긴 사이트 (Framer: 결과물 벽) ── */
.wall{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(150px,15vw,210px);gap:12px}
.site{position:relative;border-radius:16px;overflow:hidden;background:var(--bg-2);text-decoration:none;box-shadow:inset 0 0 0 1px var(--line)}
.site img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;transition:opacity .45s,transform .7s cubic-bezier(.2,.7,.1,1)}
.site .old{opacity:0}
.site:hover .old,.site:focus-visible .old{opacity:1}
.site:hover img:not(.old){transform:scale(1.03)}
.site .cap{position:absolute;left:0;right:0;bottom:0;padding:44px 16px 14px;background:linear-gradient(transparent,rgba(0,0,0,.88));display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.site .cap b{font-size:14px;font-weight:600;line-height:1.35}
.site .cap small{display:block;font-size:12px;color:#C9C9CF;font-weight:400}
.site .cap em{font-style:normal;font-size:11px;color:#9A9AA2;white-space:nowrap}
.site.big{grid-column:span 2;grid-row:span 2}
.site.wide{grid-column:span 2}
@media (max-width:900px){.wall{grid-template-columns:1fr 1fr;grid-auto-rows:40vw}.site.big{grid-row:span 1}.site.wide,.site.big{grid-column:span 2}}

/* ── 요금 ── */
.prices{border-top:1px solid var(--line-2)}
.prow{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,2fr) auto;gap:6px 32px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--line)}
.prow h3{font-size:19px;font-weight:500;letter-spacing:-.02em}
.prow p{color:var(--dim);font-size:15px}
.prow .amt{font-size:clamp(26px,2.8vw,36px);font-weight:300;letter-spacing:-.04em;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.prow .amt small{font-size:14px;color:var(--mute);margin-left:4px;font-weight:400;letter-spacing:0}
.pfoot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;margin-top:18px;font-size:13px;color:var(--mute)}
@media (max-width:720px){.prow{grid-template-columns:1fr auto}.prow p{grid-column:1/-1;grid-row:2}}

/* ── 큰 아코디언 (Squarespace) ── */
.acc details{border-top:1px solid var(--line-2)}
.acc details:last-child{border-bottom:1px solid var(--line-2)}
.acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:clamp(22px,2.6vw,34px) 0;font-size:clamp(24px,3vw,38px);font-weight:400;letter-spacing:-.04em}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"";width:18px;height:18px;flex:none;background:linear-gradient(var(--fg),var(--fg)) center/100% 1.5px no-repeat,linear-gradient(var(--fg),var(--fg)) center/1.5px 100% no-repeat;transition:transform .25s}
.acc details[open] summary::after{transform:rotate(45deg)}
.acc .body{padding:0 0 40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 48px;max-width:980px}
.acc .body b{display:block;font-weight:600;margin-bottom:4px}
.acc .body p{color:var(--dim);font-size:15px}
@media (max-width:720px){.acc .body{grid-template-columns:1fr}}

/* ── 마지막 (Squarespace 입자 구 + Framer 입력) ── */
.final{position:relative;text-align:center;padding:clamp(120px,16vw,220px) 0;overflow:hidden;isolation:isolate}
.final canvas{position:absolute;left:50%;top:50%;width:min(760px,120vw);aspect-ratio:1;transform:translate(-50%,-50%);z-index:-1}
.final h2{font-size:clamp(40px,5.6vw,80px);line-height:1.04;font-weight:400;letter-spacing:-.055em;margin-bottom:34px}
.final .ask{margin:0 auto;background:var(--bg);backdrop-filter:none;box-shadow:inset 0 0 0 1px var(--line-2),0 24px 60px -24px var(--drop)}

/* ── 바닥 ── */
.ft{background:var(--bg);border-top:1px solid var(--line);padding:56px 0 28px;font-size:13px;color:var(--mute)}
.ft .cols{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:32px}
.ft .tagline{margin-top:14px;font-size:22px;font-weight:300;letter-spacing:-.04em;color:var(--text);max-width:12em;line-height:1.25}
.ft h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--text)}
.ft ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ft a{text-decoration:none}.ft a:hover{color:var(--fg)}
.ft .legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:48px;padding-top:20px;border-top:1px solid var(--line)}
@media (max-width:820px){.ft .cols{grid-template-columns:1fr 1fr}}

/* 모바일 아래 고정 권유 (Squarespace) */
.dock{display:none}
@media (max-width:720px){.dock{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:30;transform:translateY(150%);transition:transform .25s}.dock.show{transform:none}.dock .btn{flex:1;height:52px;box-shadow:0 10px 30px rgba(0,0,0,.6)}}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ════ 세부 페이지 ════ */
.hd nav a[aria-current="page"]{color:var(--fg)}
.ph{padding:calc(64px + clamp(64px,10vh,128px)) 0 clamp(56px,7vw,96px)}
.eb{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--dim);margin-bottom:22px}
.eb::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--fg)}
.ph h1{font-size:clamp(44px,6.6vw,92px);line-height:1.04;font-weight:400;letter-spacing:-.055em;max-width:12em}
.ph .lead{margin-top:24px;max-width:34em;font-size:clamp(16px,1.4vw,19px);color:var(--soft)}
.acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.btn.lg{height:50px;padding:0 22px;font-size:15px}
.btn.ghost{background:transparent;color:var(--fg);box-shadow:inset 0 0 0 1px var(--line-2)}.btn.ghost:hover{background:var(--bg-2)}
.light .btn.ghost{color:var(--ink);box-shadow:inset 0 0 0 1px var(--pline)}

/* 글 칸 묶음 (Framer 벤토의 글자판) */
.fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fcell{padding:26px 26px 28px;border-radius:20px;background:var(--bg-1);box-shadow:inset 0 0 0 1px var(--line)}
.fcell h3{font-size:18px;font-weight:600;letter-spacing:-.02em}
.fcell p{margin-top:8px;font-size:15px;color:var(--dim)}
.fcell p a{color:var(--fg)}
@media (max-width:900px){.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.fgrid{grid-template-columns:1fr}}

/* 남는 것 / 바뀌는 것 */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.duo>div{padding:32px;border-radius:24px;background:var(--bg-1);box-shadow:inset 0 0 0 1px var(--line)}
.duo>div.hi{background:var(--hi);color:var(--ink);box-shadow:none}
.duo h3{font-size:clamp(22px,2.4vw,30px);font-weight:500;letter-spacing:-.04em;margin-bottom:22px}
.duo ul{list-style:none;margin:0;padding:0}
.duo li{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--line);font-size:16px}
.duo .hi li{border-color:var(--pline)}
.duo li::before{content:"";flex:none;width:18px;height:18px;margin-top:3px;border-radius:50%;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.5 9.5l3 3 6-7' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.5 9.5l3 3 6-7' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
@media (max-width:720px){.duo{grid-template-columns:1fr}}

/* 사례 페이지 — 세 장 겹침 */
.stack{position:relative;aspect-ratio:16/10;background:#fff}
.stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;opacity:0;transition:opacity .45s}
.stack img.on{opacity:1}
.stack .tag{position:absolute;top:12px;left:12px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:600;background:rgba(0,0,0,.78);color:#fff}
.stack .tag.live{background:#fff;color:#000;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.ctl{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}
.ctl .tabs{margin:0}
.navb{display:flex;gap:8px}
.navb button{all:unset;cursor:pointer;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line-2);color:var(--fg)}
.navb button:hover{background:var(--bg-2)}.navb button:focus-visible{outline:2px solid var(--fg);outline-offset:2px}
.navb svg{width:16px;height:16px}
.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}
.thumbs button{all:unset;cursor:pointer;display:grid;gap:10px;font-size:13px;color:var(--dim)}
.thumbs img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;border-radius:12px;box-shadow:0 0 0 1px var(--line);opacity:.55;transition:opacity .2s,box-shadow .2s}
.thumbs button:hover img{opacity:.85}
.thumbs button[aria-pressed="true"] img{opacity:1;box-shadow:0 0 0 2px var(--fg)}
.thumbs button[aria-pressed="true"]{color:var(--fg)}
.thumbs button:focus-visible img{box-shadow:0 0 0 2px var(--fg)}
.note{margin-top:22px;font-size:13px;color:var(--mute)}
@media (max-width:720px){.thumbs{grid-template-columns:1fr 1fr}.ctl{flex-wrap:wrap}}

/* 템플릿 갤러리 (흰 바탕) */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 20px}
.tgrid a{text-decoration:none;display:grid;gap:12px}
.tgrid img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px;background:var(--paper-2);box-shadow:0 0 0 1px rgba(11,11,12,.06);transition:transform .4s cubic-bezier(.2,.7,.1,1)}
.tgrid a:hover img{transform:translateY(-4px)}
.tgrid b{font-size:15px;font-weight:600}
.tgrid small{font-size:13px;color:var(--mute)}
@media (max-width:900px){.tgrid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.tgrid{grid-template-columns:1fr}}

/* 요금 계산 */
.calc{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px}
.opts{display:grid;gap:12px;align-content:start}
.opt{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:22px 24px;border-radius:20px;background:var(--bg-1);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;transition:box-shadow .2s}
.opt:has(input:checked){box-shadow:inset 0 0 0 1.5px var(--fg)}
.opt input[type=checkbox]{appearance:none;width:22px;height:22px;margin:0;border-radius:6px;box-shadow:inset 0 0 0 1.5px var(--line-2);display:grid;place-items:center;cursor:pointer}
.opt input[type=checkbox]:checked{background:var(--fg);box-shadow:none}
.opt input[type=checkbox]:checked::after{content:"";width:12px;height:12px;background:var(--bg);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.5l2.2 2.2 4.8-5.2' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.5l2.2 2.2 4.8-5.2' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.opt .t b{display:block;font-size:17px;font-weight:600}
.opt .t small{display:block;margin-top:2px;font-size:14px;color:var(--dim)}
.opt .p{font-size:20px;font-weight:300;letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap}
.step{display:flex;align-items:center;gap:6px}
.step button{all:unset;cursor:pointer;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line-2);font-size:18px}
.step button:disabled{opacity:.3;cursor:default}
.step button:focus-visible{outline:2px solid var(--fg);outline-offset:2px}
.step output{min-width:44px;text-align:center;font-variant-numeric:tabular-nums}
.sum{position:sticky;top:88px;align-self:start;padding:30px;border-radius:24px;background:var(--hi);color:var(--ink);display:grid;gap:6px}
.sum .lbl{font-size:14px;color:var(--ink-2)}
.sum .big{font-size:clamp(44px,5vw,64px);font-weight:300;letter-spacing:-.05em;line-height:1.05;font-variant-numeric:tabular-nums}
.sum .once{font-size:15px;color:var(--ink-2)}
.sum .fine{margin-top:14px;font-size:13px;color:var(--mute)}
.sum .btn{margin-top:18px;background:var(--ink);color:#fff;height:48px}
@media (max-width:860px){.calc{grid-template-columns:1fr}.sum{position:static}.opt{grid-template-columns:auto 1fr;}.opt .p,.opt .step{grid-column:2}}

/* 시작하기 — 두 갈래 + 상담 폼 */
.choose{display:grid;grid-template-columns:1.2fr 1fr;gap:12px}
.choose>article{min-width:0;display:flex;flex-direction:column;gap:22px;padding:34px;border-radius:24px;background:var(--bg-1);box-shadow:inset 0 0 0 1px var(--line)}
.choose>article.hi{background:var(--hi);color:var(--ink);box-shadow:none}
.choose .tagl{font-size:13px;font-weight:600;color:var(--dim)}
.choose .hi .tagl{color:var(--ink-2)}
.choose h2{font-size:clamp(28px,3.2vw,40px);font-weight:500;letter-spacing:-.045em;line-height:1.1;margin-top:8px}
.choose p.d{margin-top:10px;color:var(--dim);font-size:15px}
.choose .hi p.d{color:var(--ink-2)}
.choose .ask{max-width:none;margin-top:auto}
.choose .btn{align-self:flex-start;margin-top:auto}
.choose .hi .btn{background:var(--ink);color:#fff}
@media (max-width:860px){.choose{grid-template-columns:1fr}}
.form{display:grid;gap:14px}
.form label{display:grid;gap:8px;font-size:14px;font-weight:600;color:var(--dim)}
.form input,.form select,.form textarea{width:100%;min-width:0;padding:14px 16px;border:0;border-radius:12px;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line-2);color:var(--fg);font:inherit;font-size:16px;font-weight:400}
.form textarea{min-height:120px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;box-shadow:inset 0 0 0 1.5px var(--fg)}
.form .btn{justify-self:start;height:48px}
.msg{font-size:14px;color:var(--dim);min-height:1.4em}
.ask-msg{margin-top:12px;font-size:14px;color:var(--soft);min-height:1.4em;text-align:left}
.pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:48px;padding:clamp(28px,4vw,48px);border-radius:24px;background:var(--bg-1);box-shadow:inset 0 0 0 1px var(--line)}
.pair h2{font-size:clamp(28px,3.4vw,44px);font-weight:500;letter-spacing:-.045em;line-height:1.1}
.pair p{margin-top:14px;color:var(--dim)}
@media (max-width:860px){.pair{grid-template-columns:1fr;gap:28px}}

/* 질문 페이지 */
.qcat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);gap:24px 48px;padding:40px 0;border-top:1px solid var(--line-2)}
.qcat h2{font-size:clamp(24px,2.4vw,30px);font-weight:500;letter-spacing:-.04em}
.acc.sm summary{font-size:clamp(18px,1.7vw,21px);font-weight:500;letter-spacing:-.02em;padding:20px 0}
.acc.sm details:first-child{border-top:0}
.acc.sm .body{display:block;padding:0 0 22px}
.acc.sm .body p{max-width:42em}
.acc .body a{color:var(--fg)}
@media (max-width:820px){.qcat{grid-template-columns:1fr}}
.jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}
.jump a{padding:9px 16px;border-radius:999px;font-size:14px;font-weight:600;color:var(--dim);text-decoration:none;box-shadow:inset 0 0 0 1px var(--line-2)}
.jump a:hover{color:var(--fg);background:var(--bg-2)}


/* 템플릿 미리보기 모달 — 어두운 무대 위 기기 틀, 기기를 바꿀 때 장면 영상 */
.tm-lock,.tm-lock body{overflow:hidden}
.tm{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;background:rgb(11,11,12);color:#F5F5F3}
.tm[hidden]{display:none}
.tm-top{display:flex;align-items:center;gap:16px;height:68px;padding:0 20px;border-bottom:1px solid #1E1E22;flex:none}
.tm-t{min-width:0;flex:1}.tm-t b{display:block;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tm-t small{font-size:12px;color:#8A8A92}
.tm-seg{display:flex;gap:4px;padding:4px;border-radius:999px;background:#17171A;box-shadow:inset 0 0 0 1px #26262B}
.tm-seg button{all:unset;cursor:pointer;display:flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:600;color:#A6A6AD;transition:background .2s,color .2s}
.tm-seg button svg{width:16px;height:16px}
.tm-seg button[aria-pressed="true"]{background:#fff;color:#000}
.tm-seg button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.tm-r{flex:1;display:flex;justify-content:flex-end;align-items:center;gap:8px}
.tm .btn{background:#fff;color:#000}
.tm-x{all:unset;cursor:pointer;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#C9C9CF;box-shadow:inset 0 0 0 1px #2A2A2F}.tm-x:hover{color:#fff}.tm-x:focus-visible{outline:2px solid #fff;outline-offset:2px}.tm-x svg{width:18px;height:18px}
.tm-stage{position:relative;flex:1;min-height:0;display:grid;place-items:center;overflow:hidden}
.dev{position:relative;box-sizing:border-box;background:#141416;box-shadow:0 0 0 1px #2C2C31,0 50px 120px rgba(0,0,0,.6);transform-origin:50% 50%}
.dev .scr{position:relative;width:100%;height:100%;overflow:hidden;border-radius:6px;background:#fff}
.dev.tab .scr{border-radius:16px}.dev.mob .scr{border-radius:38px}
.dev iframe{position:absolute;left:0;top:0;border:0;transform-origin:0 0;background:#fff}
.dev .wash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none}
.dev.pc::after{content:"";position:absolute;left:50%;top:100%;width:16%;height:56px;transform:translateX(-50%);background:linear-gradient(#232327,#18181B);clip-path:polygon(22% 0,78% 0,92% 100%,8% 100%)}
.dev.pc::before{content:"";position:absolute;left:50%;top:calc(100% + 56px);width:30%;height:9px;transform:translateX(-50%);border-radius:5px;background:#202024}
.dev.mob::before{content:"";position:absolute;left:50%;top:22px;width:28%;height:22px;transform:translateX(-50%);border-radius:12px;background:#000;z-index:2}
.tm-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;visibility:hidden;pointer-events:none;background:#fff}
.tm-film.on{visibility:visible}
.tm-flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:2}
@media (max-width:720px){.tm-top{flex-wrap:wrap;height:auto;padding:10px 12px;gap:10px}.tm-t{order:1}.tm-r{order:2;flex:none}.tm-seg{order:3;width:100%;justify-content:center}.tm-r .btn{display:none}}
.tm-skip{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:3;padding:7px 14px;border-radius:999px;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);font-size:12px;color:#E6E6EA;opacity:0;transition:opacity .4s;pointer-events:none}
.tm-stage.tm-playing{cursor:pointer}.tm-stage.tm-playing .tm-skip{opacity:1;transition-delay:1.2s}
.tm-lift{position:fixed;z-index:61;transform-origin:0 0;border-radius:6px;overflow:hidden;pointer-events:none;will-change:transform;perspective:1200px}
.tm-lift img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.tm-hands{position:fixed;inset:0;width:100vw;height:100vh;z-index:62;pointer-events:none}
.tm-hl{position:absolute;max-width:none;visibility:hidden;z-index:2;pointer-events:none}
.tm-hl.on{visibility:visible}
.tm-card{position:absolute;left:0;top:0;transform-origin:0 0;z-index:1;overflow:hidden;pointer-events:none;will-change:transform}
.tm-card img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}

/* 사례 패널 — 길게 눌러도 글자 선택·이미지 저장 메뉴가 뜨지 않게 */
.mv,.mv-top{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.mv img{-webkit-user-drag:none;pointer-events:none}
