
/* 시그니처 홈. 변수는 페이지 <style>(계열 색·글꼴). 스크립트가 없으면 전부 보이는 상태가 기본값이다. */
body.sg{margin:0;background:var(--sg-bg);color:var(--sg-ink);font-family:var(--sg-body);font-size:16px;line-height:1.9;letter-spacing:.02em;-webkit-font-smoothing:antialiased;overflow-x:clip}
.sg{--gut:clamp(20px,4.2vw,64px);--ease:cubic-bezier(.16,1,.3,1)}
.sg img,.sg video{display:block;max-width:100%}
:where(.sg) a{color:inherit;text-decoration:none}
.sg h1,.sg h2,.sg h3,.sg p,.sg dd,.sg summary{word-break:auto-phrase;line-break:strict}
.sg :focus-visible{outline:2px solid var(--sg-accent2);outline-offset:3px}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
.sg-skip{position:absolute;left:-999px;top:0}
.sg-skip:focus{left:12px;top:12px;z-index:200;background:var(--sg-bg);padding:8px 14px}
.sg::after{content:"";position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:sg-grain 1.2s steps(6) infinite}
@keyframes sg-grain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-4%)}75%{transform:translate(-4%,-2%)}100%{transform:translate(0,0)}}

/* buttons */
.sg-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 28px;border-radius:999px;background:var(--sg-on-deep);color:var(--sg-deep);font-size:14px;font-weight:600;letter-spacing:.08em;overflow:hidden;isolation:isolate;border:1px solid transparent;cursor:pointer;font-family:var(--sg-body)}
.sg-btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--sg-accent2);transform:translateY(101%);transition:transform .6s var(--ease);border-radius:inherit}
.sg-btn:hover::before{transform:translateY(0)}
.sg-btn svg{width:18px;height:18px}
.sg-btn--sm{padding:10px 18px;font-size:13px}
.sg-btn--lg{padding:21px 40px;font-size:15px}
.sg-btn--ghost{background:transparent;color:inherit;border-color:currentColor;border-color:color-mix(in srgb,currentColor 35%,transparent)}
.sg-flow .sg-btn,.sg-access .sg-btn:not(.sg-btn--ghost){background:var(--sg-btn);color:var(--sg-on-btn)}

/* loader: 처음 들어올 때 한 번(세션당). 내용은 그 아래 이미 그려져 있다 */
.sg-loader{display:none}
.sg-js:not(.sg-rm):not(.sg-seen) .sg-loader{position:fixed;inset:0;z-index:150;display:grid;place-items:center;background:var(--sg-deep2);color:var(--sg-on-deep);clip-path:inset(0 0 0 0);animation:sg-curtain 1s var(--ease) 1.75s forwards}
.sg-loader-inner{display:grid;justify-items:center;gap:22px}
.sg-loader-word{display:flex;overflow:hidden;font-family:var(--sg-mark);font-weight:var(--sg-mark-w);font-size:clamp(56px,10vw,160px);line-height:.95;letter-spacing:.05em}
.sg-loader-word--name{font-family:var(--sg-head);font-size:clamp(32px,5vw,64px)}
.sg-loader-word span{display:block;transform:translateY(110%);animation:sg-up .9s var(--ease) forwards,sg-out .6s cubic-bezier(.7,0,.84,0) 1.35s forwards}
.sg-loader-word span:nth-child(2){animation-delay:.06s,1.39s}.sg-loader-word span:nth-child(3){animation-delay:.12s,1.43s}.sg-loader-word span:nth-child(4){animation-delay:.18s,1.47s}.sg-loader-word span:nth-child(5){animation-delay:.24s,1.51s}.sg-loader-word span:nth-child(6){animation-delay:.3s,1.55s}.sg-loader-word span:nth-child(n+7){animation-delay:.36s,1.58s}
.sg-loader-logo{max-width:min(320px,60vw);max-height:120px;opacity:0;animation:sg-fade 1s ease .1s forwards,sg-fadeout .5s ease 1.4s forwards}
.sg-loader-line{display:block;width:min(240px,50vw);height:1px;background:var(--sg-accent2);transform:scaleX(0);transform-origin:left;animation:sg-line .8s cubic-bezier(.65,0,.35,1) .45s forwards}
@keyframes sg-up{to{transform:translateY(0)}}
@keyframes sg-out{to{transform:translateY(-110%)}}
@keyframes sg-fade{to{opacity:1}}
@keyframes sg-fadeout{to{opacity:0}}
@keyframes sg-line{to{transform:scaleX(1)}}
@keyframes sg-curtain{to{clip-path:inset(0 0 100% 0);visibility:hidden}}

