:root{color:#172537;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--text:#172537;--text-soft:#536279;--text-faint:#627086;--brand:#0f62fe;--brand-strong:#0a4ed2;--brand-soft:#eaf2ff;--line:#dee5ee;--bg-soft:#f5f7fa;--max-width:1180px;background:#fff;font-family:Inter,Pretendard,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{min-width:320px;margin:0}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}svg{max-width:100%;display:block}h1,h2,h3,h4,p{word-break:keep-all;overflow-wrap:anywhere}h1,h2,h3,h4{text-wrap:balance}p{line-height:1.8}a:focus-visible,button:focus-visible{outline:3px solid var(--brand);outline-offset:4px}[hidden]{display:none!important}.container{width:min(calc(100% - 48px), var(--max-width));margin-inline:auto}.page-shell{min-height:100vh}.skip-link{z-index:100;color:#fff;background:var(--brand);border-radius:8px;padding:12px 20px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:50;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:24px;min-height:80px;display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{width:44px;height:44px;color:var(--brand);flex:0 0 44px;place-items:center;display:grid}.brand-mark svg{width:44px;height:44px}.brand-copy{gap:3px;min-width:0;display:grid}.brand-name{letter-spacing:-.035em;white-space:nowrap;font-size:18px;font-weight:800;line-height:1.2}.brand-tagline{color:var(--text-faint);letter-spacing:.015em;white-space:nowrap;font-size:10px}.site-nav{color:var(--text-soft);gap:23px;font-size:13px;display:flex}.site-nav a{white-space:nowrap;padding-block:14px;transition:color .2s}.site-nav a:hover{color:var(--brand)}.header-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.lang-switch{border:1px solid var(--line);border-radius:8px;align-items:center;padding:3px;display:flex}.lang-switch button{color:var(--text-soft);background:0 0;border:0;border-radius:5px;min-height:36px;padding:0 10px;font-size:12px;font-weight:600}.lang-switch button.active{color:var(--brand);background:var(--brand-soft)}.menu-toggle{border:1px solid var(--line);width:44px;height:44px;color:var(--text);background:#fff;border-radius:8px;justify-content:center;align-items:center;display:none}.menu-toggle svg{width:22px;height:22px}.mobile-navigation{border-top:1px solid var(--line);max-height:calc(100dvh - 64px);display:none;overflow-y:auto}.mobile-navigation .container{padding-block:8px 20px;display:grid}.mobile-navigation a:not(.button){border-bottom:1px solid var(--line);justify-content:space-between;padding:14px 4px;font-size:15px;display:flex}.mobile-navigation .button{margin-top:16px}.mobile-navigation a span{color:var(--brand)}.mobile-navigation .button span{color:#fff}.button{text-align:center;border-radius:8px;justify-content:center;align-items:center;gap:18px;min-height:48px;padding:12px 20px;font-size:14px;font-weight:700;line-height:1.4;transition:background .2s,border-color .2s;display:inline-flex}.button.primary{background:var(--brand);color:#fff;border:1px solid var(--brand)}.button.primary:hover{background:var(--brand-strong);border-color:var(--brand-strong)}.button.secondary{border:1px solid var(--line);background:#fff}.button.secondary:hover{border-color:var(--brand)}.button.compact{min-height:42px;padding:10px 16px;font-size:13px}.button.full-width{width:100%;margin-top:24px}.button-row{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.eyebrow,.mini-label{letter-spacing:.06em;color:var(--brand);font-size:12px;font-weight:700}.eyebrow{align-items:center;gap:9px;display:flex}.eyebrow:before{content:"";background:currentColor;width:16px;height:2px}.section-header{max-width:780px;margin-bottom:40px}.section-header h2{letter-spacing:-.045em;white-space:pre-line;margin:16px 0 0;font-size:clamp(28px,3vw,40px);line-height:1.35}.section-header p{color:var(--text-soft);margin:16px 0 0;font-size:16px}.section{border-top:1px solid var(--line);padding:88px 0}.section-soft{background:var(--bg-soft)}.split-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:70px;display:grid}.split-layout .section-header{margin-bottom:0}.body-copy p{color:var(--text-soft);margin:0 0 16px;font-size:16px}.tag-list{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.tag-list span{color:var(--text-soft);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:5px;padding:7px 10px;font-size:12px}.hero-section{background:radial-gradient(at 95% 0,#edf3ff,#0000 55%),#fff;padding:72px 0 80px}.hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:center;gap:64px;display:grid}.pill-badge{color:var(--text-soft);word-break:keep-all;align-items:center;gap:8px;font-size:12px;font-weight:600;line-height:1.7;display:flex}.status-dot{background:var(--brand);border-radius:50%;flex:0 0 6px;width:6px;height:6px}.hero-copy-block h1{letter-spacing:-.055em;white-space:pre-line;margin:20px 0 0;font-size:clamp(40px,4.4vw,60px);line-height:1.22}.hero-description{color:var(--text-soft);margin:24px 0 0;font-size:17px}.hero-subdescription{color:var(--text-faint);margin:12px 0 0;font-size:14px}.hero-panels{gap:20px;display:grid}.highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.highlight-card{border-top:2px solid var(--brand);padding:22px 0}.highlight-card:nth-child(2){border-color:#16836d}.highlight-card:nth-child(2) .mini-label{color:#16836d}.highlight-card h3{letter-spacing:-.04em;margin:12px 0 0;font-size:25px;line-height:1.3}.highlight-card p{color:var(--text-soft);margin:12px 0 0;font-size:14px}.stock-photo{isolation:isolate;background:#1d2c3e;border-radius:12px;min-width:0;margin:0;position:relative;overflow:hidden}.stock-photo img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.stock-photo:after{content:"";pointer-events:none;background:linear-gradient(#0000 35%,#071220e0 100%);position:absolute;inset:0}.stock-photo figcaption{z-index:1;color:#fff;gap:7px;display:grid;position:absolute;bottom:24px;left:24px;right:24px}.stock-photo figcaption strong{letter-spacing:-.025em;word-break:keep-all;overflow-wrap:anywhere;font-size:20px;font-weight:650;line-height:1.4}.stock-photo figcaption span{color:#e0e8f2;font-size:12px;line-height:1.6}.stock-photo figcaption .photo-kicker{letter-spacing:.17em;color:#bfdbff;font-size:10px}.hero-photo{aspect-ratio:3/2}.hero-photo figcaption{bottom:22px}.hero-panels{gap:24px}.hero-panels .highlight-card{padding-bottom:0}.photography-block{margin-top:36px}.stock-gallery{grid-template-rows:repeat(2,228px);grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.gallery-photo-0{grid-area:span 2/span 2}.gallery-photo-1{grid-column:span 2}.gallery-photo-2 figcaption,.gallery-photo-3 figcaption{bottom:18px;left:18px;right:18px}.gallery-photo-2 figcaption strong,.gallery-photo-3 figcaption strong{font-size:17px}.gallery-photo-2 figcaption span,.gallery-photo-3 figcaption span{font-size:11px}.photography-credit{color:var(--text-faint);margin:12px 0 0;font-size:11px}.photography-credit a{text-underline-offset:3px;text-decoration:underline}.photography-credit a:hover{color:var(--brand)}.architecture-block{border-top:1px solid var(--line);margin-top:48px;padding-top:32px}.architecture-intro{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:70px;margin-bottom:28px;display:grid}.architecture-intro h3{letter-spacing:-.035em;margin:0;font-size:20px;line-height:1.5}.architecture-intro p{color:var(--text-soft);margin:0;font-size:14px}.architecture-figure{border:1px solid var(--line);background:#f5f8fc;border-radius:12px;margin:0;padding:22px 28px 28px}.architecture-figure figcaption{letter-spacing:.05em;color:var(--text-faint);font-size:11px}.architecture-stages{grid-template-columns:repeat(4,minmax(0,1fr));gap:38px;margin:24px 0 0;padding:0;list-style:none;display:grid}.architecture-stages li{min-width:0;position:relative}.architecture-stages li:not(:last-child):after{content:"→";color:#90a4bf;font-size:22px;position:absolute;top:14px;right:-26px}.architecture-stages svg{width:42px;height:42px;color:var(--brand)}.architecture-stages h4{margin:16px 0 0;font-size:16px}.architecture-stages p{color:var(--text-soft);margin:6px 0 0;font-size:12px}.service-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:60px;display:grid}.service-item{border-top:1px solid #cfd8e5;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:18px;padding:28px 0;display:grid}.service-index{color:var(--brand);font:12px/2 ui-monospace,monospace}.service-item h3{letter-spacing:-.035em;margin:0;font-size:21px;line-height:1.4}.service-item p{color:var(--text-soft);margin:12px 0 0;font-size:15px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;display:grid}.project-card{min-width:0}.project-visual{color:#426bb0;background:#f3f7fc;border:1px solid #dbe5f1;border-radius:10px;position:relative;overflow:hidden}.project-visual-1{color:#2b638e;background:#f3f8fb}.project-visual-2{color:#23826b;background:#f1f8f5}.project-visual svg{width:100%;height:auto}.example-caption{letter-spacing:.03em;color:var(--text-faint);padding:0 16px 13px;font-size:10px;display:block}.project-copy{padding:20px 0 0}.project-copy h3{letter-spacing:-.035em;margin:0;font-size:20px;line-height:1.4}.project-copy p{color:var(--text-soft);margin:12px 0 0;font-size:15px}.process-timeline{grid-template-columns:repeat(5,minmax(0,1fr));gap:26px;margin:0;padding:0;list-style:none;display:grid}.process-timeline li{min-width:0;position:relative}.process-timeline li:not(:last-child):after{content:"";background:#cbd7e7;height:1px;position:absolute;top:23px;left:56px;right:-26px}.step-number{width:46px;height:46px;color:var(--brand);background:#fff;border:1px solid #bdcee7;border-radius:50%;place-items:center;font:600 13px ui-monospace,monospace;display:grid}.process-timeline h3{letter-spacing:-.035em;margin:22px 0 0;font-size:17px;line-height:1.5}.process-timeline p{color:var(--text-soft);margin:10px 0 0;font-size:13px}.principle-list{margin:0;padding:0;list-style:none}.principle-list li{border-bottom:1px solid var(--line);word-break:keep-all;overflow-wrap:anywhere;grid-template-columns:20px minmax(0,1fr);gap:14px;padding:20px 0;font-size:16px;line-height:1.7;display:grid}.principle-list li:first-child{padding-top:0}.principle-list li span{color:var(--brand)}.contact-section{background:#edf3fb}.contact-box{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:70px;display:grid}.contact-box>*,.split-layout>*,.hero-grid>*{min-width:0}.contact-box h2{letter-spacing:-.045em;white-space:pre-line;margin:16px 0 0;font-size:clamp(28px,3vw,40px);line-height:1.35}.contact-lead{color:var(--text-soft);margin:22px 0 0;font-size:16px}.contact-subcopy{color:var(--text-faint);margin:12px 0 0;font-size:14px}.contact-panel{background:#fff;border:1px solid #d4dfec;border-radius:12px;min-width:0;padding:30px}.contact-caption{color:var(--text-faint);font-size:12px}.contact-caption.spaced{margin-top:24px}.email-link{letter-spacing:-.035em;overflow-wrap:anywhere;max-width:100%;margin-top:8px;font-size:clamp(19px,2.2vw,28px);font-weight:700;line-height:1.4;display:inline-block}.email-link:hover{color:var(--brand)}.contact-panel .tag-list{margin-top:12px}.contact-panel .tag-list span{background:var(--bg-soft);border-color:#0000}.site-footer{border-top:1px solid var(--line);padding:28px 0}.footer-inner{color:var(--text-faint);justify-content:space-between;align-items:center;gap:20px;font-size:12px;display:flex}.footer-brand{color:var(--text);align-items:center;gap:9px;display:flex}.footer-brand svg{width:28px;height:28px;color:var(--brand)}@media (width<=1000px){.desktop-only{display:none}.menu-toggle{display:flex}.mobile-navigation:not([hidden]){display:block}.header-inner{min-height:72px}.hero-grid{grid-template-columns:minmax(0,1fr);gap:40px}.hero-copy-block{max-width:760px}.hero-copy-block h1{font-size:clamp(38px,6vw,56px)}.hero-panels{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:28px}.highlight-grid{grid-template-columns:minmax(0,1fr);gap:0}.highlight-card{padding:16px 0}.highlight-card h3{font-size:22px}.highlight-card p{margin-top:8px}.split-layout,.architecture-intro,.contact-box{gap:36px}.project-grid{gap:18px}.project-copy h3{font-size:18px}.process-timeline{gap:18px}.process-timeline li:not(:last-child):after{right:-18px}}@media (width>=701px) and (width<=1000px){.hero-panels{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center}.stock-gallery{grid-template-rows:repeat(2,200px);gap:12px}.stock-photo figcaption{bottom:20px;left:20px;right:20px}}@media (width<=700px){html{scroll-padding-top:84px}.container{width:calc(100% - 40px)}.header-inner{gap:12px;min-height:64px}.brand{gap:8px}.brand-mark,.brand-mark svg{width:34px;height:34px}.brand-mark{flex-basis:34px}.brand-name{font-size:16px}.brand-tagline{display:none}.header-actions{gap:8px}.lang-switch{padding:2px}.lang-switch button{min-height:38px;padding:0 8px;font-size:11px}.hero-section{padding:42px 0 52px}.hero-copy-block h1{letter-spacing:-.05em;font-size:clamp(30px,7.5vw,43px);line-height:1.3}.hero-description{margin-top:20px;font-size:16px}.hero-subdescription{font-size:14px}.hero-panels{grid-template-columns:minmax(0,1fr);gap:20px}.highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.highlight-card h3{font-size:21px}.highlight-card p{font-size:13px}.stock-gallery{grid-template-rows:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-photo-0,.gallery-photo-1{aspect-ratio:16/10;grid-area:auto/span 2}.gallery-photo-2,.gallery-photo-3{aspect-ratio:4/5}.stock-photo figcaption{bottom:20px;left:20px;right:20px}.stock-photo figcaption strong{font-size:18px}.gallery-photo-2 figcaption,.gallery-photo-3 figcaption{bottom:14px;left:12px;right:12px}.gallery-photo-2 figcaption strong,.gallery-photo-3 figcaption strong{font-size:15px}.gallery-photo-2 figcaption span,.gallery-photo-3 figcaption span{font-size:10px}.photography-block{margin-top:28px}.photography-credit{font-size:10px}.section{padding:56px 0}.section-header{margin-bottom:28px}.section-header h2,.contact-box h2{font-size:clamp(27px,6.4vw,34px);line-height:1.4}.split-layout,.architecture-intro,.contact-box{grid-template-columns:minmax(0,1fr);gap:24px}.architecture-block{margin-top:32px;padding-top:24px}.architecture-intro{gap:10px;margin-bottom:20px}.architecture-figure{padding:20px}.architecture-stages{grid-template-columns:minmax(0,1fr);gap:30px}.architecture-stages li{grid-template-columns:40px minmax(0,1fr);column-gap:18px;display:grid}.architecture-stages svg{grid-row:span 2;align-self:center;width:36px;height:36px}.architecture-stages h4{text-wrap:initial;margin:0}.architecture-stages p{margin:4px 0 0}.architecture-stages li:not(:last-child):after{content:"";background:#bbcee5;width:1px;height:25px;top:100%;left:18px;right:auto}.service-list{grid-template-columns:minmax(0,1fr)}.service-item{grid-template-columns:24px minmax(0,1fr);gap:12px;padding:22px 0}.service-item h3{font-size:19px}.service-item p{margin-top:8px;font-size:14px}.project-grid{grid-template-columns:minmax(0,1fr);gap:34px}.project-copy{padding-top:16px}.project-copy h3{font-size:20px}.project-copy p{margin-top:8px;font-size:14px}.process-timeline{grid-template-columns:minmax(0,1fr);gap:26px}.process-timeline li{grid-template-columns:44px minmax(0,1fr);column-gap:18px;display:grid}.step-number{grid-row:span 2;width:40px;height:40px}.process-timeline h3{text-wrap:initial;margin:0;font-size:18px}.process-timeline p{margin-top:6px;font-size:14px}.process-timeline li:not(:last-child):after{width:1px;height:auto;inset:48px auto -18px 19px}.principle-list li{padding:18px 0;font-size:15px}.contact-panel{padding:24px}.email-link{font-size:24px}.footer-inner{flex-direction:column;align-items:flex-start;gap:14px}}@media (width<=380px){.container{width:calc(100% - 32px)}.header-inner{gap:8px}.brand-name{font-size:14px}.brand{gap:5px}.brand-mark,.brand-mark svg{width:30px;height:30px}.brand-mark{flex-basis:30px}.header-actions{gap:6px}.lang-switch button{padding-inline:6px}.highlight-card h3{font-size:19px}.highlight-grid{gap:14px}.contact-panel{padding:20px}.email-link{font-size:21px}.button{gap:12px;padding-inline:16px;font-size:13px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}
