:root{--page:#E8E5DC;--panel:#F8F6F1;--paper:#fff;--ink:#14130F;--ink2:#5A574E;--line:#E1DDD1;--accent:#3A45C8;--accent-ink:#fff;--tint:#E6E6F2;--r:20px;
--font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","SF Pro KR","Apple SD Gothic Neo","Pretendard Variable",Pretendard,"Noto Sans KR","Helvetica Neue",Helvetica,Arial,sans-serif}
html[data-theme=dark]{--page:#070706;--panel:#121210;--paper:#1B1B18;--ink:#F2F0E9;--ink2:#A6A296;--line:#2A2924;--accent:#8C94F0;--accent-ink:#0F0F0D;--tint:#23253A;color-scheme:dark}
@media(prefers-color-scheme:dark){html:not([data-theme=light]){--page:#070706;--panel:#121210;--paper:#1B1B18;--ink:#F2F0E9;--ink2:#A6A296;--line:#2A2924;--accent:#8C94F0;--accent-ink:#0F0F0D;--tint:#23253A;color-scheme:dark}}
*{box-sizing:border-box;margin:0}html{scrollbar-gutter:stable}
body{background:var(--page);background-image:radial-gradient(48rem 30rem at 6% -8%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 60%),radial-gradient(44rem 30rem at 100% 0,color-mix(in srgb,var(--accent) 6%,transparent),transparent 60%);background-attachment:fixed;color:var(--ink);font:400 16px/1.588 var(--font);letter-spacing:0;word-break:keep-all;-webkit-font-smoothing:antialiased;font-synthesis:none}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font-family:inherit}
h1,h2,h3,h4{font-weight:600;line-height:1.25;letter-spacing:0}
.ic{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em;flex:none}
/* ---- shell: center 430 column + sticky side panels (worldverse) ---- */
.shell{display:flex;justify-content:center;max-width:1500px;margin:0 auto;min-height:100dvh}
.col{position:relative;width:100%;max-width:430px;min-height:100dvh;background:var(--panel);display:flex;flex-direction:column;overflow-x:clip}
@media(min-width:1024px){.col{border-left:1px solid var(--line);border-right:1px solid var(--line);box-shadow:0 25px 60px -20px rgba(20,19,15,.25)}}
.side{display:none;flex:1;min-width:0}@media(min-width:1024px){.side{display:block}}
.side>.sc2{position:sticky;top:0;height:100dvh;overflow-y:auto;padding:56px 24px 32px;scrollbar-width:none}.side>.sc2::-webkit-scrollbar{display:none}
.side.l>.sc2{display:flex;justify-content:flex-end}@media(min-width:1280px){.side.l>.sc2{padding-right:48px}.side.r>.sc2{padding-left:48px}}
.side .bx{width:100%;max-width:300px;display:grid;gap:22px;align-content:start}
.side h4{font-size:12px;letter-spacing:.06em;color:var(--ink2);font-weight:600;margin-bottom:8px}
.top{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;padding:0 16px;height:56px}
.logo{display:flex;align-items:center;color:var(--ink)}.logo .wm{height:17px;width:auto;display:block}
.top .r{margin-left:auto;display:flex;gap:8px}
.ib{width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;display:grid;place-items:center;font-size:18px}.ib:hover{background:var(--panel)}
.burger{display:grid}@media(min-width:1024px){.burger{display:none}}
main{flex:1;min-width:0}
.tabs{position:sticky;bottom:0;z-index:30;background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(14px);border-top:1px solid var(--line)}
.tabs ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,1fr)}.tabs a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 9px;font-size:11px;color:var(--ink2)}.tabs a .ic{font-size:21px}.tabs a[aria-current]{color:var(--accent);font-weight:600}
/* drawer (left -> right) */
.dim{position:fixed;inset:0;background:rgba(10,10,9,.5);opacity:0;pointer-events:none;transition:opacity .35s;z-index:240}
.drawer{position:fixed;top:0;left:0;bottom:0;width:min(84vw,340px);background:var(--panel);z-index:250;transform:translateX(-102%);transition:transform .5s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;padding:12px 20px 24px;visibility:hidden;box-shadow:24px 0 60px -30px rgba(0,0,0,.5)}
.drawer .dh{display:flex;justify-content:space-between;align-items:center;height:44px}
.drawer nav{display:grid;margin-top:28px}.drawer nav a{display:flex;align-items:baseline;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);font-size:26px;font-weight:600;opacity:0;transform:translateX(-22px);transition:opacity .5s,transform .5s cubic-bezier(.16,1,.3,1);transition-delay:calc(.12s + var(--i)*70ms)}.drawer nav small{font-size:12px;color:var(--ink2);font-weight:500}
.drawer .df{margin-top:auto;display:grid;gap:12px}.drawer .df p{font-size:13px;color:var(--ink2)}
body.menu{overflow:hidden}body.menu .dim{opacity:1;pointer-events:all}body.menu .drawer{transform:none;visibility:visible}body.menu .drawer nav a{opacity:1;transform:none}
@media(min-width:1024px){.dim,.drawer{display:none}}
/* ---- shared ui ---- */
.pad20{padding-left:20px;padding-right:20px}
.eyebrow{font-size:15px;font-weight:600;color:var(--ink2)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:99px;font-size:16px;font-weight:400;background:var(--ink);color:var(--panel);border:0;cursor:pointer}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.s{padding:9px 16px;font-size:14px}.btn.w{width:100%}
.more{color:var(--accent);font-size:15px}.more:after{content:" \203A";font-size:1.15em}
.chip{display:inline-block;padding:3px 11px;border-radius:99px;font-size:12.5px;font-weight:500;background:var(--paper);border:1px solid var(--line);color:var(--ink2)}button.chip{cursor:pointer}.chip.on{background:var(--ink);color:var(--panel);border-color:var(--ink)}.chip.t{background:var(--tint);border-color:transparent;color:var(--ink)}
.meta{font-size:13px;color:var(--ink2);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sec{padding:56px 20px}.sec h2{font-size:30px;line-height:1.2}.sh{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:20px}
.card{display:block;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.shot{aspect-ratio:16/10;background:var(--line);overflow:hidden}.shot img{width:100%;height:100%;object-fit:cover;object-position:top}
/* ---- motion ---- */
#bar{position:fixed;top:0;left:0;right:0;height:3px;background:var(--ink);transform-origin:0;transform:scaleX(0);z-index:300}
.sp .w{display:inline-block;overflow:hidden;vertical-align:top;padding:.1em 0 .34em;margin:-.1em 0 -.34em}.sp .w>span{display:inline-block;transition:transform .9s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i)*55ms)}.rr .sp:not(.in) .w>span{transform:translateY(112%)}
[data-reveal]{transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--d,0)*80ms)}.rr [data-reveal]:not(.in){opacity:0;transform:translateY(26px)}
.rr .scrub .w{opacity:.52;transition:opacity .25s}.rr .scrub .w.on{opacity:1}
.enter{animation:enter .45s cubic-bezier(.16,1,.3,1)}@keyframes enter{from{opacity:0;transform:translateY(8px)}}
.leave{opacity:0;transition:opacity .16s}
/* hero */
.hero{position:relative;min-height:calc(100dvh - 56px - 58px);display:flex;align-items:flex-end;padding:0 20px 36px;overflow:hidden}.hero canvas{position:absolute;inset:0;width:100%;height:100%}.hero .in2{position:relative;z-index:2}
.display{font-size:clamp(38px,11.2vw,48px);line-height:1.16;font-weight:600;letter-spacing:0}.display b{color:var(--accent);font-weight:600}
.lead{font-size:17px;line-height:1.55;color:var(--ink2);margin-top:14px}
.mq{background:var(--ink);color:var(--panel);overflow:hidden;padding:8px 0}.mq .row{display:flex;gap:28px;width:max-content;font-size:16px;font-weight:600;white-space:nowrap;will-change:transform}.mq .row span{display:inline-flex;align-items:center;gap:28px}.mq .row span:after{content:"";width:6px;height:6px;border-radius:1px;background:var(--panel);opacity:.5}
/* about */
.scrubp{font-size:26px;line-height:1.38;font-weight:600;margin-top:14px}
.bey{margin:32px 0 64px}.stp{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}.rr .stp li{opacity:0;transform:translateY(10px);transition:opacity .7s,transform .7s}.stp b{display:block;font-size:15px;font-weight:600}.stp small{color:var(--ink2);font-size:12px;line-height:1.35;display:block}
.bey.in .stp li{opacity:1;transform:none}.bey.in .stp li:nth-child(2){transition-delay:.35s}.bey.in .stp li:nth-child(3){transition-delay:.7s}
.tr2{position:relative;height:9px;border-radius:99px;background:var(--line)}.rr .tr2 .fill{position:absolute;inset:0;border-radius:99px;transform-origin:0;transform:scaleX(0);background:linear-gradient(90deg,var(--ink) 0 74%,var(--accent) 74% 100%);transition:transform 2.4s cubic-bezier(.45,.05,.25,1)}.bey.in .fill{transform:scaleX(1)}
.tr2 .m{position:absolute;left:74%;top:-7px;width:2px;height:23px;background:var(--ink);opacity:0;transition:opacity .4s 1.6s}.bey.in .m{opacity:1}.tr2 .m u{position:absolute;top:30px;left:50%;transform:translateX(-50%);text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap}
.tr2 .x{position:absolute;left:0;top:58px;font-size:13.5px;font-weight:600;color:var(--accent);opacity:1;transform:translateX(-8px);transition:opacity .7s 2s,transform .7s 2s}.bey.in .x{opacity:1;transform:none}
.sxg{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.sx{padding:22px 14px 22px 0}.sx:nth-child(even){padding-left:16px;border-left:1px solid var(--line)}.sx:nth-child(n+3){border-top:1px solid var(--line)}
.sx b{display:block;font-size:42px;font-weight:600;line-height:1;margin-top:16px;font-variant-numeric:tabular-nums}.sx b sup{font-size:.4em;margin-left:3px;vertical-align:top;position:relative;top:.35em}.sx small{display:block;margin-top:6px;font-size:14px;font-weight:600}.sx p{font-size:12.5px;color:var(--ink2);line-height:1.5;margin-top:3px}
.viz{height:48px;display:flex;align-items:flex-end}.viz.dots{display:grid;gap:2px;align-content:end}.viz.dots i{aspect-ratio:1;background:var(--line);border-radius:1px;transition:background .5s calc(var(--i)*7ms)}.viz.dots.in i{background:var(--ink)}
.viz.lines{flex-direction:column;justify-content:flex-end;gap:4px;align-items:flex-start}.viz.lines i{display:block;height:3px;width:var(--w);background:var(--ink);border-radius:2px;transform:scaleX(0);transform-origin:0;transition:transform .8s cubic-bezier(.2,.7,.2,1) calc(var(--i)*90ms)}.viz.lines.in i{transform:none}
.viz.years{gap:3px}.viz.years i{flex:1;height:var(--h);background:var(--ink);border-radius:2px;transform:scaleY(0);transform-origin:50% 100%;transition:transform .7s cubic-bezier(.2,.7,.2,1) calc(var(--i)*45ms)}.viz.years.in i{transform:none}.viz.years i.cu{background:var(--accent)}
/* featured carousel */
.dk{background:var(--ink);color:var(--panel);border-radius:28px 28px 0 0;padding:48px 0 40px}.dk .sh{padding:0 20px}.dk .eyebrow{color:color-mix(in srgb,var(--panel) 60%,transparent)}
.hsr{display:flex;align-items:center;gap:12px}.hsr .no{font-size:13px;color:color-mix(in srgb,var(--panel) 65%,transparent)}.hsr .no b{font-size:26px;color:var(--panel);font-weight:600}
.nv{display:flex;gap:6px}.nv button{width:38px;height:38px;border-radius:50%;border:1px solid color-mix(in srgb,var(--panel) 30%,transparent);background:transparent;color:var(--panel);cursor:pointer;font-size:16px}.nv button:hover{background:var(--panel);color:var(--ink)}
.car{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 20px 6px;scrollbar-width:none}.car::-webkit-scrollbar{display:none}
.pc{flex:0 0 82%;scroll-snap-align:center;display:block}.pc .im{aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:#222}.pc .im img{width:100%;height:100%;object-fit:cover;object-position:top}.pc .tt{margin-top:12px}.pc h3{font-size:18px}.pc .chip{margin-top:6px;background:transparent;color:var(--panel);border-color:color-mix(in srgb,var(--panel) 30%,transparent)}
.pc.end{display:grid;place-items:center;text-align:center;aspect-ratio:auto;font-size:22px;font-weight:600;line-height:1.3;flex-basis:55%}
.dk .bar{height:2px;background:color-mix(in srgb,var(--panel) 20%,transparent);margin:20px 20px 0}.dk .bar i{display:block;height:100%;background:var(--panel);transform-origin:0;transform:scaleX(0)}
/* writing list */
.wl a{display:block;padding:18px 0;border-top:1px solid var(--line)}.wl a:last-child{border-bottom:1px solid var(--line)}.wl h3{font-size:18px;margin-top:8px;line-height:1.38}.wl time{font-size:13px;color:var(--ink2);margin-left:8px}.wl a:hover h3{color:var(--accent)}
/* stacked services */
.stk{display:grid}.svc{position:sticky;top:calc(72px + var(--i)*16px);min-height:300px;border-radius:24px;padding:24px;display:grid;align-content:space-between;margin-bottom:16px;border:1px solid var(--line);transform-origin:50% 0;will-change:transform}
.svc .n{font-size:64px;font-weight:600;line-height:.9}.svc h3{font-size:26px;margin-bottom:8px}.svc p{font-size:16px;line-height:1.55}.svc ul{list-style:none;padding:0;font-size:14px;font-weight:600;line-height:1.9;margin-top:10px}
.svc:nth-child(1){background:var(--paper)}.svc:nth-child(2){background:color-mix(in srgb,var(--ink) 7%,var(--panel))}.svc:nth-child(3){background:color-mix(in srgb,var(--ink) 14%,var(--panel))}.svc:nth-child(4){background:var(--ink);color:var(--panel);border-color:var(--ink)}
/* cta + footer */
.cta{margin:0 16px 16px;background:var(--ink);color:var(--panel);border-radius:26px;padding:30px 22px}.cta h2{font-size:30px}.cta p{color:color-mix(in srgb,var(--panel) 70%,transparent);margin:10px 0 18px;font-size:15px}
.cta form{display:grid;gap:8px}.cta input,.cta textarea{width:100%;padding:13px 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--panel) 28%,transparent);background:transparent;color:var(--panel);font:inherit;font-size:16px}.cta .btn{background:var(--panel);color:var(--ink)}
.ft{padding:28px 20px 36px;color:var(--ink2);font-size:13px;border-top:1px solid var(--line);margin-top:24px}.ft .logo{margin-bottom:10px}
/* side panel widgets */
.fcard{display:block;border:1px solid var(--line);background:var(--paper);border-radius:18px;overflow:hidden}.fcard .im{height:140px;overflow:hidden;background:var(--line)}.fcard .im img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s}.fcard:hover .im img{transform:scale(1.05)}
.fcard .bd{padding:14px;display:grid;gap:5px}.fcard small{font-size:11px;letter-spacing:.06em;color:var(--accent);font-weight:600}.fcard b{font-size:15px}.fcard p{font-size:13px;color:var(--ink2);line-height:1.5}
.nl{list-style:none;padding:0}.nl li{border-top:1px solid var(--line);padding:11px 0}.nl a{display:block;font-size:13.5px;font-weight:500;line-height:1.45}.nl a:hover{color:var(--accent)}.nl small{color:var(--ink2);font-size:12px}
.menu2{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:8px;display:grid;gap:2px}.menu2 a{display:flex;align-items:center;gap:12px;height:44px;padding:0 12px;border-radius:12px;font-size:14.5px;color:var(--ink2)}.menu2 a:hover{background:var(--panel)}.menu2 a[aria-current]{background:var(--tint);color:var(--ink);font-weight:600}.menu2 .ic{font-size:19px}
.cbox{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px;display:grid;gap:10px}.cbox b{font-size:15px}.cbox p{font-size:12.5px;color:var(--ink2);line-height:1.55}
.frame{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 24px 50px -28px rgba(0,0,0,.4)}.bar2{display:flex;align-items:center;gap:5px;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--panel)}.bar2 i{width:8px;height:8px;border-radius:50%;background:var(--line)}.bar2 span{margin-left:8px;flex:1;background:var(--paper);border:1px solid var(--line);border-radius:99px;padding:1px 10px;font-size:11px;color:var(--ink2);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.vp{aspect-ratio:4/3;overflow:hidden;position:relative;background:var(--line)}.vp img{position:absolute;left:0;top:0;width:100%;min-height:135%;object-fit:cover;object-position:top;transition:opacity .4s}.vp img.pan{transform:translateY(-22%);transition:transform 5s cubic-bezier(.3,.1,.3,1),opacity .4s}
/* work list */
.row{display:grid;grid-template-columns:76px 1fr;gap:14px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line);transition:background .25s}.row:first-child{border-top:1px solid var(--line)}.row img{width:76px;height:56px;object-fit:cover;object-position:top;border-radius:10px;background:var(--line)}.row b{display:block;font-size:16px;line-height:1.35}.row small{color:var(--ink2);font-size:13px}.row:hover,.row.cur2{background:var(--paper)}
.chips{display:flex;gap:6px;overflow-x:auto;padding:0 20px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chips .chip{white-space:nowrap}
/* blog */
.ph{padding:36px 20px 18px}.ph h1{font-size:36px;line-height:1.15;margin-top:6px}
.search{display:flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:99px;padding:9px 16px;margin:0 20px 14px}.search input{border:0;background:none;font:inherit;font-size:16px;color:var(--ink);outline:0;width:100%}
.feed{display:grid;gap:12px;padding:16px 16px 28px}.fc{display:block;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:22px}.fc h2{font-size:20px;line-height:1.38;margin:12px 0 8px}.fc p{color:var(--ink2);font-size:15px;line-height:1.6}.fc .f2{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:13px;color:var(--ink2)}.fc .rd{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--panel);transition:transform .3s}.fc:hover .rd{transform:rotate(-45deg);background:var(--accent)}
/* article */
.ah{padding:28px 20px 10px}.ah h1{font-size:30px;line-height:1.28;margin:14px 0 12px}
.prose{padding:8px 20px 20px;font-size:17px;line-height:1.9}.prose p{margin:0 0 1.4em}.prose h2{font-size:23px;margin:1.9em 0 .6em}.prose blockquote{margin:1.8em 0;padding:2px 0 2px 16px;border-left:3px solid var(--accent);font-size:19px;font-weight:600;line-height:1.6}.prose ul{margin:0 0 1.4em 1.2em}.prose li{margin:.35em 0}.prose code{background:var(--paper);border:1px solid var(--line);padding:1px 6px;border-radius:5px;font-size:.88em}.prose pre{background:#14130F;color:#E9E6DC;padding:16px;border-radius:12px;overflow:auto;font-size:13px;line-height:1.7;margin:0 0 1.4em}
/* 본문은 항상 선명하게 보인다(읽기 위치 강조 효과는 제거) */
.box{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:18px}
.cm{border-top:1px solid var(--line);padding:16px 0}.cm b{font-size:14px}.cm p{color:var(--ink2);margin-top:3px;font-size:15px}
.toc{border-left:2px solid var(--line);padding-left:14px;font-size:14px;color:var(--ink2)}.toc a{display:block;padding:5px 0;margin-left:-16px;padding-left:14px;border-left:2px solid transparent}.toc a.on{color:var(--ink);font-weight:600;border-left-color:var(--accent)}
.ring{width:42px;height:42px}.ring circle{fill:none;stroke-width:4}.ring .bg{stroke:var(--line)}.ring .fg{stroke:var(--accent);stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;stroke-dasharray:125.6;stroke-dashoffset:125.6}
/* ship */
.pad{position:fixed;bottom:58px;left:calc(50% + 215px - 62px);width:46px;height:3px;background:var(--ink);opacity:0;border-radius:3px 3px 0 0;z-index:25;transition:opacity .4s}.pad.in{opacity:.7}
.ship{position:fixed;bottom:58px;left:calc(50% + 215px - 66px);z-index:24;width:36px;height:92px;padding:0;border:0;background:none;cursor:pointer;transform:translateY(112px);transition:transform .9s cubic-bezier(.16,1,.3,1);transform-origin:50% 100%;-webkit-tap-highlight-color:transparent}
.ship.in{transform:translateY(-14px)}.ship svg{width:100%;height:100%;overflow:visible;display:block}.ship .fl{opacity:0;transform-origin:50% 0;transform-box:fill-box;filter:drop-shadow(0 0 6px rgba(255,140,50,.85))}
.ship:hover:not(.fire):not(.go):not(.land){transform:translateY(-20px)}.ship.fire{animation:shake .08s infinite}.ship.fire .fl,.ship.go .fl{opacity:1;animation:flick .09s infinite alternate}.ship.go{transition:none;animation:none;z-index:60}
@keyframes shake{0%{margin-left:0}25%{margin-left:1.5px}75%{margin-left:-1.5px}}@keyframes flick{from{transform:scaleY(.8) scaleX(.9)}to{transform:scaleY(1.25) scaleX(1.05)}}
.ship.land{animation:squash .5s cubic-bezier(.3,1.6,.5,1)}.ship.land .fl{opacity:0}@keyframes squash{0%{transform:translateY(-14px) scale(1.12,.86)}45%{transform:translateY(-22px) scale(.95,1.06)}100%{transform:translateY(-14px) scale(1)}}
.alt{position:fixed;bottom:98px;left:calc(50% + 215px - 150px);z-index:61;font:600 11px/1 ui-monospace,Menlo,monospace;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:5px 7px;opacity:0;transition:opacity .2s;pointer-events:none;white-space:nowrap}.alt.on{opacity:1}
.puff{position:fixed;z-index:59;width:14px;height:14px;border-radius:50%;background:var(--ink2);opacity:.35;pointer-events:none;animation:puff .9s ease-out forwards}@keyframes puff{to{transform:translate(var(--dx),var(--dy)) scale(3.2);opacity:0}}
@media(max-width:430px){.pad{left:auto;right:14px}.ship{left:auto;right:10px}.alt{left:auto;right:70px}}
/* wide (admin) */
.wide{min-height:100dvh;background:var(--panel)}.wide .wh{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(14px)}.wide .wh .in3{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:20px;padding:12px 20px;flex-wrap:wrap}.wide .wh nav{display:flex;gap:4px;flex-wrap:wrap}.wide .wh nav a{padding:7px 12px;border-radius:10px;font-size:14px;color:var(--ink2)}.wide .wh nav a[aria-current]{background:var(--tint);color:var(--ink);font-weight:600}.wide main{max-width:1100px;margin:0 auto;padding:36px 20px 80px}
.urlbar{display:flex;gap:10px;margin:20px 0}.urlbar input{flex:1;padding:15px 18px;border-radius:14px;border:2px solid var(--ink);background:var(--paper);font:inherit;color:var(--ink);font-size:17px;min-width:0}
.steps{display:grid;gap:8px;margin:16px 0 26px;padding:0}.steps li{list-style:none;display:flex;gap:12px;align-items:center;padding:10px 14px;border-radius:12px;background:var(--paper);border:1px solid var(--line);font-size:15px;color:var(--ink2)}.steps li.run{color:var(--ink);border-color:var(--accent)}.steps li.ok{color:var(--ink)}.steps .d{width:10px;height:10px;border-radius:50%;background:var(--line)}.steps li.run .d{background:var(--accent);animation:pl 1s infinite}.steps li.ok .d{background:#1FB66B}@keyframes pl{50%{opacity:.25}}
.two{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}@media(max-width:860px){.two{grid-template-columns:1fr}}
.fld{display:grid;gap:6px;margin-bottom:14px}.fld label{font-size:13px;font-weight:600;color:var(--ink2)}.fld input,.fld textarea,.fld select{padding:11px 13px;border-radius:10px;border:1px solid var(--line);background:var(--panel);font:inherit;color:var(--ink);width:100%;font-size:16px}
.serp{font-family:Arial,sans-serif;background:#fff;color:#202124;border-radius:12px;padding:16px 18px;border:1px solid #e6e6e6}.serp .u{font-size:13px;color:#4d5156}.serp .t{font-size:20px;color:#1a0dab;margin:2px 0 4px;line-height:1.3}.serp .dsc{font-size:14px;color:#4d5156;line-height:1.55}.serp.nv .t{color:#03c75a;font-weight:700}
.note{font-size:13px;color:var(--ink2);border:1px dashed var(--line);border-radius:12px;padding:12px 16px}
@media(prefers-reduced-motion:reduce){[data-reveal],.js .sp .w>span{opacity:1!important;transform:none!important}.scrub .w{opacity:1}.prose *{opacity:1!important}.bey .fill{transform:none;transition:none}.stp li,.tr2 .x{opacity:1;transform:none}.viz.lines i,.viz.years i{transform:none}.viz.dots i{background:var(--ink)}}

.rr .tr2 .x{opacity:0}.rr .bey.in .x{opacity:1}
.tr2 .fill{position:absolute;inset:0;border-radius:99px;background:linear-gradient(90deg,var(--ink) 0 74%,var(--accent) 74% 100%)}
/* ---- WordPress additions ---- */
body.admin-bar .top{top:32px}body.admin-bar .side>.sc2{top:32px;height:calc(100dvh - 32px)}@media(max-width:782px){body.admin-bar .top{top:46px}}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
a.chip{display:inline-block;white-space:nowrap}
.pager{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:10px}.pager .page-numbers{display:grid;place-items:center;min-width:38px;height:38px;padding:0 12px;border-radius:99px;border:1px solid var(--line);background:var(--paper);font-size:14px}.pager .current{background:var(--ink);color:var(--panel);border-color:var(--ink)}.pager .dots{border:0;background:none}
.prose img,.prose video,.prose iframe{max-width:100%;height:auto;border-radius:12px}.prose figure{margin:0 0 1.4em}.prose figcaption,.prose .wp-caption-text{font-size:13px;color:var(--ink2);margin-top:6px}
.prose .alignleft,.prose .alignright{float:none;margin:0 0 1.4em}.prose .aligncenter{margin-left:auto;margin-right:auto}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.prose h3{font-size:19px;margin:1.6em 0 .5em}.prose h4{font-size:17px;margin:1.4em 0 .4em}.prose ol{margin:0 0 1.4em 1.3em}.prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.prose .tbl{overflow-x:auto;margin:0 0 1.4em}.prose table{border-collapse:collapse;font-size:14px;min-width:100%}.prose th,.prose td{border:1px solid var(--line);padding:8px 10px;text-align:left}
.prose iframe{width:100%}.prose pre code{background:none;border:0;padding:0}
.pg-builder{padding:0 0 20px;overflow-x:hidden}.pg-builder .elementor-section,.pg-builder .e-con{max-width:100%}.pg-builder img{max-width:100%;height:auto}
.cmform{margin-top:14px;display:grid;gap:10px}.cmform p{margin:0}.cmform textarea,.cmform input[type=text],.cmform input[type=email],.cmform input[type=url]{width:100%;padding:11px 13px;border-radius:10px;border:1px solid var(--line);background:var(--panel);font:inherit;font-size:16px;color:var(--ink)}.cmform label{font-size:13px;color:var(--ink2);display:block;margin-bottom:4px}.cmform .form-submit{text-align:right}.cmform .comment-form-cookies-consent{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--ink2)}.cmform .comment-form-cookies-consent label{margin:0}
.gform_wrapper{padding:0 20px}.gform_wrapper input[type=text],.gform_wrapper input[type=email],.gform_wrapper input[type=tel],.gform_wrapper textarea,.gform_wrapper select{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--paper);font:inherit;font-size:16px;color:var(--ink)}
.gform_wrapper .gform_button,.gform_wrapper input[type=submit]{display:inline-flex;justify-content:center;padding:11px 22px;border-radius:99px;border:0;background:var(--ink);color:var(--panel);font:inherit;cursor:pointer}

/* ---- blog engagement ---- */
.fc .th{margin:-22px -22px 16px;aspect-ratio:1200/630;background:var(--line);overflow:hidden}.fc .th img{width:100%;height:100%;object-fit:cover}
.sub{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;gap:10px}.sub b{font-size:16px}.sub p{font-size:13px;color:var(--ink2);line-height:1.55}
.sub .srow{display:flex;gap:8px}.sub input[type=email]{flex:1;min-width:0;padding:11px 14px;border-radius:99px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font:inherit;font-size:16px}
.sub .agree{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:var(--ink2);line-height:1.5}.sub .agree input{margin-top:2px}
.sub .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.sub .smsg{min-height:1em;font-size:13px}.sub .smsg.ok{color:#1c8a55}.sub .smsg.err{color:#c0392b}
.sub.sub-c{padding:14px;border-radius:16px;max-width:300px}.sub.sub-c b{font-size:14px}
.help .hb{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.help .chip i{font-style:normal;margin-left:4px;color:var(--accent);font-weight:600}.help .chip.done{background:var(--ink);color:var(--panel);border-color:var(--ink)}.help .chip[disabled]{opacity:.5;cursor:default}.help .hmsg{font-size:13px;color:var(--ink2);margin-top:8px;min-height:1em}
.rel{padding:8px 20px 16px}.rel h3{font-size:18px;margin-bottom:6px}.rel a{display:block;padding:14px 0;border-top:1px solid var(--line)}.rel a:last-child{border-bottom:1px solid var(--line)}.rel b{display:block;font-size:16px;line-height:1.45;margin-top:4px}.rel a:hover b{color:var(--accent)}
.cta2{margin:8px 16px 16px;background:var(--ink);color:var(--panel);border-radius:22px;padding:22px;display:grid;gap:14px}.cta2 b{font-size:18px}.cta2 p{font-size:14px;color:color-mix(in srgb,var(--panel) 70%,transparent);margin-top:4px}.cta2 .btn{background:var(--panel);color:var(--ink)}
.pnav{display:grid;gap:8px;padding:0 16px 8px}.pnav a{display:block;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px 16px}.pnav small{color:var(--ink2);font-size:12px}.pnav b{display:block;font-size:15px;line-height:1.45;margin-top:2px}.pnav a:hover{border-color:var(--ink)}
.toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%,20px);background:var(--ink);color:var(--panel);padding:12px 18px;border-radius:99px;font-size:14px;opacity:0;pointer-events:none;transition:.35s;z-index:400;max-width:90vw;text-align:center}.toast.on{opacity:1;transform:translate(-50%,0)}

/* ---- portfolio ---- */
.wlist .row{display:grid;grid-template-columns:76px 1fr;gap:14px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line);transition:background .25s}.wlist .row:first-child{border-top:1px solid var(--line)}
.wlist .row img,.wlist .row .noimg{width:76px;height:56px;object-fit:cover;object-position:top;border-radius:10px;background:var(--line);display:block}.wlist .row b{display:block;font-size:16px;line-height:1.35}.wlist .row small{color:var(--ink2);font-size:13px}.wlist .row:hover,.wlist .row.cur2{background:var(--paper)}
.wdesc{padding:18px 20px 6px}.wdesc .btn{margin-top:2px}
.prose .gallery{display:grid;grid-template-columns:1fr!important;gap:12px;margin:0 0 1.4em}.prose .gallery .gallery-item{width:100%!important;margin:0;float:none}.prose .gallery img{width:100%;height:auto;border:1px solid var(--line);border-radius:12px}.prose .gallery-caption{font-size:13px;color:var(--ink2);margin-top:4px}
.rel a.rw{display:grid;grid-template-columns:76px 1fr;gap:14px;align-items:center;padding:12px 0}.rel a.rw img{width:76px;height:56px;object-fit:cover;object-position:top;border-radius:10px}.rel a.rw b{margin-top:0;font-size:15px}