/* header */
.sg-hd{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px var(--gut);color:var(--sg-on-deep);transition:transform .6s var(--ease),background .5s ease,padding .5s var(--ease),color .4s}
.sg-hd.is-solid{background:color-mix(in srgb,var(--sg-deep) 78%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding-block:12px}
.sg-hd.is-hidden{transform:translateY(-100%)}
.sg-brand{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.sg-brand b{font-family:var(--sg-mark);font-weight:400;font-size:24px;letter-spacing:.14em}
.sg-brand small{font-size:11px;letter-spacing:.12em;opacity:.75;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-logo{max-height:38px;max-width:180px;width:auto;object-fit:contain}
.sg-logo--dark{filter:brightness(0) invert(1)}
.sg-nav{display:flex;gap:30px;font-size:14px;letter-spacing:.06em}
.sg-nav a{position:relative;padding:6px 0;opacity:.82;transition:opacity .3s}
.sg-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.sg-nav a:hover{opacity:1}.sg-nav a:hover::after{transform:scaleX(1);transform-origin:left}
.sg-hd-right{display:flex;align-items:center;gap:14px}
.sg-langs{display:flex;gap:2px;font-size:12px;letter-spacing:.06em;padding:4px;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 25%,transparent)}
.sg-langs a{padding:5px 10px;border-radius:999px;opacity:.7}
.sg-langs a[aria-current]{opacity:1;background:color-mix(in srgb,currentColor 14%,transparent)}
@media (max-width:999px){.sg-nav{display:none}}
@media (max-width:699px){.sg-langs{display:none}.sg-brand small{display:none}.sg-hd{padding:16px 18px}}

/* hero */
.sg-hero{position:relative;height:190vh;background:var(--sg-deep);color:var(--sg-on-deep)}
.sg-hero-pin{position:sticky;top:0;height:100vh;height:100svh;min-height:560px;overflow:hidden}
.sg-hero-media{position:absolute;inset:0;clip-path:inset(0% 0% 0% 0% round 0px)}
.sg-zoom-in,.sg-zoom{position:absolute;inset:0}
.sg-hero-media .lv-hero-media{position:absolute;inset:0;margin:0}
.sg-hero-media picture,.sg-hero-media img,.sg-hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sg-hero-media video{opacity:0;transition:opacity 1.2s ease}
.sg-hero-media video.is-playing,.sg-hero-media video[data-playing]{opacity:1}
.sg-hero-plain{position:absolute;inset:0;background:radial-gradient(120% 80% at 70% 30%,color-mix(in srgb,var(--sg-accent2) 35%,var(--sg-deep)),var(--sg-deep2))}
.sg .sg-hero-media .lv-gen{all:unset;position:absolute;top:auto;bottom:28px;left:var(--gut);z-index:3;font-size:11px;letter-spacing:.12em;padding:4px 10px;border-radius:999px;background:rgba(0,0,0,.35);color:var(--sg-on-deep);font-family:var(--sg-body)}
.sg-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.22) 42%,rgba(0,0,0,0) 70%),linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.05) 32%,rgba(0,0,0,.12) 55%,rgba(0,0,0,.78) 100%)}
.sg-word{position:absolute;left:0;right:0;bottom:-.07em;display:flex;justify-content:center;overflow:hidden;font-family:var(--sg-mark);font-weight:var(--sg-mark-w);font-size:clamp(96px,var(--wm-size,24vw),520px);line-height:.8;letter-spacing:-.01em;color:#f2ece2;mix-blend-mode:difference;opacity:.92;pointer-events:none;user-select:none;white-space:nowrap}
.sg-l{display:block;will-change:transform}
.sg-l>span{display:block}
.sg-hero-copy{position:absolute;left:var(--gut);top:clamp(112px,19vh,210px);max-width:min(980px,90vw);z-index:2}
.sg-kicker{margin:0 0 20px;font-size:13px;letter-spacing:.2em;color:var(--sg-accent2)}
.sg-title{margin:0;font-family:var(--sg-head);font-weight:500;font-size:clamp(26px,3.3vw,54px);line-height:1.42;letter-spacing:.05em}
.sg-ln{display:block;overflow:hidden;padding-bottom:.06em;white-space:nowrap}
.sg-ln>span{display:inline-block}
.sg-lead{margin:24px 0 0;max-width:34em;font-size:15px;color:var(--sg-on-deep);opacity:.86;text-shadow:0 1px 18px rgba(0,0,0,.35)}
.sg-title,.sg-kicker{text-shadow:0 1px 24px rgba(0,0,0,.3)}
.sg-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.sg-scroll{position:absolute;right:var(--gut);bottom:28px;width:1px;height:52px;background:color-mix(in srgb,var(--sg-on-deep) 25%,transparent);overflow:hidden}
.sg-scroll::after{content:"";position:absolute;left:0;top:-50%;width:1px;height:50%;background:var(--sg-on-deep);animation:sg-drip 2.2s var(--ease) infinite}
@keyframes sg-drip{to{top:110%}}
.sg .sg-hero .lv-film-toggle{all:unset;position:absolute;right:calc(var(--gut) + 18px);bottom:22px;z-index:3;display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.06em;color:var(--sg-on-deep);background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:7px 14px;cursor:pointer;backdrop-filter:blur(6px)}
.sg .sg-hero .lv-film-toggle[hidden]{display:none}
.sg .sg-hero .lv-film-toggle .lv-film-ico{width:8px;height:10px;border-left:2px solid currentColor;border-right:2px solid currentColor}
.sg .sg-hero .lv-film-toggle[aria-pressed="true"] .lv-film-ico{border:0;border-left:8px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent;width:0;height:0}
@media (max-width:699px){
  .sg-hero{height:160vh}
  .sg-hero-copy{top:clamp(96px,15vh,140px)}
  .sg-title{font-size:calc((100vw - 40px) / 13.6)}
  .sg-lang-en .sg-title{font-size:clamp(26px,7.4vw,40px)}
  .sg-word{font-size:calc(var(--wm-size,24vw) * 1.38)}
  .sg-actions .sg-btn{flex:1 1 100%}
  .sg-scroll{display:none}
}
/* 여는 장면(움직임 허용일 때만) */
.sg-js:not(.sg-rm) .sg-zoom-in{animation:sg-zoomin 2.2s var(--ease) both;animation-delay:var(--sg-d0,1.9s)}
.sg-js:not(.sg-rm) .sg-l>span{animation:sg-rise 1.4s var(--ease) both;animation-delay:calc(var(--sg-d0,1.9s) + .1s + var(--i) * .08s)}
.sg-js:not(.sg-rm) .sg-title .sg-ln>span{animation:sg-rise 1.1s var(--ease) both;animation-delay:calc(var(--sg-d0,1.9s) + .45s)}
.sg-js:not(.sg-rm) .sg-title .sg-ln+.sg-ln>span{animation-delay:calc(var(--sg-d0,1.9s) + .57s)}
.sg-js:not(.sg-rm) .sg-kicker,.sg-js:not(.sg-rm) .sg-lead,.sg-js:not(.sg-rm) .sg-actions{animation:sg-in .9s var(--ease) both;animation-delay:calc(var(--sg-d0,1.9s) + .8s)}
.sg-seen{--sg-d0:.05s}
@keyframes sg-zoomin{from{transform:scale(1.22)}to{transform:scale(1)}}
@keyframes sg-rise{from{transform:translateY(105%)}to{transform:translateY(0)}}
@keyframes sg-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

.sg-name{display:block;margin-bottom:6px;font-family:var(--sg-head);font-size:clamp(17px,1.5vw,22px);letter-spacing:.08em;color:var(--sg-on-deep)}
.sg-name-ko{margin:-12px 0 18px;font-size:13px;opacity:.75}
/* facts: 첫 화면 바로 아래, 확인 가능한 사실 */
.sg-facts{list-style:none;margin:0;padding:clamp(22px,2.6vw,34px) var(--gut);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:18px clamp(20px,3vw,48px);background:var(--sg-deep);color:var(--sg-on-deep);border-top:1px solid color-mix(in srgb,var(--sg-on-deep) 14%,transparent)}
.sg-facts li{display:grid;gap:4px;min-width:0}
.sg-fact-label{font-size:12px;letter-spacing:.08em;color:var(--sg-on-deep2)}
.sg-fact-value{font-size:15px}
.sg-fact-sub{font-size:12px;color:var(--sg-on-deep2)}
/* statement */
.sg-statement{padding:clamp(110px,16vw,240px) var(--gut) clamp(90px,12vw,180px)}
.sg-statement-text{margin:0 auto;max-width:1180px;font-family:var(--sg-head);font-weight:500;font-size:clamp(25px,3.6vw,56px);line-height:1.7;letter-spacing:.04em}
.sg-on .sg-c{opacity:.16;transition:opacity .25s linear}
.sg-c.is-lit{opacity:1}
.sg-statement-meta{display:flex;justify-content:space-between;gap:24px;max-width:1180px;margin:52px auto 0;padding-top:20px;border-top:1px solid var(--sg-line);color:var(--sg-muted);font-size:13px;letter-spacing:.08em}
.sg-statement-meta [hidden]{display:inline!important}

/* about */
.sg-about{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gut);padding:0 var(--gut) clamp(110px,14vw,220px)}
.sg-about figure{position:relative;margin:0;overflow:hidden;border-radius:4px;background:var(--sg-bg2)}
.sg-about-a{grid-column:1 / span 5;aspect-ratio:4/5}
.sg-about-b{grid-column:7 / span 6;aspect-ratio:3/2;align-self:end;margin-bottom:10vw!important}
.sg-about img{width:100%;height:118%;object-fit:cover;transform:translateY(-8%)}
.sg-about .sg-pic,.sg-about picture{display:block;height:100%}
.sg-about-text{grid-column:7 / span 5;align-self:start;margin-top:5vw}
.sg-h2{margin:0 0 22px;font-family:var(--sg-head);font-weight:500;font-size:clamp(25px,2.9vw,46px);line-height:1.45;letter-spacing:.05em}
.sg-about-text p{margin:0 0 14px;color:var(--sg-ink2);max-width:30em}
.sg-about-facts{margin:22px 0 0;display:grid;border-top:1px solid var(--sg-line)}
.sg-about-facts div{display:grid;grid-template-columns:8em minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px solid var(--sg-line);font-size:14px}
.sg-about-facts dt{color:var(--sg-muted)}
.sg-about-facts dd{margin:0}
.sg-about-note{margin-top:12px!important;font-size:12px;color:var(--sg-muted)!important}
.sg-note{position:absolute;left:12px;bottom:12px;font-size:11px;letter-spacing:.12em;padding:4px 9px;border-radius:999px;background:rgba(0,0,0,.42);color:#f4efe6}
.sg-note--top{top:28px;bottom:auto;left:auto;right:var(--gut);z-index:3}
@media (max-width:899px){.sg-about{grid-template-columns:1fr}.sg-about-a,.sg-about-b,.sg-about-text{grid-column:1 / -1}.sg-about-b{margin-bottom:0!important}.sg-about-text{margin-top:0}}

/* marquee */
.sg-marquee{overflow:hidden;padding:clamp(26px,4vw,54px) 0;border-block:1px solid var(--sg-line)}
.sg-marquee-track{display:flex;width:max-content;animation:sg-marq 28s linear infinite;will-change:transform}
.sg-marquee-item{display:flex;align-items:center;gap:clamp(26px,4vw,62px);padding-right:clamp(26px,4vw,62px);font-family:var(--sg-mark);font-weight:var(--sg-mark-w);font-size:clamp(52px,8.6vw,146px);line-height:1;white-space:nowrap;transform:skewX(var(--sg-skew,0deg))}
.sg-marquee-item .sg-o{color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--sg-ink) 55%,transparent)}
.sg-dot{width:.12em;height:.12em;border-radius:50%;background:var(--sg-accent);flex:none}
@keyframes sg-marq{to{transform:translateX(-50%)}}

