@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-2xl:42rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--leading-tight:1.25;--leading-snug:1.375;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-0{top:0}.top-\[-6\.25rem\]{top:-6.25rem}.-left-8{left:calc(var(--spacing) * -8)}.isolate{isolation:isolate}.z-10{z-index:10}.z-40{z-index:40}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-5{height:calc(var(--spacing) * 5)}.h-10{height:calc(var(--spacing) * 10)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-\[25rem\]{height:25rem}.min-h-screen{min-height:100vh}.w-5{width:calc(var(--spacing) * 5)}.w-10{width:calc(var(--spacing) * 10)}.w-14{width:calc(var(--spacing) * 14)}.w-\[25rem\]{width:25rem}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[1200px\]{max-width:1200px}.max-w-\[var\(--max-width\)\]{max-width:var(--max-width)}.max-w-none{max-width:none}.min-w-0{min-width:0}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-9{min-width:calc(var(--spacing) * 9)}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:3.40282e38px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-\[var\(--line\)\]{border-color:var(--line)}.border-\[var\(--line-strong\)\]{border-color:var(--line-strong)}.object-contain{object-fit:contain}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pb-14{padding-bottom:calc(var(--spacing) * 14)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.text-\[var\(--accent-ink\)\]{color:var(--accent-ink)}.text-\[var\(--muted\)\]{color:var(--muted)}.text-\[var\(--text\)\]{color:var(--text)}.opacity-\[0\.028\]{opacity:.028}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:text-\[var\(--accent-ink\)\]:hover{color:var(--accent-ink)}}@media (min-width:48rem){.md\:sticky{position:sticky}.md\:top-24{top:calc(var(--spacing) * 24)}.md\:top-\[-6\.5rem\]{top:-6.5rem}.md\:left-\[calc\(50\%-610px\)\]{left:calc(50% - 610px)}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-\[34rem\]{height:34rem}.md\:w-\[34rem\]{width:34rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[180px_1fr\]{grid-template-columns:180px 1fr}.md\:grid-cols-\[200px_1fr\]{grid-template-columns:200px 1fr}.md\:grid-cols-\[220px_1fr\]{grid-template-columns:220px 1fr}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:gap-10{gap:calc(var(--spacing) * 10)}.md\:self-start{align-self:flex-start}.md\:py-14{padding-block:calc(var(--spacing) * 14)}.md\:py-18{padding-block:calc(var(--spacing) * 18)}.md\:pt-1{padding-top:var(--spacing)}.md\:pt-8{padding-top:calc(var(--spacing) * 8)}.md\:pb-18{padding-bottom:calc(var(--spacing) * 18)}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.md\:opacity-\[0\.03\]{opacity:.03}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:80rem){.xl\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}}:root{--background:#f6f3ed;--surface:#fffdf8;--surface-strong:#fff;--surface-muted:#ebe7dd;--text:#171a18;--muted:#676b64;--line:#171a181f;--line-strong:#171a1838;--accent:#345f52;--accent-ink:#24483e;--accent-soft:#e2ebe5;--secondary:#45556f;--secondary-soft:#e4e9ef;--warm:#986247;--warm-soft:#efe2da;--glass:#fffdf8b8;--glass-hover:#fffdf8e0;--danger:#9b2c2c;--shadow-soft:0 18px 48px #1f221f14;--shadow-hover:0 22px 56px #1f221f1f;--motion-fast:.15s;--motion-base:.21s;--ease-apple:cubic-bezier(.22, 1, .36, 1);--ease-press:cubic-bezier(.2, 0, 0, 1);--max-width:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--text);text-rendering:geometricprecision;background:linear-gradient(#fffdf8f0,#f6f3edf5),linear-gradient(115deg,#345f5214,#0000 32%),linear-gradient(245deg,#45556f14,#0000 36%);margin:0;font-family:Pretendard JP Variable,Pretendard JP,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;overflow-x:hidden}body:before{z-index:-1;pointer-events:none;content:"";background-image:linear-gradient(#171a1807 1px,#0000 1px),linear-gradient(90deg,#171a1807 1px,#0000 1px);background-size:56px 56px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#00000085,#0000 64%);mask-image:linear-gradient(#00000085,#0000 64%)}html:lang(ko) body{font-feature-settings:"ss05"}a{color:inherit;text-decoration:none}main h1,main h2,main h3,main p,main li,main span{overflow-wrap:anywhere}button,input,textarea,select{font:inherit}::selection{background:#1f7a682e}.focus-ring{outline:none}.focus-ring:focus-visible{outline-offset:3px;outline:3px solid #2f8c7559}.surface-card{border:1px solid var(--line);background:var(--surface);box-shadow:0 1px 0 #ffffffbf, var(--shadow-soft);transition:transform var(--motion-base) var(--ease-apple), border-color var(--motion-base) var(--ease-apple), background-color var(--motion-base) var(--ease-apple), box-shadow var(--motion-base) var(--ease-apple);border-radius:16px}.surface-card-muted{border:1px solid var(--line);transition:transform var(--motion-base) var(--ease-apple), border-color var(--motion-base) var(--ease-apple), background-color var(--motion-base) var(--ease-apple), box-shadow var(--motion-base) var(--ease-apple);background:#fffdf8b8;border-radius:14px}.liquid-control,.glass-panel{border:1px solid var(--line);background:linear-gradient(180deg, #ffffffc7, #fffdf88a), var(--glass);-webkit-backdrop-filter:blur(18px)saturate(1.15);transition:transform var(--motion-fast) var(--ease-apple), border-color var(--motion-fast) var(--ease-apple), background-color var(--motion-fast) var(--ease-apple), box-shadow var(--motion-fast) var(--ease-apple);border-radius:999px;box-shadow:0 10px 26px #1f221f14,inset 0 1px #ffffffe6,inset 0 -1px #171a180f}.liquid-popover,.glass-panel-subtle{border:1px solid var(--line);box-shadow:var(--shadow-soft), inset 0 1px 0 #ffffffc7;-webkit-backdrop-filter:blur(18px)saturate(1.08);background:#fffdf8d1;border-radius:16px}.glass-button,.button-control{border:1px solid var(--line);background:var(--surface);transition:transform var(--motion-fast) var(--ease-apple), border-color var(--motion-fast) var(--ease-apple), background-color var(--motion-fast) var(--ease-apple), box-shadow var(--motion-fast) var(--ease-apple);border-radius:999px;box-shadow:0 8px 18px #1f221f0f}.glass-button:hover,.button-control:hover,.glass-button:focus-visible,.button-control:focus-visible,.liquid-control:hover,.liquid-control:focus-visible{border-color:var(--line-strong);background:var(--surface-strong);transform:translateY(-1px);box-shadow:0 12px 26px #1f221f17}.glass-button:active,.button-control:active,.liquid-control:active,.nav-pill:active{transition-duration:80ms;transition-timing-function:var(--ease-press);transform:scale(.985)}.glass-button-primary{background:var(--text);color:#fff;border-color:#17624f47;box-shadow:0 14px 32px #171a182e}.glass-button-primary:hover,.glass-button-primary:focus-visible{background:var(--accent-ink);border-color:#171a186b}.interactive-card:hover,.interactive-card:focus-within,.project-card:hover,.project-card:focus-within{border-color:var(--line-strong);background:var(--surface-strong);box-shadow:var(--shadow-hover);transform:translateY(-.16rem)}.interactive-subtle:hover,.interactive-subtle:focus-within{border-color:var(--line-strong);background:#fffdf8e6;box-shadow:0 14px 34px #1f221f14}.nav-pill{transition:transform var(--motion-fast) var(--ease-apple), background-color var(--motion-fast) var(--ease-apple), color var(--motion-fast) var(--ease-apple), box-shadow var(--motion-fast) var(--ease-apple);position:relative}.nav-pill:hover,.nav-pill:focus-visible{color:var(--accent-ink);background:#ffffffa8;transform:translateY(-1px);box-shadow:inset 0 0 0 1px #171a180a}.nav-pill.locale-active:hover,.nav-pill.locale-active:focus-visible{background:var(--text);color:#fff}.brand-pill:hover .brand-mark,.brand-pill:focus-visible .brand-mark{transform:rotate(-4deg)scale(1.04)}.brand-mark{transition:transform var(--motion-base) var(--ease-apple)}.soft-label{color:var(--accent-ink);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700}.home-demo-marquee-section{margin-bottom:-3rem;padding:.5rem 0 0;overflow:visible}.home-demo-marquee{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;box-shadow:none;background:0 0;border-block:0;scroll-padding-inline:1.3rem;position:relative;overflow:hidden}.home-demo-marquee:before,.home-demo-marquee:after{z-index:2;pointer-events:none;content:"";width:min(8vw,6rem);position:absolute;top:0;bottom:0}.home-demo-marquee:before{background:linear-gradient(90deg,#f6f3ede0,#0000);left:0}.home-demo-marquee:after{background:linear-gradient(270deg,#f6f3ede0,#0000);right:0}.home-demo-marquee-track{backface-visibility:hidden;will-change:transform;gap:1.3rem;width:max-content;padding:2.4rem 1.3rem 7.2rem;animation:88s linear infinite demo-marquee-slide;display:flex;transform:translate(0)}.home-demo-marquee:hover .home-demo-marquee-track,.home-demo-marquee:focus-within .home-demo-marquee-track{animation-play-state:paused}.demo-marquee-card{z-index:0;scroll-snap-align:center;-webkit-backdrop-filter:blur(22px)saturate(1.22);width:clamp(20rem,41vw,34rem);min-width:0;transition:transform var(--motion-base) var(--ease-apple), border-color var(--motion-base) var(--ease-apple), background-color var(--motion-base) var(--ease-apple), box-shadow var(--motion-base) var(--ease-apple);background:linear-gradient(#ffffff94,#fffdf83d),#fffdf86b;border:1px solid #ffffff9e;border-radius:22px;padding:.7rem;display:block;position:relative;overflow:hidden;box-shadow:0 18px 44px #1f221f1f,inset 0 1px #ffffffe6,inset 0 -1px #171a180d}.demo-marquee-card:before{z-index:1;pointer-events:none;content:"";opacity:.72;background:linear-gradient(135deg,#ffffffb8,#0000 34%),linear-gradient(315deg,#ffffff52,#0000 42%);border-radius:21px;position:absolute;inset:.08rem}.demo-marquee-card:hover,.demo-marquee-card:focus-visible{background:linear-gradient(#ffffffb8,#fffdf84d),#fffdf88a;border-color:#ffffffdb;transform:translateY(-.12rem);box-shadow:0 30px 76px #1f221f33,inset 0 1px #ffffffeb}.demo-marquee-visual{aspect-ratio:16/9;background:linear-gradient(135deg, #345f521f, #45556f1f), var(--surface-muted);border:1px solid #171a1814;border-radius:16px;place-items:center;min-height:11rem;display:grid;position:relative;overflow:hidden}.demo-marquee-visual-portrait{background:radial-gradient(circle at 50% 16%, #ffffff6b, transparent 36%), linear-gradient(135deg, #345f521f, #45556f1f), var(--surface-muted)}.demo-marquee-visual-diagram{background:linear-gradient(135deg,#345f5224,#45556f1f),linear-gradient(#fffdf8b8,#ebe7dd99)}.demo-marquee-visual:after{pointer-events:none;content:"";background:linear-gradient(#0000 44%,#171a1857),linear-gradient(135deg,#ffffff3d,#0000 34%);position:absolute;inset:0}.demo-marquee-visual svg{z-index:2;width:2.35rem;height:2.35rem;color:var(--text);-webkit-backdrop-filter:blur(14px);background:#fffdf8a8;border:1px solid #ffffff8a;border-radius:999px;padding:.55rem;position:absolute;bottom:.85rem;right:.85rem;box-shadow:0 10px 26px #1f221f24}.demo-marquee-image{object-fit:cover;filter:saturate(.98)contrast(1.02);width:100%;height:100%;transition:transform var(--motion-base) var(--ease-apple);display:block}.demo-phone-frame{z-index:1;width:min(42%,9.6rem);height:88%;transition:transform var(--motion-base) var(--ease-apple);background:#171a18e0;border:1px solid #ffffffad;border-radius:1.8rem;padding:.45rem;position:relative;overflow:hidden;box-shadow:0 18px 44px #171a1842,inset 0 1px #ffffff38}.demo-phone-frame:before{z-index:2;content:"";background:#ffffff61;border-radius:999px;width:32%;height:.34rem;position:absolute;top:.32rem;left:50%;transform:translate(-50%)}.demo-phone-frame .demo-marquee-image{border-radius:1.35rem}.demo-marquee-card:hover .demo-marquee-visual-landscape>.demo-marquee-image,.demo-marquee-card:focus-visible .demo-marquee-visual-landscape>.demo-marquee-image{transform:scale(1.09)}.demo-marquee-card:hover .demo-phone-frame,.demo-marquee-card:focus-visible .demo-phone-frame{transform:scale(1.08)}.demo-diagram-placeholder{z-index:1;width:min(82%,22rem);transition:transform var(--motion-base) var(--ease-apple);grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:.65rem;display:grid;position:relative}.demo-diagram-node{aspect-ratio:1;-webkit-backdrop-filter:blur(12px);background:linear-gradient(#ffffff9e,#fffdf833),#fffdf857;border:1px solid #ffffff9e;border-radius:18px;box-shadow:0 14px 34px #1f221f1a,inset 0 1px #ffffffb8}.demo-diagram-node-secondary{border-radius:999px}.demo-diagram-line{background:#171a1833;border-radius:999px;width:2.2rem;height:2px}.demo-marquee-card:hover .demo-diagram-placeholder,.demo-marquee-card:focus-visible .demo-diagram-placeholder{transform:scale(1.08)}.demo-marquee-title{z-index:2;color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin-top:.72rem;font-size:.92rem;font-weight:760;line-height:1.35;position:relative;overflow:hidden}.demo-marquee-proof{z-index:2;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:.18rem;font-size:.78rem;line-height:1.45;position:relative;overflow:hidden}@keyframes demo-marquee-slide{0%{transform:translate(0)}to{transform:translate3d(var(--demo-marquee-translate,0), 0, 0)}}.evidence-line{color:var(--muted);padding-left:1rem;font-size:.88rem;line-height:1.65;position:relative}.evidence-line:before{background:var(--warm);content:"";border-radius:999px;width:.36rem;height:.36rem;position:absolute;top:.7rem;left:0}.journey-teaser{border-top:1px solid var(--line);padding-top:1.5rem}.journey-mini-stage{border-left:1px solid var(--line-strong);min-width:0;padding-left:1rem}.journey-mini-stage h3{color:var(--text);margin-top:.6rem;font-size:.98rem;font-weight:700;line-height:1.45}.journey-mini-stage p:last-child{color:var(--muted);margin-top:.55rem;font-size:.82rem;line-height:1.75}.portfolio-section{position:relative}.section-kicker{transition:color var(--motion-fast) var(--ease-apple), transform var(--motion-fast) var(--ease-apple)}.portfolio-section:hover .section-kicker,.portfolio-section:focus-within .section-kicker{color:var(--warm);transform:translate(.18rem)}.detail-section{transition:border-color var(--motion-base) var(--ease-apple), background-color var(--motion-base) var(--ease-apple)}.detail-section:hover,.detail-section:focus-within{border-color:var(--line-strong)}.detail-section .soft-label{transition:color var(--motion-fast) var(--ease-apple), transform var(--motion-fast) var(--ease-apple)}.detail-section:hover .soft-label,.detail-section:focus-within .soft-label{color:var(--warm);transform:translate(.12rem)}.activity-story{gap:clamp(2.5rem,6vw,5rem);display:grid}.activity-story-entry{gap:1.4rem;min-width:0;display:grid}.activity-story-copy{color:var(--muted);font-size:.95rem;line-height:1.95}.activity-story-figure{justify-self:center;width:100%;max-width:42rem;margin:0}.activity-story-figure-portrait{max-width:22rem}.activity-story-image-frame{background:#fffdf88f;border:1px solid #ffffffb8;border-radius:20px;justify-content:center;align-items:center;min-width:0;padding:clamp(.45rem,1vw,.7rem);display:flex;overflow:hidden;box-shadow:0 18px 44px #1f221f1a}.activity-story-image{object-fit:contain;border-radius:14px;width:100%;max-width:100%;height:auto;max-height:34rem;display:block}.activity-story-figure figcaption{color:var(--muted);text-align:center;margin-top:.75rem;font-size:.76rem;line-height:1.65}@media (min-width:900px){.activity-story-entry-with-media{grid-template-columns:minmax(14rem,.82fr) minmax(20rem,1.18fr);align-items:center;gap:clamp(1.75rem,4vw,3.5rem)}.activity-story-entry-with-media:nth-child(2n) .activity-story-figure{order:-1}.activity-story-entry-with-media .activity-story-figure-portrait{max-width:19rem}}.liquid-chip{border:1px solid var(--line);color:var(--muted);background:#fffdf8ad;border-radius:999px}.tech-chip{border:1px solid var(--line);min-width:0;color:var(--muted);transition:transform var(--motion-fast) var(--ease-apple), border-color var(--motion-fast) var(--ease-apple), background-color var(--motion-fast) var(--ease-apple), color var(--motion-fast) var(--ease-apple);background:#fffdf8b3;border-radius:999px;align-items:center;gap:.4rem;padding:.24rem .56rem;font-size:.75rem;line-height:1.35;display:inline-flex}.tech-chip:hover{border-color:var(--line-strong);color:var(--text);background:#fffdf8eb;transform:translateY(-1px)}.tech-chip-logo{flex-shrink:0;justify-content:center;align-items:center;width:1rem;height:1rem;display:inline-flex}.tech-chip-logo img{object-fit:contain;width:.92rem;height:.92rem;display:block}.locale-active{background:var(--text);color:#fff}.diagram-card{border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(16px);border-radius:16px;width:100%;max-width:100%;padding:1rem;overflow-x:auto;box-shadow:inset 0 1px #ffffffb8}.architecture-node{border:1px solid var(--line);background:linear-gradient(#fffdf8f5,#f6f3edbd);border-radius:14px}.technology-map-group{border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:hidden;box-shadow:0 1px #ffffffbf}.tech-logo-card{border:1px solid var(--line);min-width:0;transition:transform var(--motion-fast) var(--ease-apple), border-color var(--motion-fast) var(--ease-apple), background-color var(--motion-fast) var(--ease-apple);background:#fffdf8b3;border-radius:12px;padding:.7rem}.tech-logo-card:hover{border-color:var(--line-strong);background:#fffdf8f0;transform:translateY(-1px)}.tech-logo-mark{border:1px solid var(--line-strong);width:2.4rem;height:2.4rem;color:var(--text);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:.1rem;display:inline-flex}.project-reading-flow{min-width:0}.project-reading-flow>p{text-wrap:wrap}.journey-fit-callout{border-left:3px solid #9862477a;max-width:none;padding-left:1rem}.journey-fit-callout p:last-child{color:var(--muted);text-wrap:wrap;margin-top:.55rem;font-size:.96rem;line-height:1.85}.journey-timeline{border-top:1px solid var(--line);gap:0;display:grid}.journey-stage-row{border-bottom:1px solid var(--line);gap:1rem;padding:2rem 0;display:grid}.journey-stage-marker{align-items:flex-start;display:flex}.journey-stage-marker span{border:1px solid var(--line-strong);background:var(--surface);width:2.4rem;height:2.4rem;color:var(--accent-ink);border-radius:999px;justify-content:center;align-items:center;font-size:.76rem;font-weight:800;display:inline-flex}.journey-stage-content{min-width:0}.journey-stage-content h2{color:var(--text);margin-top:.75rem;font-size:1.45rem;font-weight:750;line-height:1.35}.journey-stage-summary{max-width:none;color:var(--muted);text-wrap:wrap;margin-top:.9rem;line-height:1.9}.journey-stage-visual{border:1px solid var(--line);background:var(--surface);max-width:64rem;box-shadow:var(--shadow-soft);border-radius:18px;margin:1.5rem 0 0;overflow:hidden}.journey-stage-visual img{width:100%;height:auto;display:block}.journey-stage-visual figcaption{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;font-size:.78rem;line-height:1.6;display:flex}.journey-stage-label{color:var(--warm);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:800}.journey-stage-list{color:var(--muted);gap:.5rem;margin-top:.75rem;font-size:.9rem;line-height:1.75;display:grid}.journey-stage-list li{padding-left:.95rem;position:relative}.journey-stage-list li:before{background:var(--accent-ink);content:"";border-radius:999px;width:.32rem;height:.32rem;position:absolute;top:.72rem;left:0}.journey-stage-next{color:var(--muted);text-wrap:wrap;margin-top:.75rem;font-size:.9rem;line-height:1.75}.journey-direction{border:1px solid var(--line);background:#fffdf8bd;border-radius:16px;margin-top:2.5rem;padding:1.25rem}.journey-direction>p:not(.soft-label){max-width:none;color:var(--muted);text-wrap:wrap;margin-top:.75rem;line-height:1.9}@media (min-width:768px){.journey-stage-row{grid-template-columns:4rem minmax(0,1fr);padding:2.4rem 0}}.project-narrative-block{min-width:0}.project-narrative-block h3{color:var(--text);transition:color var(--motion-fast) var(--ease-apple);margin:0;font-size:.95rem;font-weight:700}.project-narrative-block div{gap:.75rem;margin-top:.85rem;display:grid}.project-narrative-block p{max-width:none;color:var(--muted);text-wrap:wrap;margin:0;font-size:.92rem;line-height:1.9}.project-narrative-block:hover h3,.project-narrative-block:focus-within h3{color:var(--accent-ink)}.meta-item{transition:transform var(--motion-fast) var(--ease-apple), color var(--motion-fast) var(--ease-apple);border-radius:12px}.meta-item svg{transition:transform var(--motion-fast) var(--ease-apple)}.meta-item:hover{color:var(--text);transform:translateY(-1px)}.meta-item:hover svg{transform:scale(1.06)}.project-logo-badge,.project-detail-logo{border:1px solid var(--line);transition:transform var(--motion-base) var(--ease-apple), border-color var(--motion-base) var(--ease-apple), background-color var(--motion-base) var(--ease-apple), box-shadow var(--motion-base) var(--ease-apple);background:linear-gradient(#ffffffbd,#fffdf880),#fffdf8d1;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 10px 22px #1f221f0f}.project-logo-badge{width:2.7rem;height:2.7rem;padding:.35rem}.project-detail-logo{width:4.2rem;height:4.2rem;padding:.5rem}.project-card .project-logo-badge,.project-card .button-control,.project-card .tech-chip{transition:transform var(--motion-base) var(--ease-apple), border-color var(--motion-base) var(--ease-apple), background-color var(--motion-base) var(--ease-apple), opacity var(--motion-base) var(--ease-apple)}.project-card:hover .project-logo-badge,.project-card:focus-within .project-logo-badge{transform:scale(1.04)}.project-card:hover .button-control,.project-card:focus-within .button-control{transform:translate(.12rem,-.12rem)}.project-card-detail-button{position:relative}.project-card-detail-button:after{opacity:0;pointer-events:none;content:"";border:2px solid #24483e94;border-radius:999px;position:absolute;inset:-.38rem;transform:scale(.88)}.project-card-detail-button-hint{border-color:#24483e94;box-shadow:0 12px 28px #1f221f1a,0 0 0 4px #345f521a}.project-card-detail-button-hint:after{animation:detail-button-hint .76s var(--ease-apple)}.project-card:hover .tech-chip,.project-card:focus-within .tech-chip{border-color:var(--line-strong);background:#fffdf8e6}.project-card-summary,.project-card-focus{text-wrap:wrap}.project-card-summary{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.project-card-focus{opacity:.78;transition:opacity var(--motion-base) var(--ease-apple), border-color var(--motion-base) var(--ease-apple), transform var(--motion-base) var(--ease-apple);border-left:2px solid #98624757;gap:.25rem;padding-left:.8rem;display:grid}.project-card-focus span{color:var(--warm);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:800}.project-card:hover .project-card-focus,.project-card:focus-within .project-card-focus{opacity:1;border-color:#986247b8;transform:translate(.12rem)}.project-media-grid{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;width:100%;max-width:100%;padding:0 0 .75rem;scroll-padding:.25rem;display:flex;overflow:auto hidden}.project-media-grid::-webkit-scrollbar{display:none}.project-media-track,.project-placeholder-media-track{gap:.9rem;width:max-content;display:flex}.project-media-grid-marquee,.project-placeholder-media-grid-marquee{-webkit-mask-image:linear-gradient(90deg,#0000,#000 5rem calc(100% - 5rem),#0000);mask-image:linear-gradient(90deg,#0000,#000 5rem calc(100% - 5rem),#0000)}.project-media-grid-marquee{overflow-x:hidden}.project-media-grid-single{justify-content:center;padding-inline:clamp(1rem,5vw,4rem);overflow-x:hidden}.project-media-grid-single .project-media-track{width:min(64rem,100%)}.project-media-grid-single .project-media-item{flex:100%;width:100%}.project-media-grid-marquee .project-media-track,.project-placeholder-media-grid-marquee .project-placeholder-media-track{backface-visibility:hidden;will-change:transform;animation:76s linear infinite project-media-marquee-slide;transform:translate(0)}.project-media-grid-marquee:hover .project-media-track,.project-media-grid-marquee:focus-within .project-media-track,.project-placeholder-media-grid-marquee:hover .project-placeholder-media-track,.project-placeholder-media-grid-marquee:focus-within .project-placeholder-media-track{animation-play-state:paused}.project-top-media{background:0 0;border-bottom:0;padding:.5rem 0 0;overflow:visible}.project-top-media-inner{width:min(96rem,100% - 2rem);margin-inline:auto}.project-media-showcase{grid-template-columns:minmax(9.5rem,.62fr) minmax(32rem,2fr) minmax(9.5rem,.62fr);align-items:stretch;gap:clamp(.8rem,1.8vw,1.6rem);width:100%;height:clamp(19rem,31vw,25rem);padding:.35rem 0 .75rem;display:grid}.project-media-showcase-center{z-index:2;grid-area:1/2;min-width:0;min-height:0}.project-media-showcase-side{grid-row:1;grid-auto-rows:minmax(0,1fr);align-content:stretch;gap:clamp(.7rem,1.4vw,1.15rem);min-width:0;height:100%;min-height:0;display:grid}.project-media-showcase-left{grid-column:1}.project-media-showcase-right{grid-column:3}.project-media-showcase .project-media-item{scroll-snap-align:none;flex-direction:column;flex:none;width:100%;min-width:0;height:100%;min-height:0;display:flex}.project-media-showcase .project-media-item-featured{border-color:#ffffffd1;box-shadow:0 30px 72px #1f221f26,inset 0 1px #ffffffe0}.project-media-showcase .project-media-item-featured .project-media-frame{flex:1;min-height:0;padding:clamp(.6rem,1vw,.9rem);display:flex}.project-media-showcase .project-media-item-featured .project-media-scrollport{aspect-ratio:auto;height:100%}.project-media-showcase-side .project-media-frame{flex:1;min-height:0;padding:clamp(.38rem,.7vw,.58rem);display:flex}.project-media-showcase-side .project-media-scrollport{aspect-ratio:auto;height:100%}.project-media-showcase-side .project-media-item figcaption{-webkit-line-clamp:1;-webkit-box-orient:vertical;min-height:0;padding:.45rem .65rem .52rem;font-size:.66rem;line-height:1.35;display:-webkit-box;overflow:hidden}.project-media-showcase-support-0{grid-template-columns:minmax(0,1fr) minmax(32rem,50rem) minmax(0,1fr);height:auto}.project-media-showcase-support-0 .project-media-item-featured,.project-media-showcase-support-0 .project-media-item-featured .project-media-frame,.project-media-showcase-support-0 .project-media-item-featured .project-media-scrollport{height:auto}.project-media-showcase-support-0 .project-media-item-featured .project-media-scrollport{aspect-ratio:16/9}@media (max-width:1099px){.project-media-showcase{grid-template-columns:minmax(8rem,.5fr) minmax(28rem,1.8fr) minmax(8rem,.5fr)}}@media (max-width:899px){.project-top-media-inner{width:min(100% - 1.5rem,58rem)}.project-media-showcase,.project-media-showcase-support-0{grid-template-columns:minmax(0,1fr);gap:0;height:auto;padding-bottom:.5rem}.project-media-showcase-center{grid-area:auto/1}.project-media-showcase-side{display:none}.project-media-showcase .project-media-item-featured,.project-media-showcase .project-media-item-featured .project-media-frame{height:auto}.project-media-showcase .project-media-item-featured .project-media-scrollport{aspect-ratio:16/9;height:auto}}@media (max-width:639px){.project-top-media-inner{width:calc(100% - .75rem)}.project-media-showcase .project-media-item-featured .project-media-frame{padding:.48rem}}.project-placeholder-media-grid{scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:.75rem;display:flex;overflow:auto hidden}.project-placeholder-media-grid::-webkit-scrollbar{display:none}.project-placeholder-media{scroll-snap-align:start;flex:0 0 min(34rem,84vw);padding:.75rem;overflow:hidden}.project-placeholder-screen{border:1px solid var(--line);background:linear-gradient(135deg, #345f521f, #45556f1f), var(--surface-muted);border-radius:10px;place-items:center;min-height:clamp(15rem,30vw,23rem);display:grid;position:relative;overflow:hidden}.project-placeholder-screen span{background:#171a1829;border-radius:999px;height:.42rem;position:absolute;left:1rem;right:1rem}.project-placeholder-screen span:first-child{width:52%;top:1.4rem}.project-placeholder-screen span:nth-child(2){width:76%;top:2.45rem}.project-placeholder-screen span:nth-child(3){width:42%;top:3.5rem}.project-placeholder-screen svg{color:var(--accent-ink)}.project-placeholder-media p{color:var(--accent-ink);letter-spacing:.06em;text-transform:uppercase;margin:0;padding:.9rem .25rem 0;font-size:.76rem;font-weight:760}.project-placeholder-media strong{-webkit-line-clamp:2;color:var(--muted);-webkit-box-orient:vertical;margin-top:.26rem;padding:0 .25rem .15rem;font-size:.9rem;font-weight:600;line-height:1.55;display:-webkit-box;overflow:hidden}@keyframes project-media-marquee-slide{0%{transform:translate(0)}to{transform:translate3d(var(--project-media-translate,calc(-33.333% - .3rem)), 0, 0)}}.project-media-item{scroll-snap-align:start;transition:transform var(--motion-base) var(--ease-apple), border-color var(--motion-base) var(--ease-apple), box-shadow var(--motion-base) var(--ease-apple);flex:0 0 min(34rem,84vw);margin:0}.project-media-frame{background:linear-gradient(180deg, #ffffff94, #f6f3ed94), var(--surface-muted);padding:.75rem;display:block;position:relative}.project-media-scrollport{aspect-ratio:16/9;width:100%;height:auto;color:inherit;cursor:zoom-in;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.project-media-scrollport:active .project-media-image{transition-duration:80ms;transition-timing-function:var(--ease-press);transform:scale(.992)}.project-media-image{object-fit:contain;width:100%;height:100%;transition:transform var(--motion-base) var(--ease-apple), filter var(--motion-base) var(--ease-apple);display:block}.project-media-item:hover,.project-media-item:focus-within{border-color:var(--line-strong);box-shadow:var(--shadow-hover);transform:translateY(-.16rem)}.project-media-item:hover .project-media-image,.project-media-item:focus-within .project-media-image{filter:saturate(1.04)contrast(1.02);transform:scale(1.018)}.media-zoom-indicator{border:1px solid var(--line);width:2rem;height:2rem;color:var(--text);opacity:0;transition:opacity var(--motion-fast) var(--ease-apple), transform var(--motion-fast) var(--ease-apple), background-color var(--motion-fast) var(--ease-apple);background:#fffdf8db;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:.85rem;right:.85rem;transform:translateY(4px);box-shadow:0 10px 24px #1f221f1f}.project-media-frame:hover .media-zoom-indicator,.project-media-scrollport:focus-visible+.media-zoom-indicator,.media-zoom-indicator:focus-visible{opacity:1;transform:translateY(0)}.media-zoom-indicator:hover,.media-zoom-indicator:focus-visible{background:var(--surface-strong)}.media-modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(18px);animation:modal-fade var(--motion-fast) var(--ease-apple);background:#171a18c7;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.media-modal-panel{width:min(1120px,100%);max-height:calc(100vh - 2.5rem);animation:modal-rise var(--motion-base) var(--ease-apple);background:#f6f3edf0;border:1px solid #fffdf838;border-radius:18px;grid-template-rows:minmax(0,1fr) auto;display:grid;position:relative;overflow:hidden;box-shadow:0 26px 80px #00000061}.media-modal-image-wrap{background:linear-gradient(180deg, #fffdf8b3, #ebe7ddb8), var(--surface-muted);min-height:64vh;position:relative}.media-modal-video-wrap{aspect-ratio:16/9;min-height:0}.media-modal-image{object-fit:contain;padding:1rem}.media-modal-caption{border-top:1px solid var(--line);color:var(--muted);background:#fffdf8e6;margin:0;padding:.85rem 1rem;font-size:.86rem;line-height:1.6}.media-modal-close,.media-modal-nav{z-index:2;color:#fff;transition:transform var(--motion-fast) var(--ease-apple), background-color var(--motion-fast) var(--ease-apple), border-color var(--motion-fast) var(--ease-apple);background:#171a18b8;border:1px solid #fffdf857;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;box-shadow:0 12px 28px #00000038}.media-modal-close{width:2.4rem;height:2.4rem;top:1rem;right:1rem}.media-modal-nav{width:2.6rem;height:2.6rem;top:50%;transform:translateY(-50%)}.media-modal-prev{left:1rem}.media-modal-next{right:1rem}.media-modal-close:hover,.media-modal-close:focus-visible,.media-modal-nav:hover,.media-modal-nav:focus-visible{background:#171a18d6;border-color:#fffdf894}.media-modal-close:active{transform:scale(.96)}.media-modal-prev:hover,.media-modal-prev:focus-visible{transform:translateY(-50%)translate(-2px)}.media-modal-next:hover,.media-modal-next:focus-visible{transform:translateY(-50%)translate(2px)}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-rise{0%{opacity:0;transform:translateY(.35rem)scale(.992)}}@keyframes detail-button-hint{0%{opacity:0;transform:scale(.86)}28%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.12)}}@media (max-width:640px){.media-zoom-indicator{opacity:1;transform:none}.media-modal-backdrop{padding:.75rem}.media-modal-panel{border-radius:14px;max-height:calc(100vh - 1.5rem)}.media-modal-image-wrap{min-height:68vh}.media-modal-video-wrap{min-height:0}.media-modal-nav{top:auto;bottom:3.8rem;transform:none}.media-modal-prev:hover,.media-modal-prev:focus-visible{transform:translate(-2px)}.media-modal-next:hover,.media-modal-next:focus-visible{transform:translate(2px)}}.architecture-diagram{border:1px solid var(--line);background:linear-gradient(180deg, #fffdf8d1, #f6f3ed9e), var(--surface);border-radius:18px;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(0,1fr);grid-template-areas:"client server data""client ai infra";gap:1rem;min-width:0;padding:1rem;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffc7}.architecture-lines{z-index:1;color:#24483e47;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.architecture-lines path{fill:none;stroke:currentColor;stroke-width:1.2px;stroke-linecap:round;stroke-dasharray:2.5 4}.architecture-zone{z-index:2;border:1px solid var(--line);min-width:0;transition:transform var(--motion-base) var(--ease-apple), border-color var(--motion-base) var(--ease-apple), background-color var(--motion-base) var(--ease-apple), box-shadow var(--motion-base) var(--ease-apple);background:#fffdf8e6;border-radius:14px;padding:.95rem;position:relative;box-shadow:0 12px 28px #1f221f0d}.architecture-zone:hover,.architecture-zone:focus-within{border-color:var(--line-strong);background:#fffdf8fa;transform:translateY(-.12rem);box-shadow:0 16px 34px #1f221f14}.architecture-zone-client{grid-area:client}.architecture-zone-server{grid-area:server}.architecture-zone-data{grid-area:data}.architecture-zone-ai{grid-area:ai}.architecture-zone-infra{grid-area:infra}.architecture-diagram-no-ai{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"client server""data infra"}.architecture-zone-heading h3{color:var(--accent-ink);margin:0;font-size:.86rem;font-weight:800}.architecture-zone-heading p{color:var(--muted);margin:.2rem 0 0;font-size:.74rem;line-height:1.5}.architecture-tech-list{flex-wrap:wrap;gap:.5rem;margin:.9rem 0 0;padding:0;list-style:none;display:flex}.architecture-tech{border:1px solid var(--line);min-width:0;color:var(--text);transition:transform var(--motion-fast) var(--ease-apple), border-color var(--motion-fast) var(--ease-apple), background-color var(--motion-fast) var(--ease-apple);background:#ffffff9e;border-radius:999px;align-items:center;gap:.45rem;padding:.36rem .58rem;font-size:.76rem;font-weight:650;line-height:1;display:inline-flex}.architecture-tech:hover{border-color:var(--line-strong);background:#fff;transform:translateY(-1px)}.architecture-tech-logo{opacity:.9;flex-shrink:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;display:inline-flex}.architecture-tech-logo img{object-fit:contain;width:1rem;height:1rem;display:block}.resume-page{color:#111;background:#fff;font-family:Hiragino Sans,Yu Gothic,Noto Sans JP,Arial,sans-serif}@media (max-width:767px){main h1,main h2,main h3,main p,main li,main span{word-break:break-word}html:lang(ko) main h1,html:lang(ko) main p,html:lang(ko) main li,html:lang(ko) main span{word-break:break-all}.architecture-diagram{grid-template-columns:1fr;grid-template-areas:"client""server""data""ai""infra"}.architecture-lines{display:none}.demo-marquee-card{width:min(20rem,82vw)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.project-card-detail-button-hint{box-shadow:0 0 0 3px #345f522e}.project-card-detail-button-hint:after{opacity:1;transform:none;animation:none!important}.glass-button:hover,.button-control:hover,.liquid-control:hover,.nav-pill:hover,.interactive-card:hover,.interactive-card:focus-within,.interactive-subtle:hover,.interactive-subtle:focus-within,.project-card:hover,.project-card:focus-within,.project-media-item:hover,.project-media-item:focus-within,.architecture-zone:hover,.architecture-zone:focus-within,.tech-chip:hover,.architecture-tech:hover,.tech-logo-card:hover,.meta-item:hover,.section-kicker,.detail-section .soft-label,.brand-pill:hover .brand-mark,.brand-pill:focus-visible .brand-mark,.project-card:hover .project-logo-badge,.project-card:focus-within .project-logo-badge,.project-card:hover .button-control,.project-card:focus-within .button-control,.project-card:hover .project-card-focus,.project-card:focus-within .project-card-focus,.project-media-item:hover .project-media-image,.project-media-item:focus-within .project-media-image,.demo-marquee-card:hover,.demo-marquee-card:focus-visible{transform:none!important}.home-demo-marquee-track,.project-media-grid-marquee .project-media-track,.project-placeholder-media-grid-marquee .project-placeholder-media-track{animation:none!important}}.home-demo-marquee-section{background:0 0;border:0;overflow:visible}.home-demo-marquee{scrollbar-width:none;padding:.85rem 0 0;overflow:hidden}.home-demo-marquee::-webkit-scrollbar{display:none}.home-demo-marquee-track{align-items:flex-start;gap:1.1rem;padding:0 1.3rem 3.2rem}.home-hero{border-bottom:1px solid var(--line)}.home-proof-grid{gap:.75rem;max-width:44rem;margin-top:1.75rem;display:grid}.home-proof-item{border-left:2px solid var(--line-strong);min-width:0;padding:.35rem 0 .35rem .85rem}.home-proof-item p{color:var(--warm);letter-spacing:.09em;margin:0;font-size:.63rem;font-weight:800}.home-proof-item strong{color:var(--text);margin-top:.28rem;font-size:.82rem;font-weight:650;line-height:1.55;display:block}.section-intro-copy{max-width:none;color:var(--muted);font-size:.94rem;line-height:1.8}.demo-marquee-card{-webkit-backdrop-filter:none;contain:layout paint;background:linear-gradient(#ffffff9e,#fffdf847),#fffdf87a;border:1px solid #ffffffb3;border-radius:22px;flex:0 0 clamp(19rem,30vw,27rem);width:clamp(19rem,30vw,27rem);min-height:0;padding:.65rem;display:block;overflow:hidden;box-shadow:0 22px 54px #1f221f1c,inset 0 1px #ffffffd6}.demo-marquee-card:hover,.demo-marquee-card:focus-visible{border-color:#ffffffdb;transform:none;box-shadow:0 28px 66px #1f221f26,inset 0 1px #fffffff0}.demo-marquee-visual{aspect-ratio:16/9;border:1px solid #171a1814;border-radius:16px;min-height:10.5rem}.demo-marquee-copy{z-index:2;min-width:0;padding:.72rem .35rem .25rem;display:block;position:relative}.demo-marquee-heading{justify-content:space-between;align-items:center;gap:.7rem;min-width:0;display:flex}.demo-marquee-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.94rem;font-weight:780;line-height:1.35;overflow:hidden}.demo-marquee-heading svg{color:var(--accent-ink);flex:none}.demo-marquee-proof{min-height:2.35rem;color:var(--muted);white-space:normal;text-overflow:clip;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.22rem;font-size:.76rem;line-height:1.55;display:-webkit-box;overflow:hidden}.demo-flow-preview{z-index:1;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:.42rem;width:min(88%,28rem);display:grid}.demo-flow-step{-webkit-backdrop-filter:none;background:#fffdf885;border:1px solid #ffffffad;border-radius:12px;align-content:center;gap:.35rem;min-height:5rem;padding:.55rem;display:grid;box-shadow:0 12px 24px #1f221f14}.demo-flow-step span{color:var(--warm);font-size:.62rem;font-weight:800}.demo-flow-step strong{color:var(--text);font-size:.68rem;line-height:1.35}.demo-flow-empty{z-index:1;max-width:80%;color:var(--muted);text-align:center;font-size:.8rem;line-height:1.6}.project-card{grid-template-rows:auto 1fr;min-width:0;padding:0;display:grid;overflow:hidden}.project-card-visual{aspect-ratio:2.15;border-bottom:1px solid var(--line);background:linear-gradient(135deg, #345f521a, #45556f1a), var(--surface-muted);place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.project-card-compact .project-card-visual{aspect-ratio:16/9}.project-card-media{object-fit:cover;width:100%;height:100%;transition:transform var(--motion-base) var(--ease-apple);display:block}.project-card:hover .project-card-media,.project-card:focus-within .project-card-media{transform:scale(1.035)}.project-card-flow-preview{grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;width:min(90%,34rem);display:grid}.project-card-flow-node{background:#fffdf88c;border:1px solid #ffffffb3;border-radius:12px;align-content:center;gap:.35rem;min-height:5rem;padding:.55rem;display:grid;box-shadow:0 10px 22px #1f221f0f}.project-card-flow-node span{color:var(--warm);font-size:.62rem;font-weight:800}.project-card-flow-node strong{color:var(--text);font-size:.7rem;line-height:1.35}.project-card-media-empty{color:var(--muted);font-size:.8rem}.project-card-body{flex-direction:column;gap:.78rem;min-width:0;min-height:12.5rem;padding:1.05rem 1.15rem 1.15rem;display:flex}.project-card-compact .project-card-body{min-height:12.5rem}.project-card-compact .project-card-pitch{-webkit-line-clamp:3}.project-card-body .soft-label{color:var(--warm)}.project-card-pitch{min-height:0;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.86rem;line-height:1.65;display:-webkit-box;overflow:hidden}.project-card-signals{border-top:1px solid var(--line);gap:.38rem;margin:auto 0 0;padding-top:.65rem;display:grid}.project-card-signals p{color:var(--muted);grid-template-columns:3.2rem minmax(0,1fr);gap:.5rem;margin:0;font-size:.71rem;line-height:1.5;display:grid}.project-card-signals span{color:var(--text);letter-spacing:.04em;text-transform:uppercase;font-size:.64rem;font-weight:800}.project-article{min-width:0}.project-article-header{text-align:center;max-width:none;margin-inline:auto;padding:1.15rem 0 2.3rem}.project-article-heading{text-align:left;justify-content:center;align-items:center;gap:1rem;min-width:0;display:flex}.project-article-heading h1{max-width:none;color:var(--text);letter-spacing:0;text-wrap:balance;overflow-wrap:break-word;margin:.2rem 0 0;font-size:clamp(2.35rem,4.2vw,4rem);font-weight:760;line-height:1.08}.project-article-heading h1.project-article-package-title{overflow-wrap:normal;word-break:normal}.project-article-status{color:var(--warm);letter-spacing:.09em;text-transform:uppercase;font-size:.7rem;font-weight:800;line-height:1.4}.project-article-service{max-width:none;color:var(--text);margin:.75rem auto 0;font-size:clamp(1.12rem,1.65vw,1.38rem);font-weight:650;line-height:1.5}.project-article-lede{max-width:none;color:var(--muted);margin:.5rem auto 0;font-size:.96rem;line-height:1.65}.project-meta-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:.9rem 1.2rem;margin:1.7rem 0 0;padding:1rem 0;display:grid}.project-meta-item{text-align:left;grid-template-columns:1.1rem minmax(0,1fr);gap:.55rem;min-width:0;display:grid}.project-meta-item>svg{color:var(--accent-ink);margin-top:.2rem}.project-meta-item dt{color:var(--text);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:800}.project-meta-item dd{color:var(--muted);margin:.18rem 0 0;font-size:.82rem;line-height:1.55}.project-links-block{margin-top:1.15rem}.project-structured-overview,.project-structured-architecture,.project-engineering-stories{max-width:none;margin-inline:auto}.project-structured-overview{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line);padding:1.15rem 0 1.3rem}.project-structured-section-label{margin:0}.project-structured-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.project-structured-overview-item{border-right:1px solid var(--line);min-width:0;padding-right:1rem}.project-structured-overview-item:last-child{border-right:0;padding-right:0}.project-structured-overview-item>p:last-child{color:var(--text);margin:.45rem 0 0;font-size:.9rem;line-height:1.7}.project-structured-architecture{border-bottom:1px solid var(--line);padding:1.7rem 0 2rem}.project-structured-architecture .architecture-flow{margin-top:0}.project-engineering-stories{padding:2.3rem 0 0}.project-additional-media{border-bottom:1px solid var(--line);justify-content:center;padding:2.2rem 0 2.5rem;display:flex}.project-additional-media .project-media-grid{justify-content:center;width:min(100%,23.75rem);padding-bottom:0;overflow-x:hidden}.project-additional-media .project-media-track,.project-additional-media .project-media-item{width:100%}.project-additional-media .project-media-item{flex:100%}.project-engineering-story-list{border-top:1px solid var(--line-strong)}.project-engineering-story{border-bottom:1px solid var(--line);padding:1.8rem 0 2.1rem}.project-engineering-story-header{align-items:flex-start;gap:.85rem;display:flex}.project-engineering-story-header h2{max-width:none;color:var(--text);text-wrap:wrap;margin:0;font-size:clamp(1.28rem,2vw,1.65rem);font-weight:740;line-height:1.42}.project-engineering-story-copy{max-width:none;color:var(--muted);gap:.8rem;margin:1rem 0 0;font-size:.98rem;line-height:1.82;display:grid}.project-decision-block>p,.project-decision-block>ul{margin:0}.project-decision-block>ul{gap:.45rem;margin-top:.45rem;padding-left:1.2rem;display:grid}.project-decision-block{gap:.45rem;display:grid}.project-decision-block-emphasis>p:last-child{color:var(--text);font-weight:590}.project-engineering-story-result{color:var(--text);padding-top:.35rem;font-weight:600}.project-engineering-story-learning{color:var(--text)}.project-engineering-story-text,.project-engineering-story-media{min-width:0}.project-engineering-story-media .project-media-grid{justify-content:center;padding-bottom:0}.project-engineering-story-media .project-media-track{width:min(100%,28rem)}.project-engineering-story-media .project-media-item{flex:100%;width:100%}.project-media-grid-natural .project-media-item-portrait .project-media-scrollport{max-height:32rem}@media (min-width:900px){.project-engineering-story-with-media{grid-template-columns:minmax(0,1.25fr) minmax(16rem,.75fr);align-items:center;gap:clamp(2rem,4vw,4rem);display:grid}.project-engineering-story-media-left{grid-template-columns:minmax(16rem,.75fr) minmax(0,1.25fr)}.project-engineering-story-media-left .project-engineering-story-text{order:2}.project-engineering-story-media-left .project-engineering-story-media{order:1}}.project-structured-results{padding-top:2.15rem}.project-at-a-glance{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line);max-width:1000px;margin:0 auto;padding:1.05rem 0 1.2rem}.project-at-a-glance-title,.project-story-map-title{margin:0}.project-at-a-glance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:.95rem;display:grid}.project-at-a-glance-item{border-right:1px solid var(--line);min-width:0;padding-right:1rem}.project-at-a-glance-item:last-child{border-right:0;padding-right:0}.project-at-a-glance-item p:last-child{color:var(--text);margin:.4rem 0 0;font-size:.88rem;line-height:1.65}.project-scope-section{border-bottom:1px solid var(--line);grid-template-columns:minmax(12rem,.65fr) minmax(0,1.35fr);gap:1.5rem 3rem;max-width:1000px;margin:0 auto;padding:1.8rem 0 2rem;display:grid}.project-scope-section h2{max-width:25rem;color:var(--text);margin:.55rem 0 0;font-size:clamp(1.35rem,2.2vw,1.8rem);font-weight:720;line-height:1.35}.project-scope-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.project-scope-list li{color:var(--muted);padding-left:1rem;font-size:.9rem;line-height:1.7;position:relative}.project-scope-list li:before{background:var(--warm);content:"";border-radius:999px;width:.3rem;height:.3rem;position:absolute;top:.72rem;left:0}.project-journey-fit{border-bottom:1px solid var(--line);max-width:1000px;margin:0 auto;padding:1.55rem 0 1.7rem}.project-journey-fit>p:last-child{max-width:780px;color:var(--text);margin:.55rem 0 0;font-size:1rem;font-weight:560;line-height:1.75}.project-story-map{max-width:1000px;margin:0 auto;padding:1.35rem 0 1.55rem}.project-story-map-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:.9rem 0 0;padding:0;list-style:none;display:grid}.project-story-map-list li{border:1px solid var(--line);background:#fffdf885;border-radius:.65rem;align-items:center;gap:.55rem;min-width:0;padding:.62rem .7rem;display:flex}.project-story-map-list li>span{color:var(--warm);letter-spacing:.05em;flex:none;font-size:.66rem;font-weight:800}.project-story-map-list strong{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:700;line-height:1.4;overflow:hidden}.project-links-list{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:.65rem;display:flex}.project-link,.project-link-disabled{border:1px solid var(--line);color:var(--text);transition:transform var(--motion-fast) var(--ease-apple), border-color var(--motion-fast) var(--ease-apple), background-color var(--motion-fast) var(--ease-apple);background:#fffdf894;border-radius:999px;align-items:center;gap:.4rem;padding:.48rem .7rem;font-size:.75rem;font-weight:700;display:inline-flex}.project-link:hover,.project-link:focus-visible{border-color:var(--line-strong);background:var(--surface-strong);transform:translateY(-1px)}.project-link-disabled{color:var(--muted)}.project-article-body{max-width:none;margin-inline:auto}.project-story-opening{padding:1.4rem 0 1.9rem}.project-chapter-heading{align-items:flex-start;gap:.85rem;display:flex}.project-chapter-index{color:var(--warm);letter-spacing:.07em;flex:none;margin-top:.28rem;font-size:.72rem;font-weight:800}.project-story-opening h2,.project-chapter h2{max-width:none;color:var(--text);letter-spacing:0;text-wrap:wrap;overflow-wrap:break-word;margin:0;font-size:clamp(1.2rem,1.8vw,1.55rem);font-weight:720;line-height:1.45}.project-story-opening h2{font-size:clamp(1.35rem,2vw,1.7rem)}.project-chapter{border-top:1px solid var(--line);padding:1.65rem 0 1.9rem}.project-chapter-copy{gap:.9rem;margin-top:1rem;display:grid}.project-chapter-copy p,.project-caveat>p:last-child,.project-changed-copy{max-width:none;color:var(--muted);margin:0;font-size:1.02rem;line-height:1.82}.project-story-opening .project-chapter-copy p{color:var(--text-soft,var(--muted));font-size:1.02rem;line-height:1.82}.project-inline-link{color:var(--accent-ink);text-underline-offset:.2em;font-weight:650;-webkit-text-decoration:underline #345f525c;text-decoration:underline #345f525c;text-decoration-thickness:1px}.project-inline-link:hover,.project-inline-link:focus-visible{text-decoration-color:currentColor}.project-flow-section{border-top:1px solid var(--line);padding:1.65rem 0 2.1rem}.project-flow-section .architecture-flow{margin-top:0}.project-proof-section{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line);gap:1.6rem 2.4rem;padding:2.4rem 0;display:grid}.project-proof-copy{max-width:none;color:var(--text);margin:0;font-size:clamp(1.12rem,1.8vw,1.35rem);font-weight:620;line-height:1.65}.project-visibility-note{color:var(--muted);grid-column:1/-1;align-items:flex-start;gap:.5rem;display:flex;font-size:.78rem!important;line-height:1.7!important}.project-visibility-note svg{color:var(--accent-ink);flex:none;margin-top:.28rem}.project-caveat{max-width:44rem}.project-caveat>p:last-child{margin-top:0;font-size:.88rem;line-height:1.8}.project-reflection-section{padding:2.55rem 0}.project-limits-section{border-top:1px solid var(--line);gap:1.5rem;padding:2.2rem 0 0;display:grid}.project-changed-copy{max-width:none;color:var(--text);margin-top:0;font-size:clamp(1.08rem,1.6vw,1.28rem);font-weight:590;line-height:1.75}.project-next-section{padding:0}.project-backlog-list{color:var(--muted);gap:.55rem;margin:0;padding:0;font-size:.9rem;line-height:1.7;list-style:none;display:grid}.project-media-needed-list,.project-top-media-missing ul{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.project-backlog-list li,.project-media-needed-list li,.project-top-media-missing li{color:var(--muted);padding-left:1rem;font-size:.86rem;line-height:1.75;position:relative}.project-next-section .project-backlog-list{max-width:680px;margin-top:1rem}.project-backlog-list li:before,.project-media-needed-list li:before,.project-top-media-missing li:before{background:var(--warm);content:"";border-radius:999px;width:.32rem;height:.32rem;position:absolute;top:.72rem;left:0}.project-media-needed-list{border-left:1px solid var(--line-strong);padding-left:1rem}.project-top-architecture .architecture-flow{border-top:0;margin-top:0;padding:1.6rem 0 2.2rem}.architecture-flow{border-top:1px solid var(--line);margin-top:2.4rem;padding-top:1.2rem}.project-chapter-with-visual .architecture-flow,.project-chapter-with-visual .project-media-grid{width:min(1040px,100vw - 3rem);max-width:none;margin-left:50%;transform:translate(-50%)}.architecture-flow-caption{gap:.5rem;max-width:640px;display:grid}.architecture-flow-caption p:last-child{color:var(--muted);margin:0;font-size:.86rem;line-height:1.7}.architecture-flow-track{grid-template-columns:repeat(var(--architecture-node-count,5), minmax(0, 1fr));gap:.55rem;margin:1.2rem 0 0;padding:0;list-style:none;display:grid}.architecture-flow-step{min-width:0;position:relative}.architecture-flow-step:not(:last-child):after{z-index:2;color:var(--accent-ink);content:"→";font-size:.8rem;position:absolute;top:50%;right:-.43rem;transform:translateY(-50%)}.architecture-flow-node{border:1px solid var(--line);background:#fffdf89e;border-radius:12px;align-content:start;gap:.5rem;min-height:8.8rem;padding:.85rem;display:grid}.architecture-flow-index{color:var(--warm);letter-spacing:.08em;font-size:.68rem;font-weight:800}.architecture-flow-node h3{color:var(--text);margin:0;font-size:.86rem;line-height:1.4}.architecture-flow-node p{color:var(--muted);margin:0;font-size:.72rem;line-height:1.55}.project-media-poster-needed{width:100%;height:100%;color:var(--muted);place-items:center;font-size:.8rem;display:grid}.media-modal-video{object-fit:contain;width:100%;height:100%;padding:1rem;display:block}@media (min-width:640px){.project-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-proof-section-with-note{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}}@media (min-width:768px){.home-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-limits-section{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.project-card-flow-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card-body{min-height:15rem}.project-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:767px){.home-demo-marquee-section{margin-bottom:-1.5rem}.home-demo-marquee,.project-media-grid-marquee{overflow-x:auto}.home-demo-marquee-track{will-change:auto;padding:0 1rem 3.2rem;animation:none;transform:none}.project-media-grid-marquee .project-media-track{will-change:auto;animation:none;transform:none}.demo-marquee-card{flex-basis:min(21rem,84vw);width:min(21rem,84vw);min-height:0}.demo-flow-preview,.project-card-flow-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card-body{min-height:12.5rem}.project-article-header{padding:.85rem 0 1.8rem}.project-article-heading h1{font-size:clamp(2.05rem,9vw,2.85rem)}.project-article-service{margin-top:.6rem;font-size:1.05rem;line-height:1.5}.project-article-lede{margin-top:.4rem;font-size:.9rem;line-height:1.6}.project-at-a-glance{padding:.95rem 0 1.05rem}.project-structured-overview-grid{grid-template-columns:1fr}.project-structured-overview-item{border-right:0;border-bottom:1px solid var(--line);padding:0 0 .8rem}.project-structured-overview-item:last-child{border-bottom:0;padding-bottom:0}.project-engineering-story{padding:1.9rem 0 2.15rem}.project-at-a-glance-grid,.project-scope-section{grid-template-columns:1fr}.project-at-a-glance-grid{gap:.8rem}.project-at-a-glance-item{border-right:0;border-bottom:1px solid var(--line);padding:0 0 .8rem}.project-at-a-glance-item:last-child{border-bottom:0;padding-bottom:0}.project-scope-section{gap:1rem;padding:1.45rem 0 1.6rem}.project-story-map-list{grid-template-columns:repeat(2,minmax(0,1fr))}.project-story-opening{padding:1.25rem 0 2.5rem}.project-story-opening h2{font-size:1.4rem}.project-chapter{padding:2rem 0}.project-chapter-heading{gap:.65rem}.project-chapter-index{margin-top:.2rem}.project-story-opening .project-chapter-copy p,.project-chapter-copy p{font-size:.98rem;line-height:1.78}.project-proof-section,.project-reflection-section{padding:2.3rem 0}.project-chapter-with-visual .architecture-flow,.project-chapter-with-visual .project-media-grid{width:calc(100vw - 2rem)}.architecture-flow-track{grid-template-columns:1fr;gap:.65rem}.architecture-flow-step:not(:last-child):after{content:"↓";inset:auto auto -.6rem 1.05rem;transform:none}.architecture-flow-node{min-height:0}.project-media-needed-list{border-top:1px solid var(--line);border-left:0;padding-top:1rem;padding-left:0}}html[lang=ko] .project-article-service,html[lang=ko] .project-article-lede,html[lang=ko] .project-story-opening h2,html[lang=ko] .project-chapter h2,html[lang=ko] .project-chapter-copy p,html[lang=ko] .project-proof-copy,html[lang=ko] .project-caveat,html[lang=ko] .project-changed-copy{word-break:keep-all;overflow-wrap:break-word}html[lang=ko] .project-article-service,html[lang=ko] .project-story-opening h2,html[lang=ko] .project-chapter h2{text-wrap:wrap}html[lang=ja] .project-article-service,html[lang=ja] .project-article-lede,html[lang=ja] .project-story-opening h2,html[lang=ja] .project-chapter h2,html[lang=ja] .project-chapter-copy p,html[lang=ja] .project-proof-copy,html[lang=ja] .project-caveat,html[lang=ja] .project-changed-copy{line-break:strict;overflow-wrap:break-word;word-break:normal;text-wrap:wrap}@media (prefers-reduced-motion:reduce){.home-demo-marquee,.project-media-grid-marquee{overflow-x:auto}.home-demo-marquee-track,.project-media-grid-marquee .project-media-track,.project-placeholder-media-grid-marquee .project-placeholder-media-track{animation:none!important}.home-demo-marquee-track,.project-media-grid-marquee .project-media-track{will-change:auto;transform:none!important}.project-card:hover .project-card-media,.project-card:focus-within .project-card-media{transform:none}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
