@font-face{font-family:Pretendard;src:url('/fonts/PretendardVariable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--bg:#fcfcfa;--text:#1d2228;--text-2:#50575f;--muted:#626973;--primary:#244ae8;--primary-bright:#244ae8;--accent-text:#244ae8;--panel-2:#f0f1ee;--border:#d7d9d6;--hairline:#e7e8e4;--brass:#244ae8;--brass-line:#244ae8;--brass-soft:#9eadef;--blue:#244ae8;--blue-dark:#1736b6;--lime:#dfeb84;--maxw:1328px;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px;scrollbar-color:#9dacc9 var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font-family:Pretendard,sans-serif;font-size:17px;line-height:1.7;word-break:keep-all;-webkit-font-smoothing:antialiased}::selection{background:var(--blue);color:#fff}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:5px}button{font:inherit}button:not(:disabled),summary{cursor:pointer}:focus-visible{outline:3px solid var(--blue);outline-offset:5px}button:disabled{opacity:.5;cursor:default}img{display:block;max-width:100%;height:auto}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-weight:650;letter-spacing:-.035em;line-height:1.16;text-wrap:balance}h2{font-size:clamp(34px,4.2vw,58px)}h3{font-size:28px}.wrap{width:min(100% - 96px,var(--maxw));margin-inline:auto}.section{padding-block:104px}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;left:16px;top:-80px;background:var(--blue);color:#fff;padding:14px;z-index:100}.skip-link:focus{top:12px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:44px;text-decoration:none;font-size:16px;font-weight:600}.text-link .icon{transition:transform .25s var(--ease)}.text-link:hover .icon{transform:translateX(4px)}.text-link:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:56px;padding:16px 23px;text-decoration:none;font-weight:600;border-radius:4px;transition:background .2s}.button-light{background:#fff;color:var(--blue)}.button-light:hover{background:var(--lime)}
/* Canonical shared header: page tokens and page-local presentation only. */
.hd.hd-b{background:var(--bg);backdrop-filter:none;border-bottom:1px solid var(--hairline)}.hd-wrap{max-width:1424px;padding-inline:48px}.hd .hd-btn{background:var(--blue);color:#fff;box-shadow:none;border-color:var(--blue);border-radius:4px}.hd .hd-btn:hover{background:var(--blue-dark);box-shadow:none;transform:none}.hd-brand{font-size:17px}.hd .hd-dot{width:9px;height:9px;border-radius:1px;box-shadow:none}.hd-nav a{font-size:14px}.hd :focus-visible{outline:3px solid var(--blue)}
.hero{padding-top:72px}.hero-top{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;padding-bottom:54px}.hero h1{font-size:clamp(48px,5.1vw,76px);line-height:1.13;font-weight:650}.hero h1 span{color:var(--blue)}.hero-intro{padding-bottom:8px;max-width:350px;font-size:17px;line-height:1.8}.hero-intro .text-link{margin-top:22px;border-bottom:1px solid var(--text);width:205px}.film-screen{position:relative;background:var(--blue);overflow:hidden}.film video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.film-control{position:absolute;top:22px;right:24px;display:flex;align-items:center;gap:9px;padding:10px 16px;min-height:44px;border:1px solid #fff6;border-radius:4px;background:#1837b4;color:#fff;font-size:13px;font-weight:600}.film-control:hover{background:#10278d}.film-control:focus-visible{outline-color:var(--lime)}.film-control .icon{width:17px;height:17px}.film figcaption{display:flex;justify-content:space-between;gap:20px;padding:0 0 15px;color:var(--muted);font-size:12px}.film figcaption>span:first-child{font-size:15px;color:var(--text);font-weight:550}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:126px;padding-bottom:126px;border-bottom:1px solid var(--border)}.intro h2{font-size:clamp(34px,3.4vw,48px)}.intro-copy{max-width:540px}.intro-copy p{font-size:20px;line-height:1.8;letter-spacing:-.015em}.intro-copy p+p{margin-top:18px;color:var(--text-2)}.intro-copy .text-link{margin-top:26px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:56px}.section-heading>p{color:var(--text-2);font-size:16px}.projects{padding-bottom:120px}.project-visual{display:block;position:relative;overflow:hidden;text-decoration:none}.project-visual img{position:relative;box-shadow:0 22px 42px #00000024;transition:transform .65s var(--ease);border-radius:5px}.project-visual:hover img{transform:translateY(-8px)}.visual-word{position:absolute;font-weight:600;font-size:clamp(68px,9vw,136px);letter-spacing:-.035em;line-height:1;color:#fff}.visual-sogu{background:#dce4f5;height:600px;padding:54px 50px 0}.visual-sogu .visual-word{left:64px;top:66px;color:var(--blue)}.visual-sogu img{width:78%;margin-left:auto;margin-top:100px}.visit-circle{position:absolute;bottom:24px;right:24px;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#fff;color:var(--text)}.visit-circle .icon{width:25px;height:25px}.project-info{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-top:26px}.project-info h3{font-size:28px}.project-info p{font-size:16px;color:var(--text-2);max-width:560px}.project-info .project-type{font-size:13px;margin-top:8px;color:var(--muted)}.project-info .text-link{margin-top:13px}.project-pair{display:grid;grid-template-columns:1.1fr 1fr;gap:46px;margin-top:84px;align-items:start}.project-offset{margin-top:116px}.project-pair .project-visual{height:470px;padding:140px 30px 0}.project-pair .visual-word{top:36px;left:36px;font-size:76px}.visual-geo{background:#244ae8}.visual-geo img{width:110%;max-width:none}.visual-image{background:#dfe8c5}.visual-image .visual-word{color:#43533d}.visual-image img{width:100%}.project-pair .project-info{grid-template-columns:1fr;gap:18px}.tool-index{display:grid;grid-template-columns:.9fr 1.4fr;gap:100px;padding-top:100px;margin-top:96px;border-top:1px solid var(--border)}.tool-index h3{font-size:30px;line-height:1.4}.tool-index .text-link{margin-top:20px}.tool-list details{border-bottom:1px solid var(--border)}.tool-list details:first-child{border-top:1px solid var(--border)}.tool-list summary{display:flex;align-items:center;gap:16px;position:relative;list-style:none;min-height:85px;padding-right:32px}.tool-list summary::-webkit-details-marker{display:none}.tool-list summary:after,.tool-list summary:before{content:'';position:absolute;right:2px;top:50%;width:16px;height:1.5px;background:currentColor}.tool-list summary:before{transform:rotate(90deg);transition:transform .2s}.tool-list details[open] summary:before{transform:rotate(0)}.tool-list summary>span:first-child{font-size:19px;font-weight:600;flex:1}.tool-list summary>span+span{font-size:13px;color:var(--muted)}.tool-list details>div{padding:0 34px 27px 0;color:var(--text-2);font-size:15px}.tool-list details a{display:inline-block;color:var(--blue);margin-top:8px}
.approach{background:var(--blue);color:#fff;padding-block:112px}.approach .section-heading>p{color:#e0e6ff}.workflow{background:#193bca;border-radius:4px;overflow:hidden}.flow-tabs{display:flex;align-items:center;justify-content:center;gap:22px;padding:28px;border-bottom:1px solid #ffffff30}.flow-tabs button{background:transparent;border:1px solid transparent;color:#d4ddff;font-size:16px;min-height:48px;padding:10px 26px;border-radius:4px;transition:background .2s,color .2s}.flow-tabs button[aria-selected=true]{color:#1e2e74;background:var(--lime)}.flow-tabs button:hover{border-color:#a9b9ff}.flow-tabs :focus-visible{outline-color:var(--lime)}.flow-tabs .icon{width:20px;color:#aec0ff}.flow-body{display:grid;grid-template-columns:1.2fr 1fr;min-height:405px;align-items:center;gap:44px;padding:38px 64px 48px}.flow-drawing{height:300px;position:relative;isolation:isolate}.source-sheet{position:absolute;left:8%;width:150px;padding:17px;background:#fbfbf5;color:#29303a;border-radius:3px;box-shadow:0 14px 30px #00000026;transition:transform .75s var(--ease),opacity .5s;z-index:2}.source-sheet>span{font-size:12px;font-weight:600}.source-sheet i,.result-sheet>i{display:block;height:4px;background:#bdc5d2;margin-top:10px}.source-sheet i:last-child{width:60%}.sheet-a{top:9px;transform:rotate(-9deg)}.sheet-b{top:95px;left:34%;transform:rotate(7deg);z-index:3}.sheet-c{top:178px;transform:rotate(-4deg)}.image-block{background:#ccd6ef;height:38px;margin-top:12px}.flow-target{position:absolute;right:3%;top:94px;display:flex;flex-direction:column;align-items:center;gap:12px;color:#dfeb84;transition:transform .8s var(--ease),opacity .4s}.flow-target svg{width:72px;height:72px;stroke:currentColor;stroke-width:2;fill:none}.target-label{font-size:13px}.result-sheet{position:absolute;inset:30px 20% 22px 15%;background:#fbfbf5;color:#1d2d68;padding:26px;transform:translateX(32px) scale(.92);opacity:0;border-radius:3px;transition:transform .8s var(--ease),opacity .6s}.result-sheet>span{font-size:18px;font-weight:650}.result-sheet>i{margin-top:24px}.result-check{border-top:1px solid #a8b5ce;margin-top:30px;padding-top:18px;font-size:12px;color:#405380}.workflow[data-stage='1'] .sheet-a{transform:translate(50px,70px) rotate(0)}.workflow[data-stage='1'] .sheet-b{transform:translate(-30px,0) rotate(0)}.workflow[data-stage='1'] .sheet-c{transform:translate(54px,-78px) rotate(0)}.workflow[data-stage='1'] .flow-target{transform:rotate(90deg)}.workflow[data-stage='1'] .target-label{transform:rotate(-90deg)}.workflow[data-stage='2'] .source-sheet{transform:translateX(90px) scale(.85);opacity:0}.workflow[data-stage='2'] .flow-target{opacity:0}.workflow[data-stage='2'] .result-sheet{opacity:1;transform:none}.flow-copy h3{font-size:35px;line-height:1.28;letter-spacing:-.03em}.flow-copy>p{font-size:16px;color:#e2e8ff;margin-top:18px;max-width:400px}.flow-copy .demo-note{font-size:12px;color:#c3d0ff;margin-top:26px}.method{display:grid;grid-template-columns:repeat(3,1fr);gap:54px;margin-top:50px}.method>div{border-top:1px solid #ffffff60;padding-top:23px}.method h3{font-size:22px}.method p{font-size:15px;color:#e0e6ff;margin-top:13px}
.lab{display:grid;grid-template-columns:.75fr 1fr;gap:120px;align-items:center;padding-block:140px}.founder-image{max-width:400px}.founder-image img{width:100%;aspect-ratio:1;object-fit:cover;background:#fff}.founder-image>span{display:block;margin-top:18px;font-size:16px;font-weight:650}.founder-image>span>span{margin-left:12px;color:var(--muted);font-size:13px;font-weight:400}.founder-copy p{font-size:18px;color:var(--text-2);margin-top:30px;max-width:570px;line-height:1.85}.founder-copy p+p{margin-top:16px}.founder-copy .text-link{margin-top:25px}.contact{background:#1d252e;color:#fff;padding-block:108px}.contact-inner{display:grid;grid-template-columns:1fr .75fr;align-items:end;gap:100px}.contact h2{font-size:clamp(37px,4.7vw,64px)}.contact p{color:#d5dae2;margin-top:25px;font-size:17px}.contact .button{margin-top:32px}.contact-ways>a{display:flex;align-items:center;gap:20px;border-bottom:1px solid #626b76;padding:24px 0;text-decoration:none;font-size:20px;overflow-wrap:anywhere}.contact-ways>a:hover{color:var(--lime)}.contact-ways>a>span{font-size:13px;color:#c2c9d1;min-width:44px}.contact-ways .icon{margin-left:auto}.contact-ways>p{font-size:13px;margin-top:22px}.contact :focus-visible{outline-color:var(--lime)}footer{padding-block:45px 38px;font-size:13px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:36px}.footer-brand{font-size:24px;font-weight:650;text-decoration:none;letter-spacing:-.03em}.up{transform:rotate(-90deg)}.footer-bottom{display:flex;justify-content:space-between;gap:36px;color:var(--muted);font-size:12px;line-height:1.9}.footer-bottom p+p{margin-top:3px}
@media(min-width:1500px){.hero h1{font-size:80px}.film-screen{max-height:747px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hd-wrap{padding-inline:32px}.hero-top{gap:30px}.hero h1{font-size:62px}.hero-intro{font-size:15px;max-width:300px}.intro{gap:60px}.visual-sogu{height:490px}.project-pair{gap:28px}.project-pair .project-visual{height:390px}.project-pair .visual-word{font-size:62px}.tool-index{gap:55px}.flow-body{padding:30px;gap:25px}.lab{gap:70px}.contact-inner{gap:60px}.contact-ways>a{font-size:17px}}
@media(max-width:860px){.hd.hd-b .hd-nav{background:var(--bg);backdrop-filter:none}.section{padding-block:76px}.hero{padding-top:52px}.hero-top{display:block;padding-bottom:34px}.hero h1{font-size:60px}.hero-intro{margin-top:30px;max-width:520px;font-size:16px}.desktop-break{display:none}.hero-intro .text-link{margin-top:12px}.intro{grid-template-columns:1fr;gap:28px}.intro-copy{max-width:640px}.intro-copy p{font-size:19px}.section-heading{display:block;margin-bottom:36px}.section-heading>p{margin-top:25px}.project-info{gap:25px}.visual-sogu{height:400px;padding:24px}.visual-sogu .visual-word{font-size:96px;top:38px;left:30px}.visual-sogu img{width:85%;margin-top:105px}.project-pair{margin-top:50px}.project-offset{margin-top:90px}.project-pair .project-visual{height:310px;padding:108px 20px 0}.project-pair .visual-word{font-size:52px;left:20px;top:25px}.project-info h3{font-size:24px}.tool-index{grid-template-columns:1fr;gap:32px;margin-top:68px;padding-top:60px}.flow-body{grid-template-columns:1fr;padding:12px 34px 40px;gap:12px}.flow-drawing{max-width:440px;width:100%;margin:auto;height:300px}.flow-copy{max-width:500px}.flow-copy h3 br{display:none}.flow-copy h3{font-size:28px}.flow-copy>p{max-width:none}.method{gap:24px}.method h3{font-size:19px}.lab{grid-template-columns:.6fr 1fr;gap:42px}.founder-copy h2{font-size:35px}.founder-copy p{font-size:16px}.founder-image>span>span{display:block;margin-left:0;margin-top:5px}.contact-inner{grid-template-columns:1fr;gap:42px}.contact-ways{max-width:520px;width:100%}.contact-ways>a{font-size:20px}}
@media(max-width:560px){.wrap{width:calc(100% - 40px)}.hd-wrap{padding-inline:20px}.hd-brand{font-size:14px;gap:8px}.hd .hd-dot{width:7px;height:7px}.hd-actions{gap:8px}.hd .hd-btn{padding:8px 11px;font-size:12px}.hd .hd-burger{width:32px;height:34px}.hero{padding-top:40px}.hero h1{font-size:clamp(30px,8.9vw,48px);letter-spacing:-.04em}.hero-top{padding-bottom:28px}.hero-intro{font-size:15px;line-height:1.8;margin-top:24px}.hero-intro .text-link{font-size:14px;width:180px}.film-screen{margin-inline:-20px}.film-control{top:10px;right:12px;min-height:36px;padding:6px 10px;font-size:12px}.film-control .icon{width:15px;height:15px}.film figcaption{display:block;padding:0 0 12px;font-size:12px}.film video{aspect-ratio:720/820}.film figcaption>span{display:block}.film figcaption>span:first-child{font-size:13px;margin-bottom:3px}.section{padding-block:62px}h2{font-size:35px}.intro{gap:24px}.intro-copy p{font-size:17px}.intro-copy .text-link{margin-top:18px;font-size:14px}.section-heading{margin-bottom:29px}.section-heading>p{font-size:14px;margin-top:21px}.visual-sogu{height:295px;padding:20px}.visual-sogu .visual-word{top:22px;left:22px;font-size:68px}.visual-sogu img{width:110%;max-width:none;margin-top:75px;margin-left:0}.project-info{grid-template-columns:1fr;gap:15px;padding-top:21px}.project-info p{font-size:15px}.project-info h3{font-size:24px}.project-info .project-type{font-size:12px;margin-top:7px}.visit-circle{width:40px;height:40px;right:16px;bottom:16px}.visit-circle .icon{width:21px;height:21px}.project-pair{grid-template-columns:1fr;gap:40px;margin-top:40px}.project-offset{margin-top:0}.project-pair .project-visual{height:345px;padding:115px 26px 0}.project-pair .visual-word{font-size:68px;top:25px;left:26px}.visual-geo img{width:110%}.visual-image img{width:100%}.project-pair .project-info{gap:15px}.tool-index{padding-top:42px;margin-top:50px;gap:26px}.tool-index h3{font-size:26px}.tool-index .text-link{font-size:14px;margin-top:16px}.tool-list summary{min-height:80px;flex-wrap:wrap;align-content:center;gap:0 12px}.tool-list summary>span:first-child{font-size:17px;flex-basis:100%}.tool-list summary>span+span{font-size:12px;margin-top:4px}.tool-list details>div{font-size:14px}.approach .wrap{width:calc(100% - 32px)}.approach .section-heading{padding-inline:4px}.flow-tabs{padding:16px 10px;gap:6px}.flow-tabs button{font-size:12px;padding:8px 10px;min-height:44px;white-space:nowrap}.flow-tabs .icon{width:14px}.flow-body{padding:4px 22px 30px}.flow-drawing{height:275px}.source-sheet{width:126px;padding:13px}.sheet-c{top:166px}.flow-target{right:0;top:104px}.flow-target svg{width:52px;height:52px}.flow-copy h3{font-size:25px}.flow-copy>p{font-size:14px;margin-top:15px}.flow-copy .demo-note{font-size:12px}.result-sheet{inset:28px 5% 27px;padding:22px}.method{grid-template-columns:1fr;gap:25px;margin-top:32px;padding:0 4px}.method>div{padding-top:18px}.method h3{font-size:20px}.method p{font-size:14px;margin-top:9px}.lab{grid-template-columns:1fr;gap:34px}.founder-image{max-width:280px}.founder-image>span>span{display:inline;margin-left:8px;font-size:12px}.founder-copy h2{font-size:35px}.founder-copy p{margin-top:22px;font-size:16px}.founder-copy .text-link{margin-top:21px;font-size:15px}.contact h2{font-size:39px}.contact p{font-size:15px;margin-top:22px}.contact .button{font-size:14px;gap:24px;margin-top:28px;padding:14px 18px}.contact-ways>a{font-size:17px;gap:12px;padding:21px 0}.contact-ways>a>span{font-size:12px;min-width:40px}.contact-ways>p{font-size:12px}.footer-top{padding-bottom:26px}.footer-brand{font-size:19px}.footer-top .text-link{font-size:12px;gap:12px}.footer-top .icon{width:19px}.footer-bottom{display:block;font-size:12px}.footer-bottom>p{margin-top:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}.project-visual:hover img,.text-link:hover .icon{transform:none}}

/* Rounded media and controls — user direction, 2026-10-08. */
.film-screen,.project-visual{border-radius:28px}
.workflow{border-radius:28px}
.button,.hd .hd-btn,.film-control{border-radius:14px}
.flow-tabs button{border-radius:12px}
.project-visual img{border-radius:12px}
.source-sheet,.result-sheet{border-radius:12px}
.founder-image img{border-radius:28px}
.footer-top .text-link{flex-shrink:0}
.footer-top .icon{width:20px;height:20px}
.method-tech{display:block;margin-top:20px;font-size:12px;color:#dfeb84;font-weight:550;line-height:1.7}
@media(max-width:560px){.film-screen{margin-inline:0;border-radius:22px}.project-visual,.workflow{border-radius:22px}.hd .hd-btn{border-radius:11px}.hero h1{line-height:1.22}.hero-intro{font-size:15px}}