/* procedures */
.sg-procs{position:relative;background:var(--sg-bg2)}
.sg-procs-pin{padding:clamp(86px,8vw,130px) 0 clamp(60px,7vw,110px);overflow:hidden}
.sg-procs-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;padding:0 var(--gut);margin-bottom:clamp(28px,3.4vw,52px)}
.sg-procs-head .sg-h2{margin:0}
.sg-procs-head p{margin:0;max-width:26em;color:var(--sg-ink2);font-size:14px}
.sg-procs-track{display:flex;gap:clamp(18px,2.2vw,34px);padding:0 var(--gut);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sg-procs-track::-webkit-scrollbar{display:none}
.sg-card{flex:none;width:clamp(250px,21vw,350px);scroll-snap-align:start}
.sg-card-media{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:4px;background:var(--sg-bg)}
.sg-card-media img{position:absolute;inset:-4% -10%;width:120%;height:108%;max-width:none;object-fit:cover;transition:transform 1.4s var(--ease),filter 1s;filter:saturate(.9)}
.sg-card-media picture{display:block}
.sg-card:hover .sg-card-media img{transform:scale(1.05);filter:saturate(1)}
.sg-card h3{margin:20px 0 8px;font-family:var(--sg-head);font-weight:500;font-size:clamp(20px,1.7vw,27px);letter-spacing:.05em;line-height:1.4}
.sg-card p{margin:0 0 14px;color:var(--sg-ink2);font-size:14px;line-height:1.85}
.sg-card dl{margin:0;display:grid;gap:6px;padding-top:12px;border-top:1px solid var(--sg-line);font-size:13px}
.sg-card dl div{display:flex;gap:12px}
.sg-card dt{color:var(--sg-muted);flex:none;width:7em}
.sg-card dd{margin:0}
.sg-progress{margin:48px var(--gut) 0;height:1px;background:var(--sg-line);position:relative}
.sg-progress i{position:absolute;inset:0;background:var(--sg-accent);transform:scaleX(0);transform-origin:left}
.sg-on .sg-procs.is-pinned .sg-procs-pin{position:sticky;top:0;height:100vh;height:100svh;display:flex;flex-direction:column;justify-content:center;padding-block:0}
.sg-on .sg-procs.is-pinned .sg-procs-track{overflow:visible;width:max-content;scroll-snap-type:none;will-change:transform}
@media (max-width:899px){.sg-procs-head{flex-direction:column;align-items:flex-start}.sg-card{width:78vw}.sg-progress{display:none}}

/* team · gallery (병원이 입력한 것만) */
.sg-team{padding:clamp(100px,12vw,180px) var(--gut)}
.sg-team .sg-h2,.sg-gallery .sg-h2{max-width:1320px;margin:0 auto 34px}
.sg-docs{display:grid;gap:clamp(20px,2.4vw,36px);max-width:1320px;margin:0 auto;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}
.sg-docs--n1{max-width:880px}
.sg-doc-media{position:relative;margin:0 0 18px;aspect-ratio:4/5;overflow:hidden;border-radius:4px;background:var(--sg-bg2)}
.sg-doc-media .sg-pic,.sg-doc-media picture{display:block;height:100%}
.sg-doc-media img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35);transition:filter 1s,transform 1.4s var(--ease)}
.sg-doc:hover .sg-doc-media img{filter:none;transform:scale(1.03)}
.sg-doc--text .sg-doc-body{padding:28px;border:1px solid var(--sg-line);border-radius:4px}
.sg-doc-role{margin:0 0 6px;font-size:13px;color:var(--sg-accent);letter-spacing:.06em}
.sg-doc h3{margin:0 0 10px;font-family:var(--sg-head);font-weight:500;font-size:clamp(21px,1.8vw,28px);letter-spacing:.06em}
.sg-doc-bio{margin:0 0 12px;color:var(--sg-ink2);font-size:14px}
.sg-doc-langs{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.sg-doc-langs span{font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid var(--sg-line)}
.sg-team-note{max-width:1320px;margin:28px auto 0;font-size:12px;color:var(--sg-muted)}
.sg-gallery{padding:0 0 clamp(100px,12vw,180px)}
.sg-gallery .sg-h2{padding:0 var(--gut)}
.sg-gallery-strip{overflow:hidden}
.sg-gallery-track{display:flex;width:max-content;gap:clamp(14px,1.6vw,24px);animation:sg-marq 60s linear infinite}
.sg-gallery-strip:hover .sg-gallery-track{animation-play-state:paused}
.sg-gallery-dup{display:flex;gap:inherit}
.sg-gallery-still{display:flex;flex-wrap:wrap;gap:clamp(14px,1.6vw,24px);padding:0 var(--gut);max-width:1320px;margin:0 auto}
.sg-shot{position:relative;margin:0;width:clamp(260px,32vw,520px);aspect-ratio:3/2;overflow:hidden;border-radius:4px;flex:none}
.sg-shot .sg-pic,.sg-shot picture{display:block;height:100%}
.sg-shot img{width:100%;height:100%;object-fit:cover}
.sg-shot figcaption{position:absolute;right:12px;bottom:12px;font-size:12px;color:#f4efe6;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.sg-rm .sg-gallery-track{animation:none}
.sg-rm .sg-gallery-strip{overflow-x:auto}
.sg-rm .sg-gallery-dup{display:none}
/* flow */
.sg-flow{padding:clamp(110px,14vw,200px) var(--gut)}
.sg-flow-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,7vw,120px);max-width:1320px;margin:0 auto}
.sg-flow-head{position:sticky;top:120px;align-self:start}
.sg-flow-head p{margin:0 0 30px;color:var(--sg-ink2);max-width:26em}
.sg-steps{position:relative;list-style:none;margin:0;padding:0 0 0 72px}
.sg-steps-line{position:absolute;left:22px;top:12px;bottom:12px;width:1px;background:var(--sg-line)}
.sg-steps-line i{position:absolute;inset:0;background:var(--sg-accent);transform:scaleY(1);transform-origin:top}
.sg-on .sg-steps-line i{transform:scaleY(0)}
.sg-step{position:relative;padding:0 0 clamp(52px,6vw,84px)}
.sg-step:last-child{padding-bottom:0}
.sg-step-num{position:absolute;left:-72px;top:0;width:45px;height:45px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--sg-line);background:var(--sg-bg);font-family:var(--sg-mark);font-size:19px;color:var(--sg-accent);transition:background .5s,border-color .5s,color .5s}
.sg-step.is-on .sg-step-num{background:var(--sg-accent);border-color:var(--sg-accent);color:var(--sg-bg)}
.sg-step h3{margin:4px 0 10px;font-family:var(--sg-head);font-weight:500;font-size:clamp(19px,1.7vw,25px);letter-spacing:.05em}
.sg-step p{margin:0;color:var(--sg-ink2);max-width:32em}
@media (max-width:899px){.sg-flow-grid{grid-template-columns:1fr}.sg-flow-head{position:static}}