.prose .wp-caption,.prose figure,.prose .wp-block-image{width:100%!important;max-width:100%!important}.prose .wp-caption img,.prose figure img{width:100%;height:auto}.prose [style*="width"]{max-width:100%}

/* ---- 옛 서식이 남아 있어도 시안 타이포그래피를 따른다(본문 공통: 글, 프로젝트, 일반 페이지) ---- */
.prose,.prose *{letter-spacing:0}
.prose [style]{font-family:inherit!important;color:inherit!important;background:none!important;letter-spacing:0!important;text-shadow:none!important}
.prose p[style],.prose li[style],.prose span[style],.prose div[style],.prose td[style],.prose th[style],.prose strong[style],.prose em[style],.prose blockquote[style]{font-size:inherit!important;line-height:inherit!important;font-weight:inherit}
.prose strong[style],.prose b[style]{font-weight:600!important}
.prose a[style]{color:var(--accent)!important}
.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{font-family:inherit!important;color:inherit!important;font-weight:600!important;letter-spacing:0!important;line-height:1.3!important}
.prose h1,.prose h2{font-size:23px!important;margin:1.9em 0 .6em!important}.prose h3{font-size:19px!important;margin:1.6em 0 .5em!important}.prose h4,.prose h5,.prose h6{font-size:17px!important;margin:1.4em 0 .4em!important}
.prose font,.prose center{font:inherit!important;color:inherit!important;text-align:left}
.prose [align]{text-align:left}
.prose strong,.prose b{font-weight:600}
.prose iframe{aspect-ratio:16/9;height:auto}
.prose :where(div,section,article):not(.gallery):not(.tbl):not(.wp-caption){max-width:100%}
.prose img{height:auto!important}
.prose table{font-size:14px}.prose td,.prose th{font-size:inherit!important}
.prose pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important}.prose pre *{font-family:inherit!important}