/* night: 원으로 열리는 사진 */
.sg-night{position:relative;background:var(--sg-deep);color:var(--sg-on-deep)}
.sg-night-pin{position:relative;height:100vh;height:100svh;min-height:540px;overflow:hidden}
.sg-on .sg-night{height:210vh}
.sg-on .sg-night-pin{position:sticky;top:0}
.sg-night-media{position:absolute;inset:0}
.sg-on .sg-night-media{clip-path:circle(14% at 50% 50%)}
.sg-night-media .sg-pic,.sg-night-media picture{display:block;height:100%}
.sg-night-media img{width:100%;height:100%;object-fit:cover}
.sg-night-media::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(0,0,0,.15),rgba(0,0,0,.66))}
.sg-night-copy{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:0 var(--gut);z-index:2}
.sg-night-copy .sg-h2{font-size:clamp(27px,4.2vw,66px);line-height:1.55;text-shadow:0 2px 40px rgba(0,0,0,.4)}
.sg-night-copy p{margin:0 auto;max-width:34em;color:var(--sg-on-deep2);font-size:15px}

.sg-offer{margin:10px 0 0;font-size:12px;color:var(--sg-accent);letter-spacing:.02em}
.sg-price{font-variant-numeric:lining-nums}
/* guide */
.sg-guide{padding:clamp(100px,12vw,180px) var(--gut) 0;max-width:1320px;margin:0 auto}
.sg-guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:0 clamp(28px,4vw,64px);border-top:1px solid var(--sg-line)}
.sg-guide-card{padding:24px 0;border-bottom:1px solid var(--sg-line)}
.sg-guide-card h3{margin:0 0 8px;font-family:var(--sg-head);font-weight:500;font-size:clamp(17px,1.4vw,20px);letter-spacing:.04em}
.sg-guide-card p{margin:0;color:var(--sg-ink2);font-size:14px}
/* access · faq · posts */
.sg-access{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(40px,7vw,120px);max-width:1320px;margin:0 auto;padding:clamp(110px,14vw,200px) var(--gut) clamp(70px,9vw,130px)}
.sg-access-head{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.sg-dl{margin:0;display:grid}
.sg-dl div{display:grid;grid-template-columns:9em minmax(0,1fr);gap:18px;padding:20px 0;border-bottom:1px solid var(--sg-line)}
.sg-dl div:first-child{border-top:1px solid var(--sg-line)}
.sg-dl dt{color:var(--sg-muted);font-size:13px;letter-spacing:.06em}
.sg-dl dd{margin:0}
.sg-dl small{display:block;color:var(--sg-muted);font-size:12px;margin-top:4px}
.sg-clock b{font-family:var(--sg-mark);font-weight:400;font-size:32px;letter-spacing:.05em;line-height:1}
.sg-copy{display:inline-flex;align-items:center;gap:6px;margin-left:10px;padding:4px 10px;border-radius:999px;border:1px solid var(--sg-line);background:transparent;color:inherit;font-size:12px;cursor:pointer}
.sg-copy svg{width:14px;height:14px}
.sg-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,120px);max-width:1320px;margin:0 auto;padding:0 var(--gut) clamp(110px,14vw,200px)}
.sg-qa{border-bottom:1px solid var(--sg-line)}
.sg-qa:first-child{border-top:1px solid var(--sg-line)}
.sg-qa summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;cursor:pointer;font-family:var(--sg-head);font-size:clamp(17px,1.35vw,21px);letter-spacing:.04em}
.sg-qa summary::-webkit-details-marker{display:none}
.sg-qa summary h3{margin:0;font:inherit;letter-spacing:inherit}
.sg-qa summary i{position:relative;width:16px;height:16px;flex:none}
.sg-qa summary i::before,.sg-qa summary i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--sg-accent);transition:transform .5s var(--ease)}
.sg-qa summary i::after{transform:rotate(90deg)}
.sg-qa[open] summary i::after{transform:rotate(0)}
.sg-qa-body p{margin:0;padding:0 0 26px;color:var(--sg-ink2);max-width:42em}
.sg-qa[open] .sg-qa-body{animation:sg-in .6s var(--ease)}
.sg-posts{padding:clamp(90px,11vw,160px) var(--gut);background:var(--sg-bg2)}
.sg-posts .sg-h2{max-width:1320px;margin:0 auto 28px}
.sg-post-list{max-width:1320px;margin:0 auto;border-top:1px solid var(--sg-line)}
.sg-post{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px;padding:28px 0;border-bottom:1px solid var(--sg-line)}
.sg-post h3{margin:0;font-family:var(--sg-head);font-weight:500;font-size:clamp(17px,1.4vw,21px);line-height:1.6;transition:color .3s}
.sg-post p{margin:0;color:var(--sg-ink2);font-size:14px}
.sg-post:hover h3{color:var(--sg-accent)}
@media (max-width:899px){.sg-access,.sg-faq,.sg-post{grid-template-columns:1fr;gap:14px}.sg-dl div{grid-template-columns:1fr;gap:4px}}

/* cta · footer */
.sg-cta{position:relative;padding:clamp(120px,16vw,240px) var(--gut) clamp(110px,14vw,200px);text-align:center;background:var(--sg-deep);color:var(--sg-on-deep);overflow:hidden}
.sg-cta-big{margin:0;font-family:var(--sg-head);font-weight:500;font-size:clamp(42px,8.6vw,146px);line-height:1.25;letter-spacing:.06em}
.sg-on .sg-cta-big .sg-ln>span{transform:translateY(105%);transition:transform 1.3s var(--ease)}
.sg-on .sg-cta-big .sg-ln+.sg-ln>span{transition-delay:.12s}
.sg-on .sg-cta-big.is-in .sg-ln>span{transform:none}
.sg-cta>p{margin:32px auto 40px;max-width:34em;color:var(--sg-on-deep2)}
.sg-cta-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.sg-magnet{display:inline-block}
.sg-ft{position:relative;padding:72px var(--gut) 28px;background:var(--sg-deep2);color:var(--sg-on-deep2);overflow:hidden}
.sg-ft-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px;font-size:13px;letter-spacing:.04em}
.sg-ft-row b{color:var(--sg-on-deep);font-weight:500}
.sg-ft-id{display:flex;gap:16px;align-items:flex-start}
.sg-ft-id p{margin:0}
.sg-ft-logo{max-height:34px;max-width:140px;width:auto;object-fit:contain}
.sg-ft-nav{display:flex;flex-wrap:wrap;gap:8px 22px}
.sg-ft-nav a:hover{color:var(--sg-on-deep)}
.sg-ft-word{margin-top:56px;font-family:var(--sg-mark);font-weight:var(--sg-mark-w);font-size:clamp(84px,var(--wm-size,22vw),400px);line-height:.8;letter-spacing:-.01em;text-align:center;color:var(--sg-on-deep);overflow:hidden;white-space:nowrap}
.sg-ft-word span{display:inline-block}
.sg-ft-note{margin:22px 0 0;font-size:12px;text-align:center;opacity:.8}
.sg .lv-bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:70;display:none;gap:8px;padding:8px;border-radius:999px;background:var(--sg-on-deep);color:var(--sg-deep);box-shadow:0 18px 50px -18px rgba(0,0,0,.6)}
.sg .lv-bar a{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;padding:10px;border-radius:999px;font-size:13px;font-weight:600}
.sg .lv-bar .lv-bar-main{background:var(--sg-deep);color:var(--sg-on-deep);flex:1.6}
.sg .lv-bar svg{width:17px;height:17px}
@media (max-width:699px){.sg .lv-bar{display:flex}.sg .lv-bar.is-hidden,.sg .lv-bar[data-hidden]{display:none}}

/* cursor */
.sg-cursor,.sg-cursor-label{display:none}
@media (pointer:fine){
  .sg-on .sg-cursor{position:fixed;left:0;top:0;z-index:95;display:block;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#f2ece2;pointer-events:none;mix-blend-mode:difference;transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease)}
  .sg-on .sg-cursor.is-big{width:40px;height:40px;margin:-20px 0 0 -20px}
  .sg-on .sg-cursor-label{position:fixed;left:0;top:0;z-index:96;display:grid;place-items:center;width:92px;height:92px;margin:-46px 0 0 -46px;border-radius:50%;background:var(--sg-accent2);color:var(--sg-deep);font-size:13px;letter-spacing:.1em;pointer-events:none;transform:scale(0);transition:transform .45s var(--ease)}
  .sg-on .sg-cursor-label.is-on{transform:scale(1)}
}

/* 움직임 줄이기: 처음부터 끝 상태 */
.sg-rm .sg::after{display:none}
.sg-rm .sg-marquee-track{animation:none}
.sg-rm *{scroll-behavior:auto!important}