/* ---- Gravity Forms (새 디자인) ---- */
.gform_wrapper{--gf-local-bg-color:transparent;padding:0;margin:0}
.gform_wrapper .gform_heading{display:none}
.gform_wrapper .gform_fields{display:grid;gap:14px;list-style:none;padding:0;margin:0}
.gform_wrapper .gfield{margin:0;padding:0}
.gform_wrapper .gfield_label,.gform_wrapper legend.gfield_label{display:block;font-size:14px;font-weight:600;margin:0 0 6px;color:var(--ink)}
.gform_wrapper .gfield_required{color:var(--accent);margin-left:2px}
.gform_wrapper .ginput_container input[type=text],.gform_wrapper .ginput_container input[type=email],.gform_wrapper .ginput_container input[type=tel],.gform_wrapper .ginput_container input[type=url],.gform_wrapper .ginput_container input[type=number],.gform_wrapper .ginput_container input[type=date],.gform_wrapper .ginput_container textarea,.gform_wrapper .ginput_container select{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;font-size:16px;box-shadow:none}
.gform_wrapper .ginput_container textarea{min-height:130px}
.gform_wrapper .gfield_checkbox,.gform_wrapper .gfield_radio{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.gform_wrapper .gchoice{display:flex;gap:8px;align-items:center;font-size:15px}.gform_wrapper .gchoice label{margin:0;font-weight:400}
.gform_wrapper .gsection{margin-top:10px;border-bottom:1px solid var(--line);padding-bottom:6px}.gform_wrapper .gsection_title{font-size:18px;margin:0}
.gform_wrapper .gform_footer,.gform_wrapper .gform_page_footer{padding:18px 0 0;margin:0}
.gform_wrapper .gform_button,.gform_wrapper input[type=submit]{display:inline-flex;justify-content:center;width:100%;padding:13px 22px;border-radius:99px;border:0;background:var(--ink);color:var(--panel);font:inherit;font-size:16px;cursor:pointer}
.gform_wrapper .gfield_description{font-size:12.5px;color:var(--ink2);margin-top:4px}
.gform_wrapper .gfield_error input,.gform_wrapper .gfield_error textarea{border-color:#c0392b}.gform_wrapper .validation_message,.gform_wrapper .gform_validation_errors{color:#c0392b;font-size:13px;margin-top:4px}
.gform_confirmation_message{padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.pg .gform_wrapper{padding:0}.pg{padding-bottom:40px}
.gfdark .gform_wrapper .gfield_label,.gfdark .gform_wrapper .gsection_title{color:var(--panel)}
.gfdark .gform_wrapper .ginput_container input,.gfdark .gform_wrapper .ginput_container textarea,.gfdark .gform_wrapper .ginput_container select{background:transparent;color:var(--panel);border-color:color-mix(in srgb,var(--panel) 28%,transparent)}
.gfdark .gform_wrapper .gform_button,.gfdark .gform_wrapper input[type=submit]{background:var(--panel);color:var(--ink)}
.gfdark .gform_confirmation_message{background:transparent;color:var(--panel);border-color:color-mix(in srgb,var(--panel) 28%,transparent)}
.gfdark .gform_wrapper .validation_message,.gfdark .gform_wrapper .gform_validation_errors{color:#ff8a7a}
.grecaptcha-badge{visibility:hidden}

/* Gravity Forms: 좁은 칼럼에서 12칸 그리드가 넘치지 않게 한 줄로 */
.gform_wrapper,.gform_wrapper form,.gform_wrapper .gform-body,.gform_wrapper .gform_fields{max-width:100%;min-width:0}
.gform_wrapper .gform_fields{grid-template-columns:minmax(0,1fr)!important}
.gform_wrapper .gfield{grid-column:1/-1!important;min-width:0}
.gform_wrapper .ginput_container,.gform_wrapper .ginput_complex{min-width:0}
.gform_wrapper .ginput_container input,.gform_wrapper .ginput_container textarea,.gform_wrapper .ginput_container select{max-width:100%;box-sizing:border-box}
.gform_wrapper .gfield--type-fileupload .ginput_container input{width:100%}
.gform_wrapper .gform_drop_area{max-width:100%}
.pg h1,.pg h2{font-size:22px!important}
.gform_wrapper .gform_validation_errors{border:1px solid #c0392b;border-radius:12px;padding:12px 14px}

.gform_wrapper [class*="gfield--width-"],.gform_wrapper .gfield--width-half,.gform_wrapper .gfield--width-third{grid-column:1/-1!important;width:100%!important;max-width:100%!important;float:none!important;display:block}
.gform_wrapper .gfield--width-half+.gfield--width-half{margin-top:0}

/* GF 자체 CSS(더 구체적인 선택자)를 확실히 이긴다: 좁은 칼럼에서는 항상 한 줄 */
.gform_wrapper.gform_wrapper .gform_fields.gform_fields{grid-template-columns:minmax(0,1fr)!important;display:grid!important}
.gform_wrapper.gform_wrapper .gform_fields .gfield.gfield{grid-column:1 / -1!important;width:100%!important;max-width:100%!important}
.gform_wrapper.gform_wrapper .gfield_checkbox,.gform_wrapper.gform_wrapper .gfield_radio{grid-template-columns:minmax(0,1fr)!important}

.prose,.prose *{opacity:1!important}

/* ---- 견적 문의 폼: 단계, 알약 선택지 ---- */
.gform_wrapper .gform_save_link,.gform_wrapper .gform_footer a.gform_save_link{display:none!important}
.gform_wrapper .gform_validation_container,.gform_wrapper .ginput_recaptchav3,.gform_wrapper .gf_invisible{display:none!important}
.gform_wrapper .gfield.pc-hide{display:none!important}
.gform_wrapper .gfield--type-html,.gform_wrapper .gfield--type-section{display:none!important}
.gform_wrapper:not(.pc-last) .gform_footer,.gform_wrapper:not(.pc-last) .gform_page_footer{display:none}
.pcs{margin:0 0 22px}.pcs ol{list-style:none;padding:0;margin:0 0 10px;display:flex;gap:6px}
.pcs li{flex:1;display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink2);font-weight:500}
.pcs li span{width:22px;height:22px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:12px;flex:none;background:var(--paper)}
.pcs li.on{color:var(--ink);font-weight:600}.pcs li.on span{background:var(--ink);color:var(--panel);border-color:var(--ink)}.pcs li.ok span{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.pcs .pbar{height:3px;background:var(--line);border-radius:3px;overflow:hidden}.pcs .pbar i{display:block;height:100%;width:33%;background:var(--ink);transition:width .4s cubic-bezier(.2,.7,.2,1)}
.pcs-nav{display:flex;justify-content:space-between;gap:10px;margin:22px 0 4px}
.pcs-nav .btn{min-width:96px}
.gform_wrapper .gfield.pc-err .gfield_label{color:#c0392b}.gform_wrapper .gfield.pc-err input[type=text],.gform_wrapper .gfield.pc-err input[type=email],.gform_wrapper .gfield.pc-err select,.gform_wrapper .gfield.pc-err textarea{border-color:#c0392b}
.gform_wrapper .pc-msg{color:#c0392b;font-size:13px;margin-top:6px}
/* 체크박스 선택지를 눌러서 켜는 알약 버튼으로 */
.gform_wrapper ul.gfield_checkbox,.gform_wrapper ul.gfield_radio{display:flex!important;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.gform_wrapper ul.gfield_checkbox li,.gform_wrapper ul.gfield_radio li{margin:0!important;padding:0!important;position:relative}
.gform_wrapper ul.gfield_checkbox input[type=checkbox],.gform_wrapper ul.gfield_radio input[type=radio]{position:absolute;opacity:0;width:1px;height:1px}
.gform_wrapper ul.gfield_checkbox label,.gform_wrapper ul.gfield_radio label{display:inline-block!important;padding:9px 15px!important;border:1px solid var(--line);border-radius:99px;background:var(--paper);font-size:14px!important;line-height:1.35;cursor:pointer;margin:0!important;max-width:100%;transition:background .2s,color .2s,border-color .2s}
.gform_wrapper ul.gfield_checkbox label:hover,.gform_wrapper ul.gfield_radio label:hover{border-color:var(--ink)}
.gform_wrapper ul.gfield_checkbox input:checked+label,.gform_wrapper ul.gfield_radio input:checked+label{background:var(--ink);color:var(--panel);border-color:var(--ink)}
.gform_wrapper ul.gfield_checkbox input:focus-visible+label,.gform_wrapper ul.gfield_radio input:focus-visible+label{outline:2px solid var(--accent);outline-offset:2px}
.gform_wrapper .gfield_label{font-size:15px}
.gform_wrapper .ginput_container_fileupload input[type=file]{width:100%;padding:18px;border:1px dashed var(--line);border-radius:14px;background:var(--paper);font-size:14px}
.gform_wrapper .gform_fileupload_rules,.gform_wrapper .gfield_description{font-size:12.5px;color:var(--ink2);margin-top:6px}
.gform_wrapper .ginput_container_date{position:relative}.gform_wrapper .ui-datepicker-trigger{position:absolute;right:12px;top:50%;transform:translateY(-50%);opacity:.6}
.gform_wrapper .gform_footer{display:grid;gap:8px}.gform_wrapper .gform_footer::after{font-size:12.5px;color:var(--ink2);text-align:center}
#gform_wrapper_3 .gform_footer::after{content:"제출하신 정보는 견적 상담 목적으로만 사용합니다."}
#gform_wrapper_1 .gform_footer::after{content:"문의하신 내용은 상담 목적으로만 사용합니다."}
.gfdark .gform_wrapper .gform_footer::after{color:color-mix(in srgb,var(--panel) 65%,transparent)}
.pg .gform_wrapper .gform_heading{display:none}

/* 알약 선택지: GF 기본 CSS의 고정 너비·말줄임을 없애고 자동 너비로 줄바꿈 */
.gform_wrapper.gform_wrapper ul.gfield_checkbox li,.gform_wrapper.gform_wrapper ul.gfield_radio li{width:auto!important;max-width:100%!important;flex:0 1 auto!important;float:none!important;display:block!important;list-style:none!important}
.gform_wrapper.gform_wrapper ul.gfield_checkbox label,.gform_wrapper.gform_wrapper ul.gfield_radio label{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;width:auto!important;height:auto!important;display:inline-block!important}
.gform_wrapper.gform_wrapper ul.gfield_checkbox input[type=checkbox],.gform_wrapper.gform_wrapper ul.gfield_radio input[type=radio]{position:absolute!important;left:-9999px!important;opacity:0!important;width:1px!important;height:1px!important;margin:0!important;clip:rect(0 0 0 0)}
.gform_wrapper.gform_wrapper ul.gfield_checkbox li::marker,.gform_wrapper.gform_wrapper ul.gfield_radio li::marker{content:""}

/* ---- 첫 화면(히어로)은 자바스크립트 없이 CSS만으로 나타난다: LCP를 늦추지 않기 위함 ---- */
@keyframes riseIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes wordUp{from{transform:translateY(112%)}to{transform:none}}
.hero .rise{animation:riseIn .8s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--d,0)*90ms)}
.hero .w{display:inline-block;overflow:hidden;vertical-align:top;padding:.1em 0 .34em;margin:-.1em 0 -.34em}
.hero .w>span{display:inline-block;animation:wordUp .9s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i)*60ms)}
@media(prefers-reduced-motion:reduce){.hero .rise,.hero .w>span{animation:none}}

/* 긴 영문 단어·주소가 칼럼 폭을 밀어내지 않게 */
.shell,.col,main,.feed,.fc,.wlist,.wl,.rel,.pnav,.nl{min-width:0}
.fc h2,.fc p,.wl h3,.wlist .row b,.rel b,.pnav b,.nl a,.ah h1,.ph h1,.prose,.prose *,.card h3,.pc h3,.sub p,.wdesc{overflow-wrap:anywhere}
.prose pre,.prose code{overflow-wrap:normal}
.gfdark .gform_wrapper .gfield_required,.gfdark .gform_wrapper .gfield_required_text{color:#ffb4a6!important}
.gform_wrapper .gfield_required_text{font-size:12px}
