@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--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:ui-sans-serif,system-ui,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;--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,ui-sans-serif,system-ui,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{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{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-2{top:calc(var(--spacing)*2)}.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}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.uppercase{text-transform:uppercase}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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))}}:root{--paper:#f7f8fa;--surface:#fff;--navy:#182535;--muted:#617083;--line:#dce3ec;--blue:#2d5ce3;--blue-dark:#2149c5;--blue-soft:#eef2ff;--max-width:1120px;--ground:#edeef5;--ground-2:#e1e3ee;--sheet:#f8f8fb;--ink:#0c1322;--ink-2:#4b5468;--hair:#cbcfdd;--stage:#0b0f1e;--stage-ink:#e9ecf7;--stage-dim:#8d95af;--signal:#3346ff;--signal-dark:#2333db;--font:var(--font-sans),var(--font-kr),"Helvetica Neue",Arial,sans-serif;--font-label:var(--font-cond),var(--font-kr),"Arial Narrow",Arial,sans-serif;--pad:clamp(16px,2.6vw,40px);--wrap:1400px;--header-h:64px;--radius-stage:clamp(16px,1.6vw,24px);--radius-media:12px;--fs-title:clamp(42px,5.8vw,92px);--fs-statement:clamp(34px,4.6vw,74px);--fs-lead:clamp(26px,2.9vw,46px);--fs-h3:clamp(20px,1.7vw,26px);--fs-body:clamp(16px,1.15vw,18px);--fs-small:14px;--fs-caption:13px;--lh-display:.94;--lh-body:1.6;--space-section:clamp(96px,12vw,184px);--track-display:-.04em}:lang(ko){--lh-display:1.08;--lh-body:1.75;--track-display:-.03em}:lang(ja){font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP","Noto Sans CJK JP",var(--font)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}body{background:var(--ground);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}::selection{color:var(--ink);background:#c9ceff}:focus-visible{outline:3px solid var(--signal);outline-offset:3px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:lang(ko){word-break:keep-all;overflow-wrap:break-word}.section-title,.about-statement,.rec-statement,.contact-title,.research-lead,.research-title,.work-title,.case-title,.hero-tagline{text-wrap:balance}.about-text p,.section-intro,.research-text,.research-note,.rec-context,.tl-detail,.work-line,.work-caption,.case-intro,.case-copy p{text-wrap:pretty}.pl-root,.lens-play,.academy-demo{color:var(--navy);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.65}:is(.pl-root,.lens-play,.academy-demo) :focus-visible{outline:revert;outline-offset:revert}.container{width:min(var(--max-width),calc(100% - 2*var(--pad)));margin-inline:auto}.eyebrow{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:10px;font-weight:700;line-height:1.5}.skip-link{z-index:50;background:var(--ink);color:var(--ground);border-radius:999px;padding:8px 14px;font-weight:600;position:absolute;top:-48px;left:12px}.skip-link:focus{top:12px}.micro-title,.stage-label,.rec-kind,.tl-kind,.how-num,.work-category,.case-category,.work-filter-count{font-family:var(--font-label);letter-spacing:.07em;text-transform:uppercase;font-size:12px;font-weight:640;font-stretch:72%;line-height:1.35}:lang(ko) :is(.micro-title,.stage-label,.rec-kind,.tl-kind,.work-category,.case-category){font-family:var(--font);letter-spacing:0;text-transform:none;font-size:13px;font-weight:600;font-stretch:100%}.site-header{z-index:30;background:var(--ground);position:sticky;top:0}.header-inner{width:min(var(--wrap),calc(100% - 2*var(--pad)));min-height:var(--header-h);align-items:center;gap:28px;margin-inline:auto;display:flex}.brand{letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:10px;font-size:15px;font-weight:600;display:inline-flex}.brand-mark{border:1.5px solid var(--ink);border-radius:50%;flex:none;width:20px;height:20px;position:relative}.brand-mark:before{content:"";background:var(--ink);border-radius:50%;position:absolute;inset:5px}.main-nav{gap:24px;margin-left:auto;font-size:14px;font-weight:500;display:flex}.main-nav a{color:var(--ink-2);white-space:nowrap;padding:6px 0}.main-nav a:hover{color:var(--ink)}.lang-switch{background:var(--sheet);box-shadow:inset 0 0 0 1px var(--hair);border-radius:999px;flex:none;padding:3px;font-size:13px;font-weight:600;display:inline-flex}.lang-switch a{color:var(--ink-2);white-space:nowrap;border-radius:999px;padding:6px 12px;line-height:1.2}.lang-switch a:hover{color:var(--ink)}.lang-switch a[aria-current=true]{background:var(--ink);color:var(--ground)}.lang-switch-placeholder{display:none}.btn{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 22px;font-size:15px;font-weight:600;line-height:1.2;transition:background-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn-ink{background:var(--ink);color:var(--ground)}.btn-ink:hover{background:var(--signal)}.btn-line{box-shadow:inset 0 0 0 1.5px var(--ink);color:var(--ink)}.btn-line:hover{background:var(--ink);color:var(--ground)}.chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chips li{box-shadow:inset 0 0 0 1px var(--hair);color:var(--ink);border-radius:999px;padding:4px 11px;font-size:13px;font-weight:500;line-height:1.4}.home>section:not(.hero),.home .research{width:min(var(--wrap),calc(100% - 2*var(--pad)));padding-top:var(--space-section);margin-inline:auto}.section-head{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:20px 48px;margin-bottom:clamp(40px,5vw,80px);display:grid}.section-title{max-width:14ch;font-weight:400;font-size:var(--fs-title);line-height:var(--lh-display);letter-spacing:var(--track-display);margin:0}.section-intro{max-width:40ch;color:var(--ink-2);font-size:var(--fs-body);margin:0;line-height:1.55}:lang(ko) .section-title{font-weight:500}.hero{padding:0}.hero-stage{isolation:isolate;height:100svh;min-height:560px;color:var(--stage-ink);background:#02030a;position:relative;overflow:hidden}.hero-visual{position:absolute;inset:0}.hero-visual-still{z-index:-1;object-fit:cover;object-position:50% 42%;width:100%;max-width:none;height:100%;position:absolute;inset:0}.hero-live{z-index:1;pointer-events:none;position:absolute;inset:0}.hero-live canvas{opacity:0;transition:opacity .8s}.hero-stage[data-three-d=on] .hero-live canvas{opacity:1}.hero-visual-still{opacity:0;animation:.5s 1.6s forwards hero-still-in}.hero-stage[data-three-d=off] .hero-visual-still{opacity:1;animation:none}.hero-stage[data-three-d=on] .hero-visual-still{opacity:0;transition:opacity .5s .2s;animation:none}@keyframes hero-still-in{to{opacity:1}}@media (prefers-reduced-motion:reduce){.hero-visual-still{opacity:1;animation:none}}.hero-stage[data-three-d-text=on] .hero-name{color:#0000}.hero-stage[data-three-d-text=on] .hero-name::selection{color:var(--stage-ink);background:#3346ff80}.hero-title{z-index:2;left:var(--pad);right:var(--pad);pointer-events:none;position:absolute;top:64%}.hero-title *{pointer-events:auto}.hero-name{letter-spacing:-.03em;text-transform:uppercase;color:var(--stage-ink);flex-wrap:wrap;justify-content:space-between;margin:0;font-size:clamp(56px,9.15vw,150px);font-weight:400;line-height:.9;display:flex}.hero-name span{display:block}.hero-alt{color:var(--stage-dim);letter-spacing:.02em;margin:18px 0 0;font-size:clamp(14px,1.1vw,17px);font-weight:500}.home-ko .hero-alt{color:var(--stage-ink);letter-spacing:.12em;font-size:clamp(18px,1.6vw,26px);font-weight:500}.stage-label{z-index:2;left:var(--pad);color:var(--stage-dim);gap:3px;margin:0;display:grid;position:absolute;bottom:clamp(18px,2.4vw,32px)}.intro-footnote{z-index:2;right:var(--pad);text-align:right;max-width:30ch;color:var(--stage-dim);letter-spacing:.01em;opacity:.8;margin:0;font-size:11.5px;line-height:1.45;position:absolute;bottom:clamp(18px,2.4vw,32px)}.intro-skip{z-index:2;right:var(--pad);top:calc(var(--header-h) + 14px);color:var(--stage-dim);border:1px solid #e9ecf738;border-radius:999px;padding:7px 14px;font-size:13px;text-decoration:none;transition:color .2s,border-color .2s;position:absolute}.intro-skip:hover,.intro-skip:focus-visible{color:var(--stage-ink);border-color:#e9ecf799}.intro-scroll{z-index:2;color:var(--stage-dim);letter-spacing:.08em;text-transform:uppercase;justify-items:center;gap:8px;font-size:12px;text-decoration:none;display:grid;position:absolute;bottom:clamp(18px,2.4vw,32px);left:50%;translate:-50%}.intro-scroll:after{content:"";background:linear-gradient(var(--stage-dim),transparent);width:1px;height:34px;animation:2.2s ease-in-out infinite intro-scroll}@keyframes intro-scroll{0%{transform-origin:top;transform:scaleY(0)}45%{transform-origin:top;transform:scaleY(1)}55%{transform-origin:bottom;transform:scaleY(1)}to{transform-origin:bottom;transform:scaleY(0)}}@media (prefers-reduced-motion:reduce){.intro-scroll:after{animation:none}}.site-header{transition:background-color .35s,color .35s}body:has(main.home) .site-header:not([data-over-intro=false]){color:var(--stage-ink);background:0 0}body:has(main.home) .site-header:not([data-over-intro=false]) :is(.main-nav a,.brand,.brand-name){color:var(--stage-ink)}body:has(main.home) .site-header:not([data-over-intro=false]) .lang-switch{background:#e9ecf71a;box-shadow:inset 0 0 0 1px #e9ecf738}body:has(main.home) .site-header:not([data-over-intro=false]) .lang-switch a{color:var(--stage-dim)}body:has(main.home) .site-header:not([data-over-intro=false]) .lang-switch a[aria-current=true]{background:var(--stage-ink);color:var(--stage)}body:has(main.home) .hero{margin-top:calc(-1*var(--header-h))}.hero-foot{padding:clamp(28px,4vw,56px)var(--pad)clamp(44px,6vw,88px);color:var(--stage-ink);background:#02030a;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:24px 48px;margin-top:-1px;display:grid}.hero-tagline{max-width:24ch;font-weight:300;font-size:var(--fs-statement);letter-spacing:-.035em;margin:0;line-height:1.04}:lang(ko) .hero-tagline{letter-spacing:-.025em;max-width:22ch;font-weight:400;line-height:1.3}.hero-actions{flex-wrap:wrap;justify-content:end;gap:10px;margin:0;display:flex}.hero-foot .btn-ink{background:var(--stage-ink);color:var(--stage)}.hero-foot .btn-ink:hover{background:#b3baff}.hero-foot .btn-line{color:var(--stage-ink);box-shadow:inset 0 0 0 1.5px #e9ecf78c}.hero-foot .btn-line:hover{background:var(--stage-ink);color:var(--stage)}.about>.micro-title{color:var(--ink-2);margin:0 0 24px}.about-statement{max-width:16ch;font-weight:300;font-size:var(--fs-statement);letter-spacing:-.04em;margin:0;line-height:1}:lang(ko) .about-statement{letter-spacing:-.03em;max-width:18ch;font-weight:400;line-height:1.22}.about-body{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:40px clamp(32px,6vw,112px);margin-top:clamp(44px,6vw,96px);display:grid}.about-text{align-content:start;gap:18px;max-width:64ch;display:grid}.about-text p{font-size:var(--fs-body);line-height:var(--lh-body);margin:0}.about-text p:first-child{font-size:clamp(19px,1.5vw,24px);line-height:1.45}.about-side{align-content:start;gap:14px;display:grid}.about-side .micro-title{color:var(--ink-2);margin:18px 0 0}.about-side .micro-title:first-child{margin-top:0}.about-moment,.toolkit{gap:12px;margin:0;display:grid}.about-moment div,.toolkit div{border-top:1px solid var(--hair);gap:3px;padding-top:12px;display:grid}.about-moment dt,.toolkit dt{font-size:14px;font-weight:600}.about-moment dd,.toolkit dd{color:var(--ink-2);margin:0;font-size:14px;line-height:1.55}.about-moment-item{padding-left:16px;position:relative}.about-moment-item:before{content:"";background:var(--ink-2);width:8px;height:1px;position:absolute;top:.72em;left:0}.about-moment-item+.about-moment-item{margin-top:6px}.work-filters{flex-wrap:wrap;gap:8px;margin:0 0 clamp(28px,3vw,44px);display:flex}.work-filter{min-height:40px;box-shadow:inset 0 0 0 1px var(--hair);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;display:inline-flex}.work-filter:hover{box-shadow:inset 0 0 0 1px var(--ink)}.work-filter[aria-pressed=true]{background:var(--ink);color:var(--ground);box-shadow:none}.work-filter-count{opacity:.72}.work-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(56px,6vw,104px) clamp(20px,2.4vw,36px);margin:0;padding:0;list-style:none;display:grid}.work-card{grid-column:span 6;align-content:start;gap:18px;display:grid;position:relative}.work-card:nth-child(12n+1),.work-card:nth-child(12n+3),.work-card:nth-child(12n+9){grid-column:span 7}.work-card:nth-child(12n+2),.work-card:nth-child(12n+4),.work-card:nth-child(12n+8){grid-column:span 5}.work-card.is-feature{grid-column:1/-1;grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:end;gap:24px clamp(28px,4vw,64px)}.work-card.is-feature .work-title{font-size:clamp(32px,3.6vw,56px)}.work-media{gap:10px;display:grid}.work-caption{color:var(--ink-2);font-size:var(--fs-caption);margin:0;line-height:1.5}.work-card-body{gap:10px;display:grid}.work-card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;display:flex}.work-title{letter-spacing:-.03em;margin:0;font-size:clamp(26px,2.4vw,36px);font-weight:500;line-height:1.08}.work-link:after{content:"";z-index:1;border-radius:calc(var(--radius-media) + 6px);position:absolute;inset:-6px}.work-link:focus-visible{outline:none}.work-link:focus-visible:after{outline:3px solid var(--signal);outline-offset:2px}.work-category{color:var(--ink-2);margin:0}.work-line{max-width:56ch;color:var(--ink-2);margin:0;font-size:16px;line-height:1.55}:lang(ko) .work-line{line-height:1.72}.work-status{flex-wrap:wrap;gap:6px;margin:2px 0 0;padding:0;list-style:none;display:flex}.work-status li{box-shadow:inset 0 0 0 1px var(--hair);border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:500;line-height:1.45}.work-actions{flex-wrap:wrap;align-items:center;gap:8px 18px;margin:6px 0 0;font-size:14px;font-weight:600;display:flex}.work-read{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.work-card:hover .work-read{color:var(--signal)}.work-extra{z-index:2;color:var(--ink-2);position:relative}.work-extra:hover{color:var(--ink)}.media-frame{aspect-ratio:16/10;border-radius:var(--radius-media);background:var(--stage);position:relative;overflow:hidden}.media-frame[data-tone=navy]{background:#0b0f1e}.media-frame[data-tone=graphite]{background:#262b38}.media-frame[data-tone=grey]{background:#dfe2ec}.cv>img,.cv>svg,.cv>div{width:100%;height:100%;position:absolute;inset:0}.cv img{display:block}.cv[data-live=false] .cv-anim{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.cv .cv-anim{animation:none!important}}@media print{.cv-video{display:none}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes cv-in{0%{opacity:0;transform:translateY(6px)}6%{opacity:1;transform:none}90%{opacity:1;transform:none}95%{opacity:0}to{opacity:0}}@keyframes cv-draw{0%{stroke-dashoffset:1px;opacity:1}14%{stroke-dashoffset:0}90%{opacity:1;stroke-dashoffset:0}95%{opacity:0}to{opacity:0;stroke-dashoffset:0}}.cv-anim{animation-delay:calc(var(--d,0)*.667s);animation-fill-mode:both}.cv-poster,.cv-video{object-fit:cover}.cv-video{opacity:0;width:100%;height:100%;transition:opacity .5s;position:absolute;inset:0}.cv-video[data-playing=true]{opacity:1}.rd{place-items:center;display:grid}.rd-square{aspect-ratio:1;height:108%;position:relative;-webkit-mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000);mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000)}.rd-square>*{width:100%;height:100%;position:absolute;inset:0}.rd-base{object-fit:cover}.rd-glow{animation:6s linear infinite rd-spin;-webkit-mask-image:conic-gradient(from -62deg,#0000 0deg,#000c 60deg,#0000 62deg);mask-image:conic-gradient(from -62deg,#0000 0deg,#000c 60deg,#0000 62deg)}.rd-bright{object-fit:cover;filter:brightness(1.45)saturate(1.15);animation:6s linear infinite reverse rd-spin}.rd-beam{mix-blend-mode:screen;background:conic-gradient(from -26deg,#0000 0deg,#96ffcd09 18deg,#96ffcd21 26deg,#0000 26.5deg);border-radius:50%;animation:6s linear infinite rd-spin}@keyframes rd-spin{to{transform:rotate(360deg)}}.as img{object-fit:cover}.as-after{clip-path:inset(0 100% 0 0);animation:6s cubic-bezier(.65,0,.35,1) infinite as-wipe}.as-edge{background:#ffffffe6;width:2px;margin-left:-1px;animation:6s cubic-bezier(.65,0,.35,1) infinite as-edge;position:absolute;top:0;bottom:0;left:0;box-shadow:0 0 14px 2px #ffffff73}@keyframes as-wipe{0%,8%{clip-path:inset(0 100% 0 0)}40%,62%{clip-path:inset(0)}94%,to{clip-path:inset(0 100% 0 0)}}@keyframes as-edge{0%,8%{opacity:0;left:0}10%{opacity:1}40%{opacity:1;left:100%}42%,60%{opacity:0;left:100%}62%{opacity:1}94%{opacity:1;left:0}96%,to{opacity:0;left:0}}.as-marks{fill:none;stroke:#ff8a6a;stroke-width:1.5px;filter:drop-shadow(0 0 4px #ff8a6ae6);width:100%;height:100%;animation:6s ease-in-out infinite as-glow;position:absolute;inset:0}@keyframes as-glow{0%,36%{opacity:0}46%{opacity:1}54%{opacity:.55}62%{opacity:1}92%{opacity:.9}to{opacity:0}}.as-link{fill:none;stroke:#fffc;stroke-width:1px;filter:drop-shadow(0 0 1.5px #000000b3);width:100%;height:100%;position:absolute;inset:0}.as-loupe{aspect-ratio:1;border-radius:50%;position:absolute;box-shadow:0 0 0 2px #ffffffd9,0 14px 40px #00000073}.as-loupe-inner{background:#262b38;border-radius:50%;position:absolute;inset:0;overflow:hidden}.as-loupe-inner img{object-fit:fill;max-width:none;position:absolute}.as-loupe-after{clip-path:inset(0 100% 0 0);animation:6s cubic-bezier(.65,0,.35,1) infinite as-wipe}.as-loupe-mask{animation:6s ease-in-out infinite as-glow}.as-loupe-box{border:2px solid #ff8a6a;border-radius:3px;animation:6s ease-in-out infinite as-glow;position:absolute;box-shadow:0 0 0 1px #00000059,0 0 16px 3px #ff8a6abf,inset 0 0 12px #ff8a6a59}.as-loupe-label{white-space:nowrap;color:#e9ecf7;font-family:var(--font-label);letter-spacing:.06em;text-shadow:0 1px 3px #000000b3;font-size:12px;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%)}.as-strip{color:#e9ecf7;font-family:var(--font-label);letter-spacing:.04em;background:linear-gradient(#0e111b00,#0e111bd1);align-items:baseline;gap:14px;padding:26px 16px 12px;font-size:12px;display:flex;position:absolute;inset:auto 0 0}.as-year{letter-spacing:.02em;font-size:15px;font-weight:600;position:relative}.as-year-b{position:absolute;left:16px}.as-year-a{animation:6s ease-in-out infinite as-year-a}.as-year-b{animation:6s ease-in-out infinite as-year-b}@keyframes as-year-a{0%,24%{opacity:1}30%,72%{opacity:0}78%,to{opacity:1}}@keyframes as-year-b{0%,24%{opacity:0}30%,72%{opacity:1}78%,to{opacity:0}}.as-note{color:#e9ecf7c7;margin-left:44px}.cv-kotoba-quest[data-tone=grey]{background:radial-gradient(120% 90% at 50% 110%,#bfd9b4 0%,#d6e6cf 48%,#e3ecdf 100%)}.kq{justify-items:center;display:grid}.kq-phone{aspect-ratio:390/844;background:#f7f2e4;border-radius:26px 26px 0 0;width:52%;max-width:62vh;position:absolute;top:6%;overflow:hidden;box-shadow:0 0 0 5px #1a2233,0 24px 60px #14281852}.kq-slide{object-fit:cover;object-position:top;opacity:0;width:100%;height:100%;animation:6s ease-in-out infinite kq-fade;position:absolute;inset:0}.kq-slide-1{opacity:1;animation-delay:-.6s}.kq-slide-2{animation-delay:.9s}.kq-slide-3{animation-delay:2.4s}.kq-slide-4{animation-delay:3.9s}@keyframes kq-fade{0%{opacity:0}7%{opacity:1}25%{opacity:1}32%{opacity:0}to{opacity:0}}.sn{font-family:var(--font-label)}.sn-axes line{stroke:#e9ecf761;stroke-width:2px}.sn-axes .sn-t0{stroke-dasharray:8 10;stroke:#e9ecf747}.sn-tick{fill:#e9ecf79e;font-size:26px}.sn-label{fill:#e9ecf79e;letter-spacing:.04em;font-size:26px}.sn-title{fill:#e9ecf7;letter-spacing:.02em;font-size:32px}.sn-note{fill:#e9ecf7a8;letter-spacing:.02em;font-size:26px}.sn-legend{fill:#e9ecf7cc;font-size:26px}.sn-curve{fill:none;stroke-width:4px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:clamp(0,1 - (var(--t) - 4.6)/2.6,1);opacity:var(--out)}.sn-pt{opacity:calc(clamp(0,(var(--t) - var(--d))*6,1)*var(--out))}.sn-pt line{stroke-width:3px;opacity:.7}.sn-pt circle{stroke:none}.ac,.pl,.sp{font-family:var(--font);color:var(--ink)}.ac-eyebrow,.pl-eyebrow,.sp-eyebrow{fill:#5b6477;font-family:var(--font-label);letter-spacing:.14em;font-size:24px}.ac-panel{fill:#f5f6fa}.ac-h{fill:var(--ink);font-size:30px;font-weight:600}.ac-line{fill:#c5cbda}.ac-line.is-hit{fill:#afc0f5}.ac-link{stroke:#9aa3b8;stroke-width:4px;stroke-linecap:round}.ac-dot{fill:#e4e9fa}.ac-tick{fill:none;stroke:var(--signal);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1}.ac-check{fill:var(--ink);font-size:27px}.ac-book{fill:#1a2233}.ac-book-eyebrow{fill:#9db4ff;font-family:var(--font-label);letter-spacing:.14em;font-size:18px}.ac-book-h{fill:#f3f5fb;font-size:30px;font-weight:600}.ac-rule{stroke:#f3f5fb2e;stroke-width:1.5px}.ac-section{fill:#f3f5fbd9;font-size:23px}.ac-badge{fill:#2b3a5e}.ac-badge-t{fill:#bfd0ff;font-family:var(--font-label);letter-spacing:.14em;font-size:17px;font-weight:600}.pl-wedge{fill:#dde4fa}.pl-ring{fill:none;stroke:#b8c0d4;stroke-width:2px}.pl-ring-thin{stroke:#cbd2e2;stroke-width:1.5px}.pl-maj{fill:var(--ink);font-size:34px;font-weight:600}.pl-min{fill:#6b7488;font-size:24px}.pl-arc{fill:none;stroke:var(--signal);stroke-width:5px;stroke-linecap:round;stroke-dasharray:1}.pl-step-bg{fill:#f5f6fa}.pl-step-ring{fill:none;stroke-width:4px}.pl-step-ii .pl-step-ring{stroke:#0b7a5e}.pl-step-ii .pl-step-n{fill:#0b7a5e}.pl-step-v .pl-step-ring{stroke:#b9420c}.pl-step-v .pl-step-n{fill:#b9420c}.pl-step-i .pl-step-ring{stroke:var(--signal)}.pl-step-i .pl-step-n{fill:var(--signal)}.pl-step-n{font-size:32px;font-weight:600}.pl-times{fill:var(--ink)}.pl-times-t{fill:#fff;font-size:24px;font-weight:600}.pl-chords{font-size:40px;font-weight:600}.pl-c-ii{fill:#0b7a5e}.pl-c-v{fill:#b9420c}.pl-c-i{fill:var(--signal)}.pl-arrow{fill:#8a93a8;font-weight:400}.pl-numerals{fill:#6b7488;font-size:26px}.pl-fact{fill:var(--ink);font-size:34px;font-weight:500}.pl-fact-strong{fill:var(--signal);font-size:42px;font-weight:600}.pl-sub{fill:#6b7488;font-size:24px}.sp-axis line{stroke:#9aa3b8;stroke-width:2px}.sp-axis .sp-grid{stroke:#cbd2e2;stroke-width:1px}.sp-tick{fill:#5b6477;font-family:var(--font-label);font-size:24px}.sp-row{fill:var(--ink);font-size:28px;font-weight:600}.sp-shift{fill:#5b5bd6}.sp-sleep{fill:var(--signal)}.sp-nap{fill:#0b7a5e}.sp-block-t{fill:#fff;letter-spacing:.02em;font-size:26px;font-weight:600}.sp-mark{stroke-width:4px;stroke-linecap:round}.sp-cutoff{stroke:#c8502a}.sp-dim{stroke:#c99a1c}.sp-mark-t{fill:#3c4557;font-size:24px}.sp-planned{fill:var(--ink);font-size:28px}.sp-demo{fill:#6b7488;font-size:22px}.ac .cv-anim,.pl .cv-anim,.sp .cv-anim{animation:5.4s ease-out infinite cv-in}.ac-tick.cv-anim,.pl-arc.cv-anim{animation-name:cv-draw}.rec-list{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.rec-row{border-bottom:1px solid var(--hair);grid-template-columns:minmax(0,2fr) minmax(0,6fr) minmax(0,4fr);align-items:baseline;gap:8px 32px;padding:clamp(18px,2vw,30px) 0;display:grid}.rec-kind{color:var(--ink-2)}.rec-statement{font-weight:400;font-size:var(--fs-lead);letter-spacing:-.035em;line-height:1.04}a.rec-statement{text-underline-offset:.14em;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--hair);-webkit-text-decoration-color:var(--hair);-webkit-text-decoration-color:var(--hair);text-decoration-color:var(--hair)}a.rec-statement:hover{color:var(--signal);text-decoration-color:currentColor}.rec-context{color:var(--ink-2);font-size:15px;line-height:1.5}.rec-subtitle{color:var(--ink-2);margin:clamp(44px,5vw,72px) 0 14px}.rec-list-small .rec-statement{font-size:clamp(22px,2.2vw,32px)}:lang(ko) .rec-statement{letter-spacing:-.025em;font-weight:500;line-height:1.15}.research-rows{gap:clamp(72px,9vw,144px);margin:0;padding:0;list-style:none;display:grid}.research-row{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(28px,4vw,72px);display:grid}.research-row:nth-child(2n) .research-copy{order:2}.research-copy{align-content:center;gap:14px;max-width:46ch;display:grid}.research-num{color:var(--ink-2);margin:0}.research-title{font-weight:500;font-size:var(--fs-small);letter-spacing:.01em;color:var(--ink-2);margin:0}.research-lead{font-weight:400;font-size:var(--fs-lead);letter-spacing:-.035em;margin:0;line-height:1.04}:lang(ko) .research-lead{letter-spacing:-.025em;font-weight:500;line-height:1.25}.research-text{color:var(--ink-2);font-size:var(--fs-body);line-height:var(--lh-body);margin:6px 0 0}.research-link{font-size:var(--fs-small);text-underline-offset:4px;justify-self:start;margin-top:6px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}.research-link:hover{color:var(--signal)}.research-figure{gap:10px;margin:0;display:grid}.research-visual{aspect-ratio:4/3;border-radius:var(--radius-stage);isolation:isolate;position:relative;overflow:hidden}.research-visual[data-tone=dark]{background:radial-gradient(120% 90% at 30% 20%,#1a2140 0%,#0b0f1e 55%,#05070f 100%)}.research-visual[data-tone=light]{box-shadow:inset 0 0 0 1px var(--hair);background:radial-gradient(120% 100% at 70% 15%,#fff 0%,#edeef5 50%,#d9dcea 100%)}.research-visual canvas{display:block}[data-research-3d=off] .research-visual:after{content:"";opacity:.25;background:currentColor;height:1px;position:absolute;top:62%;left:10%;right:10%}.research-note{color:var(--ink-2);font-size:var(--fs-caption);margin:0;line-height:1.5}.tl-years{border-top:1px solid var(--ink);display:grid}.tl-year{border-bottom:1px solid var(--hair);grid-template-columns:minmax(0,2fr) minmax(0,10fr);gap:14px 32px;padding:clamp(20px,2.4vw,32px) 0;display:grid}.tl-year-num{letter-spacing:-.04em;margin:0;font-size:clamp(32px,3.2vw,48px);font-weight:300;line-height:1}.tl-year-num.tl-year-label{letter-spacing:-.02em;font-size:clamp(20px,1.8vw,26px);font-weight:400;line-height:1.2}.tl-year ul{gap:16px;margin:0;padding:0;list-style:none;display:grid}.tl-entry{grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,6fr);align-items:baseline;gap:4px 24px;display:grid}.tl-kind{color:var(--ink-2)}.tl-title{font-size:17px;font-weight:500;line-height:1.4}.tl-detail{color:var(--ink-2);font-size:15px;line-height:1.5}.home>section.contact{padding-bottom:clamp(24px,3vw,40px)}.contact-stage{border-radius:var(--radius-stage);background:var(--stage);color:var(--stage-ink);gap:20px;padding:clamp(40px,6vw,96px) clamp(24px,4vw,64px);display:grid}.contact-title{max-width:16ch;font-weight:300;font-size:var(--fs-statement);letter-spacing:-.04em;margin:0;line-height:.98}:lang(ko) .contact-title{letter-spacing:-.03em;max-width:18ch;font-weight:400;line-height:1.22}.contact-text{max-width:46ch;color:var(--stage-dim);margin:0;font-size:clamp(16px,1.3vw,19px)}.contact-email{letter-spacing:-.035em;text-underline-offset:.12em;justify-self:start;margin-top:clamp(16px,3vw,40px);font-size:clamp(26px,4.4vw,64px);font-weight:400;line-height:1.1;-webkit-text-decoration:underline #e9ecf759;text-decoration:underline #e9ecf759;text-decoration-thickness:1px}.contact-email:hover{color:#b3baff;text-decoration-color:currentColor}.contact-links{color:var(--stage-dim);margin:0;font-size:15px}.contact-links a:hover{color:var(--stage-ink)}.site-footer{background:var(--ground)}.footer-inner{width:min(var(--wrap),calc(100% - 2*var(--pad)));color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-inline:auto;padding:28px 0 36px;font-size:14px;display:flex}.footer-inner p{margin:0}.footer-links{gap:20px;display:flex}.footer-links a:hover{color:var(--ink)}.case-page{width:min(var(--max-width),calc(100% - 56px));padding:clamp(40px,6vw,72px) 0 96px}@media (max-width:640px){.case-page{width:min(var(--max-width),calc(100% - 36px))}}.back-link,.case-end-link{color:var(--ink-2);align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.back-link{margin-bottom:44px}.back-link:hover,.case-end-link:hover{color:var(--ink)}.arrow-icon,.back-icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.case-category{color:var(--ink-2);margin:0 0 14px}.case-title{letter-spacing:-.05em;margin:0;font-size:clamp(44px,6.6vw,92px);font-weight:400;line-height:.96}.case-chips{margin:22px 0 0}.case-chips li:first-letter{text-transform:uppercase}.case-intro{max-width:62ch;margin:26px 0 30px;font-size:clamp(18px,1.5vw,21px);line-height:1.58}:lang(ko) .case-intro{line-height:1.78}.case-notice{background:var(--sheet);max-width:66ch;box-shadow:inset 0 0 0 1px var(--hair);border-radius:10px;margin:-8px 0 28px;padding:14px 16px;font-size:15px;line-height:1.6}.case-live{flex-wrap:wrap;gap:10px;margin:0 0 40px;display:flex}.case-live-link,.case-code-link{border-radius:999px;align-items:center;min-height:44px;padding:10px 20px;font-size:14px;font-weight:600;line-height:1.25;display:inline-flex}.case-live-link{background:var(--ink);color:var(--ground)}.case-live-link:hover{background:var(--signal)}.case-code-link{box-shadow:inset 0 0 0 1.5px var(--ink);color:var(--ink)}.case-code-link:hover{background:var(--ink);color:var(--ground)}.case-inline-link{color:var(--signal);text-underline-offset:3px;text-decoration:underline}.case-inline-link:hover{color:var(--signal-dark)}.case-demo-note{color:var(--ink-2);margin:-6px 0 14px;font-size:14px}.lens-demo-section,.pl-demo-section{margin:36px 0 44px}.lens-demo-section h2,.pl-demo-section>h2,.academy-project-demo>h2{letter-spacing:-.02em;margin:0 0 14px;font-size:24px;font-weight:500}.case-figures{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;margin:8px 0 0;display:grid}.case-figure{background:var(--sheet);box-shadow:inset 0 0 0 1px var(--hair);border-radius:12px;margin:0;padding:12px}.case-figure:first-child:last-child{grid-column:1/-1}.case-figure img{object-fit:contain;background:var(--surface);border-radius:6px;width:100%;height:auto;max-height:520px;display:block}.case-figure figcaption{color:var(--ink-2);padding:10px 2px 0;font-size:13px;line-height:1.55}.phone-shots{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 12px;display:grid}.phone-shot{margin:0}.phone-shot img{background:var(--surface);width:100%;height:auto;box-shadow:0 0 0 1px var(--hair);border-radius:14px;display:block}.phone-shot figcaption{color:var(--ink-2);padding:8px 2px 0;font-size:13px;line-height:1.5}.case-sections{border-top:1px solid var(--ink);margin-top:64px}.case-section{border-bottom:1px solid var(--hair);grid-template-columns:220px minmax(0,1fr);gap:32px;padding:30px 0;display:grid}.case-section h2{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:500;line-height:1.3}.case-copy p{color:#252e40;max-width:68ch;margin:0;font-size:16px;line-height:1.75}:lang(ko) .case-copy p{line-height:1.85}.case-copy p+p{margin-top:14px}.case-table-wrap{overflow-x:auto}.case-table{border-collapse:collapse;color:#252e40;font-variant-numeric:tabular-nums;width:100%;font-size:14px;line-height:1.5}.case-table caption{caption-side:bottom;text-align:left;color:var(--ink-2);padding-top:12px;font-size:13px;line-height:1.55}.case-table th,.case-table td{border-bottom:1px solid var(--hair);text-align:left;vertical-align:top;white-space:pre-line;padding:10px 14px 10px 0}.case-table thead th{color:var(--ink);font-weight:600}.case-table tbody th{color:var(--ink);font-weight:500}.case-pager{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:52px;display:grid}.case-pager-link{border-top:1px solid var(--ink);gap:6px;padding:18px 0 0;display:grid}.case-pager-link.is-next{text-align:right}.case-pager-label{color:var(--ink-2);font-size:14px;font-weight:500}.case-pager-title{letter-spacing:-.025em;font-size:clamp(20px,2.2vw,30px);font-weight:500;line-height:1.1}.case-pager-link:hover .case-pager-title{color:var(--signal)}.case-end-link{margin-top:36px}.not-found{min-height:60vh}.not-found-links{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}@media (max-width:1100px){.main-nav a:not(.nav-short){display:none}}@media (max-width:900px){.section-head{grid-template-columns:1fr;gap:14px}.about-body{grid-template-columns:1fr}.work-grid{grid-template-columns:1fr;gap:clamp(44px,8vw,72px)}.work-card,.work-card:nth-child(n){grid-column:auto}.work-card.is-feature{grid-template-columns:1fr}.work-card.is-feature .work-title{font-size:clamp(28px,6vw,40px)}.research-row{grid-template-columns:1fr;gap:22px}.research-row:nth-child(2n) .research-copy{order:0}.research-figure{order:-1}.hero-foot{grid-template-columns:1fr}.hero-actions{justify-content:start}.rec-row{grid-template-columns:1fr;gap:6px}.tl-year{grid-template-columns:1fr}.tl-entry{grid-template-columns:1fr;gap:2px}.phone-shots{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){:root{--header-h:58px}.header-inner{gap:14px}.brand-name{display:none}.main-nav{gap:16px}.lang-switch{font-size:12px}.lang-switch a{padding:5px 10px}.hero-stage{min-height:620px}.hero-visual-still{object-position:50% 30%}.hero-title{top:60%}.hero-name{letter-spacing:-.03em;font-size:15.2vw;line-height:.92;display:grid}.intro-footnote{right:auto;left:var(--pad);text-align:left;max-width:30ch;bottom:54px}.stage-label{display:none}.intro-scroll{left:auto;right:var(--pad);translate:0}.hero-tagline{font-size:clamp(26px,7.4vw,34px)}.hero-actions .btn{min-height:46px;padding:11px 18px;font-size:15px}.case-figures{grid-template-columns:1fr}.research-visual{aspect-ratio:5/4}.section-head{margin-bottom:32px}.case-section{grid-template-columns:1fr;gap:10px;padding:22px 0}.case-pager-title{font-size:19px}.contact-email{letter-spacing:-.03em;font-size:7vw}}.lens-play{margin:0}.lens-play-controls{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.lens-chip{font:inherit;color:#182535;cursor:pointer;background:#fff;border:1px solid #d5dae3;border-radius:999px;padding:6px 12px;font-size:13px}.lens-chip[aria-pressed=true]{color:#fff;background:#182535;border-color:#182535}.lens-chip-ghost[aria-pressed=true]{background:#2d5ce3;border-color:#2d5ce3}.lens-play-stage{aspect-ratio:1;background:#05060d;border-radius:18px;width:100%;max-width:560px;position:relative;overflow:hidden}.lens-play-stage canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block;position:absolute;inset:0}.lens-play-stage canvas:active{cursor:grabbing}.lens-play-hint{letter-spacing:.06em;color:#8b95b5;pointer-events:none;font-size:11px;position:absolute;top:10px;left:12px}.lens-play-readout{color:#182535;font-variant-numeric:tabular-nums;min-height:1.4em;margin-top:10px;font-size:13px}.lens-play-legend{color:#5b6576;flex-direction:column;gap:4px;margin-top:8px;font-size:12px;display:flex}.lens-play-legend .lg{vertical-align:middle;width:18px;height:0;margin-right:8px;display:inline-block}.lg-crit{border-top:2px solid #5abfff}.lg-src{border-top:2px dotted #9aa3b8}.lg-img{border:1.5px solid #182535;border-radius:50%;width:9px!important;height:9px!important}.lens-play-note{color:#7b8494;margin-top:4px}.academy-demo-label{color:#536276;background:#fff;border:1px solid #dce3ec;border-radius:9px;max-width:760px;margin:18px 0 0;padding:12px 15px;font-size:12px;line-height:1.6}.academy-passage{border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:800px;margin:28px 0 0;padding:22px 0}.academy-passage h2,.validator-panel h2,.grammar-demo h2{letter-spacing:-.025em;margin:0;font-size:20px;font-weight:650}.academy-passage p{color:#526176;margin:12px 0 0;font-size:14px;line-height:1.85}.validator-panel{background:#fffdfc;border:1px solid #e9d9d3;border-radius:11px;max-width:760px;margin:24px 0 30px;padding:16px 18px}.validator-panel-heading .eyebrow{color:#8b5d50;margin-bottom:6px}.validator-item{border-top:1px solid #efe5e1;flex-direction:column;gap:8px;margin:0;padding:13px 0;display:flex}.validator-item>div{grid-template-columns:minmax(100px,.45fr) minmax(0,1fr);gap:18px;display:grid}.validator-item dt{color:#7b625b;font-size:11px;font-weight:700}.validator-item dd{color:#3d4a5b;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.6}.validator-item code{color:#9b3e28;font-size:11px}.grammar-demo h3{margin:24px 0 8px;font-size:13px}.grammar-correct-text{color:#536276;max-width:850px;margin:10px 0 0;font-size:13px;line-height:1.8}.grammar-target-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:24px;display:grid}.grammar-target{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:0;padding:16px}.grammar-target-index{color:var(--blue-dark);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:10px;font-weight:700}.grammar-target-sentence{color:#35465a;margin:0;font-size:12px;line-height:1.75}.grammar-target-fix{color:var(--muted);flex-wrap:wrap;gap:7px 12px;margin:11px 0 0;font-size:11px;display:flex}.grammar-target-fix strong{color:#263c63}.grammar-target-explanation{color:var(--muted);margin:9px 0 0;font-size:11px;line-height:1.7}.academy-project-demo{border:1px solid var(--line);background:#fff;border-radius:16px;margin:30px 0 42px;padding:22px}.academy-project-demo>h2{letter-spacing:-.03em;margin:0 0 14px;font-size:20px}.academy-demo{max-width:900px}.academy-demo-label{margin-top:0}.academy-demo-heading{margin:28px 0 12px}.academy-demo-heading .eyebrow{color:var(--blue);margin-bottom:5px}.academy-demo-heading h3,.grammar-demo h3{letter-spacing:-.03em;margin:0;font-size:19px;font-weight:680}.academy-passage h3{margin:0;font-size:17px;font-weight:680}.academy-analysis{max-width:800px;margin-top:28px}.academy-disclosure{border-top:1px solid var(--line);color:#27384d}.academy-disclosure:last-of-type{border-bottom:1px solid var(--line)}.academy-disclosure summary,.academy-answer summary{cursor:pointer;justify-content:space-between;align-items:center;gap:14px;padding:13px 2px;font-size:13px;font-weight:650;list-style:none;display:flex}.academy-disclosure summary::-webkit-details-marker{display:none}.academy-answer summary::-webkit-details-marker{display:none}.academy-disclosure summary:after,.academy-answer summary:after{content:"+";color:var(--blue);font-size:18px;line-height:1}.academy-disclosure[open]>summary:after,.academy-answer[open]>summary:after{content:"−"}.academy-disclosure summary span{color:var(--muted);margin-left:auto;font-size:11px;font-weight:450}.academy-flow-list,.academy-highlight-list{color:#526176;gap:9px;margin:0;padding:0 0 14px 20px;font-size:12px;line-height:1.65;display:grid}.academy-flow-list li,.academy-highlight-list li{padding-left:3px}.academy-flow-list li strong,.academy-highlight-list li strong{color:#26384d;font-size:12px;display:block}.academy-flow-list li span,.academy-highlight-list li span{margin-top:3px;display:block}.academy-highlight-list li p{color:#707d8e;margin:5px 0 0}.academy-topic-summary{gap:9px;margin-top:14px;display:grid}.academy-topic-summary p{color:#526176;margin:0;font-size:12px;line-height:1.7}.academy-topic-summary span{color:#26384d;letter-spacing:.07em;text-transform:uppercase;margin-bottom:2px;font-size:10px;font-weight:700;display:block}.academy-questions{margin-top:34px}.academy-question-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.academy-question{border:1px solid var(--line);background:#fff;border-radius:11px;min-width:0;padding:16px}.academy-question-family{color:var(--blue-dark);letter-spacing:.07em;text-transform:uppercase;margin:0 0 8px;font-size:10px;font-weight:700}.academy-question h4{color:#26384d;margin:0;font-size:13px;line-height:1.55}.academy-options{color:#526176;gap:7px;margin:12px 0;padding-left:22px;font-size:12px;line-height:1.6;display:grid}.academy-answer{border-top:1px solid #e9edf3}.academy-answer summary{color:var(--blue-dark);justify-content:flex-start;padding:10px 0 2px;font-size:12px}.academy-answer>div{padding:7px 0 2px}.academy-answer>div p{color:#526176;margin:7px 0;font-size:12px;line-height:1.65}.academy-answer>div strong{color:#26384d}.validator-panel h3{letter-spacing:-.03em;margin:0;font-size:17px;font-weight:680}.validator-items{margin-top:10px}.validator-item{gap:6px;padding:10px 0}.validator-item dt{color:#7c695f}.validator-item dd code{overflow-wrap:anywhere}.grammar-demo{border-top:1px solid var(--line);max-width:800px;margin:34px 0 0;padding-top:23px}.grammar-demo>.eyebrow{color:var(--blue);margin-bottom:6px}.grammar-problem-intro{color:#526176;margin:10px 0 0;font-size:12px}.grammar-correct-text{color:#526176;font-size:12px;line-height:1.8}.academy-grammar-answers{margin-top:18px}.academy-grammar-answers>summary{justify-content:flex-start}.academy-grammar-answers h4{color:#26384d;margin:12px 0 5px;font-size:13px}.academy-grammar-answers .grammar-target-list{margin-top:16px}@media (max-width:640px){.validator-panel{padding:15px}.validator-item>div{grid-template-columns:minmax(88px,.42fr) minmax(0,1fr);gap:12px}.grammar-target-list{grid-template-columns:1fr;gap:8px}.academy-project-demo{border-radius:12px;margin:25px 0 32px;padding:15px}.academy-question-list{grid-template-columns:1fr}.academy-question{padding:14px}.academy-disclosure summary,.academy-answer summary{font-size:12px}.academy-passage p{font-size:13px}.academy-demo-label{font-size:11px}}.pl-demo-section{margin:26px 0 38px}.pl-demo-section>h2{margin:0 0 12px;font-size:18px;font-weight:700}.pl{--fn-t:#2d5ce3;--fn-t-bg:#eef2ff;--fn-pd:#0b7a5e;--fn-pd-bg:#e6f5f0;--fn-d:#b9420c;--fn-d-bg:#fdeee5;--fn-x:#617083;--fn-x-bg:#eef1f5;--fn-pass:#6e5a93;--fn-pass-bg:#f1eef7;gap:12px;max-width:860px;display:grid}.pl-panel{border:1px solid var(--line);background:var(--surface);border-radius:14px;min-width:0;padding:16px}.pl-label{margin-bottom:6px;font-size:13px;font-weight:700;display:block}.pl-label-sm{color:var(--muted);letter-spacing:.02em;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.pl-input{resize:vertical;border:1px solid var(--line);background:var(--paper);width:100%;min-height:56px;color:var(--navy);border-radius:10px;padding:10px 12px;font:600 16px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.pl-input:focus-visible,.pl select:focus-visible,.pl button:focus-visible,.pl pre:focus-visible,.pl input[type=range]:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.pl-handle:focus-visible{stroke:var(--navy);stroke-width:3px;outline:none}.pl-help{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.6}.pl-help code,.pl-error code{background:var(--paper);border-radius:4px;padding:0 3px;font-size:11px}.pl-error{color:#a3361a;margin:8px 0 0;font-size:12px}.pl-chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.pl-row-head .pl-chips{margin-top:0}.pl-chip{border:1px solid var(--line);background:var(--surface);min-height:32px;color:var(--navy);cursor:pointer;border-radius:99px;padding:5px 11px;font-size:12px;font-weight:600;transition:border-color .15s,background .15s}.pl-chip:hover{border-color:var(--blue)}.pl-chip.is-active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-dark)}.pl-primary{background:var(--navy);color:#fff;cursor:pointer;border:0;border-radius:99px;min-height:40px;margin-top:12px;padding:9px 16px;font-size:13px;font-weight:700;transition:background .15s}.pl-primary:hover{background:var(--blue-dark)}.pl-primary:disabled{opacity:.45;cursor:not-allowed}.pl-small{min-height:34px;margin-top:0;padding:6px 16px}.pl-h{margin:0;font-size:14px;font-weight:700}.pl-row-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.pl-kicker{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:11px;font-weight:700}.pl-key-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.pl-key-name{letter-spacing:-.03em;margin:2px 0 0;font-size:26px;font-weight:650;line-height:1.15}.pl select{border:1px solid var(--line);background:var(--surface);max-width:100%;min-height:36px;color:var(--navy);border-radius:8px;padding:6px 10px;font-size:13px}.pl-conf{background:var(--paper);border-radius:99px;height:8px;margin-top:12px;overflow:hidden}.pl-conf span{background:var(--blue);border-radius:99px;height:100%;transition:width .3s;display:block}.pl-key-note{color:var(--muted);font-variant-numeric:tabular-nums;margin:8px 0 0;font-size:12px}.pl-ambig{background:var(--paper);min-height:3.2em;color:var(--muted);border-radius:8px;margin:6px 0 0;padding:7px 10px;font-size:12px;line-height:1.5}.pl-ambig.is-on{color:#7a4b00;background:#fff6e5}.pl-ambig.is-centres{background:var(--blue-soft);color:var(--blue-dark)}.pl-legend{flex-wrap:wrap;gap:4px 10px;margin:0;padding:0;font-size:11px;font-weight:600;list-style:none;display:flex}.pl-legend li:before{content:"";vertical-align:-1px;background:currentColor;border-radius:3px;width:9px;height:9px;margin-right:4px;display:inline-block}.fn-t{color:var(--fn-t)}.fn-pd{color:var(--fn-pd)}.fn-d{color:var(--fn-d)}.fn-x{color:var(--fn-x)}.fn-pass{color:var(--fn-pass)}.pl-chords{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.pl-chord{border:1px solid;border-radius:10px;position:relative;overflow:hidden}.pl-chord.fn-t{background:var(--fn-t-bg)}.pl-chord.fn-pd{background:var(--fn-pd-bg)}.pl-chord.fn-d{background:var(--fn-d-bg)}.pl-chord.fn-x{background:var(--fn-x-bg)}.pl-chord.fn-pass{background:var(--fn-pass-bg)}.pl-chord.is-inferred{background:var(--surface);border-style:dashed}.pl-chord.in-span{box-shadow:0 0 0 3px #2d5ce347}.pl-device{min-height:1.5em;color:var(--navy);overflow-wrap:anywhere;opacity:.8;margin-top:3px;font-size:10px;font-weight:700;line-height:1.3}.pl-chord.is-playing{box-shadow:inset 0 0 0 3px}.pl-chord-main{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:8px 8px 7px;display:grid}.pl-sym{color:var(--navy);overflow-wrap:anywhere;font-size:15px;font-weight:700}.pl-roman{overflow-wrap:anywhere;font-family:Georgia,Times New Roman,serif;font-size:15px;font-weight:700}.pl-fn{letter-spacing:.06em;opacity:.85;font-size:10px;font-weight:700}.pl-lock{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;display:grid;position:absolute;top:4px;right:4px}.pl-lock svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;width:15px;height:15px}.pl-lock.is-locked{color:var(--navy);background:#ffffffbf}.pl-lock.is-locked svg rect{fill:currentColor}.pl-info{min-height:3.4em;margin-top:10px}.pl-info p{color:#3d4b5e;margin:0;font-size:12px;line-height:1.6}.pl-cadences{color:#3d4b5e;margin:8px 0 0;padding:0;font-size:12px;list-style:none}.pl-cadences span{background:var(--blue-soft);color:var(--blue-dark);text-transform:capitalize;border-radius:99px;margin-right:4px;padding:0 6px;font-size:11px;font-weight:700;display:inline-block}.pl-chart{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;margin-top:10px;display:block}.pl-grid{stroke:var(--line);stroke-width:1px}.pl-axis{fill:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:11px}.pl-axis-roman{font-family:Georgia,serif;font-size:13px;font-weight:700}.pl-axis-roman.fn-pass{fill:var(--fn-pass)}.pl-axis-roman.fn-t{fill:var(--fn-t)}.pl-axis-roman.fn-pd{fill:var(--fn-pd)}.pl-axis-roman.fn-d{fill:var(--fn-d)}.pl-axis-roman.fn-x{fill:var(--fn-x)}.pl-line-current{fill:none;stroke:var(--navy);stroke-width:2.5px;stroke-linejoin:round}.pl-line-target{fill:none;stroke:var(--blue);stroke-width:2px;stroke-dasharray:6 5}.pl-line-overlay{fill:none;stroke:var(--fn-d);stroke-width:2.5px;stroke-linejoin:round;opacity:.85}.pl-pt-current{fill:var(--navy)}.pl-handle{fill:#2d5ce324;stroke:var(--blue);stroke-width:2px;cursor:ns-resize}.pl-handle:hover{fill:#2d5ce34d}.pl-playcol{fill:var(--blue-soft)}.pl-chart-legend{color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin-top:4px;font-size:11px;display:flex}.pl-chart-legend span:before{content:"";border-top:2.5px solid var(--navy);vertical-align:3px;width:18px;height:0;margin-right:5px;display:inline-block}.pl-chart-legend .lg-target:before{border-top:2px dashed var(--blue)}.pl-chart-legend .lg-overlay:before{border-top-color:var(--fn-d)}.pl-suggest{min-height:120px}.pl-sugg-list{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.pl-sugg{border:1px solid var(--line);background:var(--paper);border-radius:11px;padding:11px 12px}.pl-sugg.is-selected{border-color:var(--fn-d);background:#fff9f5}.pl-sugg-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;display:flex}.pl-sugg-chords{color:var(--navy);text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;gap:4px 8px;padding:0;font:700 15px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.pl-sugg-chords span.is-playing{color:var(--blue);text-underline-offset:3px;text-decoration:underline}.pl-sugg-dist{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.pl-sugg-why{color:#3d4b5e;margin:6px 0 0;padding-left:16px;font-size:12px;line-height:1.55}.pl-sugg-actions{gap:6px;margin-top:8px;display:flex}.pl-transport{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pl-tempo{color:var(--muted);font-variant-numeric:tabular-nums;gap:2px;font-size:11px;font-weight:600;display:grid}.pl-tempo input{width:150px;accent-color:var(--blue)}.pl-controls{flex-wrap:wrap;gap:12px 22px;margin-top:12px;display:flex}.pl-ctrl{min-width:0}.pl-steps{gap:6px;display:flex}.pl-steps .pl-chip{min-width:44px}.pl-boxes{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;margin-top:12px;display:grid}.pl-box{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:10px;margin:0;padding:6px 4px 8px}.pl-box.is-active{border-color:var(--blue);background:var(--blue-soft)}.pl-box svg{width:100%;max-width:92px;height:auto;margin:0 auto;display:block}.pl-box figcaption{font-size:12px;line-height:1.3;display:grid}.pl-box figcaption span{color:var(--muted);font-size:10px}.pl-nut{fill:var(--navy)}.pl-fret{stroke:#b9c3d0;stroke-width:1px}.pl-string{stroke:#7d8a9b;stroke-width:1px}.pl-dot{fill:var(--navy)}.pl-open{fill:none;stroke:var(--navy);stroke-width:1.3px}.pl-mark{fill:var(--muted);text-anchor:middle;font-family:Arial,sans-serif;font-size:10px}.pl-fretnum{fill:var(--muted);font-family:Arial,sans-serif;font-size:9px}.pl-tab{margin-top:14px}.pl-tab pre{background:var(--navy);color:#e8edf6;border-radius:10px;margin:6px 0 0;padding:12px;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-x:auto}.pl-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}html[data-pl-pending] .pl-root,html[data-pl-pending] .pl-demo-section~*,html[data-pl-pending] .site-footer{visibility:hidden}.pl-lang{border:1px solid var(--line);background:var(--surface);border-radius:99px;margin:0 0 10px;padding:3px;display:inline-flex}.pl-lang-btn{width:64px;min-height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:99px;padding:4px 0;font-size:12px;font-weight:700}.pl-lang-btn.is-active{background:var(--navy);color:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}.pl-lang-btn:lang(ko),.pl:lang(ko){font-family:Arial,Helvetica,Apple SD Gothic Neo,AppleSDGothicNeo-Regular,Noto Sans KR,Malgun Gothic,sans-serif}.pl-lang-btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.pl[lang=ko]{word-break:keep-all;overflow-wrap:anywhere}.pl[lang=ko] .pl-device,.pl[lang=ko] .pl-chord-local,.pl[lang=ko] .pl-region-kind{word-break:keep-all}.pl-play{min-width:72px}.pl-copy{min-width:88px}.pl-circle{border-top:1px solid var(--line);grid-template-columns:minmax(0,400px) minmax(0,1fr);align-items:start;gap:14px 22px;margin-top:14px;padding-top:14px;display:grid}.pl-circle-figure{aspect-ratio:1;width:100%;max-width:420px}.pl-circle-svg{width:100%;height:100%;display:block;overflow:visible}.pl-c-ring{fill:none;stroke:var(--line);stroke-width:1px}.pl-c-spoke{stroke:var(--line);stroke-width:1px}.pl-c-wedge.is-active{fill:#2d5ce317;stroke:#2d5ce359;stroke-width:1.5px}.pl-c-wedge.is-outline{fill:none;stroke:#2d5ce373;stroke-width:1.5px;stroke-dasharray:5 4}.pl-c-tonic{fill:none;stroke:var(--navy);stroke-width:2px}.pl-c-label{fill:var(--muted);pointer-events:none;font-family:Arial,Helvetica,sans-serif}.pl-c-label-outer{fill:var(--navy);font-size:16px;font-weight:700}.pl-c-label-middle,.pl-c-label-inner{font-size:14.5px}.pl-c-chain{fill:none;stroke:#2d5ce329;stroke-width:26px;stroke-linecap:round;stroke-linejoin:round}.pl-c-triangle{fill:#b9420c12;stroke:#b9420c;stroke-width:2px;stroke-dasharray:6 4}.pl-c-node,.pl-c-arrow-hit{cursor:pointer;outline:none}.pl-c-arrow-hit:focus-visible .pl-c-arrow{stroke-width:4.5px}.pl-c-node:focus-visible circle{stroke:var(--navy);stroke-width:4px}.pl-c-num{pointer-events:none;font:700 14.5px Arial,Helvetica,sans-serif}.pl-c-badge rect{fill:var(--navy)}.pl-c-badge text{fill:#fff;pointer-events:none;font:700 15px Arial,Helvetica,sans-serif}.pl-circle-side{min-width:0}.pl-circle-title{margin:0;font-size:14px;font-weight:700}.pl-circle-summary{margin:4px 0 0;font-size:15px;font-weight:650;line-height:1.45}.pl-circle-notes{color:#3d4b5e;margin:6px 0 0;padding:0;font-size:12px;list-style:none}.pl-circle-notes:empty{display:none}.pl-circle-steps{align-items:center;gap:8px;margin-top:10px;display:flex}.pl-circle-steps input{min-width:0;accent-color:var(--blue);flex:1}.pl-circle-steps .pl-chip{min-width:40px}.pl-circle-detail{color:#3d4b5e;min-height:3.2em;margin:6px 0 0;font-size:12px;line-height:1.6}.pl-circle-legend{color:#3d4b5e;flex-wrap:wrap;gap:4px 12px;margin-top:8px;font-size:11px;display:flex}.pl-circle-legend-item{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.pl-chord.is-linked{box-shadow:0 0 0 3px var(--navy)}.pl-sig{flex:none;display:block}.pl-sig-bg{fill:var(--surface);stroke:var(--line);stroke-width:6px}.pl-sig-wedge{fill:#2d5ce31f}.pl-sig-node{fill:var(--navy)}.pl-sig-node.is-out{fill:var(--surface);stroke:var(--navy);stroke-width:6px}@media (max-width:760px){.pl-circle{grid-template-columns:minmax(0,1fr)}.pl-circle-figure{max-width:none}}@media (prefers-reduced-motion:reduce){.pl-circle *,.pl-chord{transition:none!important;animation:none!important}}.pl-chord-local{color:var(--muted);margin-top:2px;font-size:10px;font-weight:600;line-height:1.3}.pl-regions{margin-top:12px}.pl-region-row{gap:3px;min-height:40px;display:flex}.pl-region{background:var(--blue-soft);min-width:0;color:var(--blue-dark);border-radius:7px;align-content:center;padding:4px 7px;display:grid;overflow:hidden}.pl-region.kind-modulation{color:#8a3209;background:#fdeee5}.pl-region.kind-tonicisation{color:#4f3f70;background:#f1eef7}.pl-region-key{white-space:nowrap;font-size:13px;font-weight:700;line-height:1.2}.pl-region-kind{white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:1.2;overflow:hidden}.pl-pivots{color:#3d4b5e;margin:6px 0 0;font-size:12px}.pl-spans{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.pl-span{border:1px solid var(--line);background:var(--paper);min-height:32px;color:var(--navy);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.pl-span.is-active{border-color:var(--blue);background:var(--blue-soft)}.pl-span-bar{background:var(--blue);border-radius:2px;width:14px;height:4px}.pl-span-range{color:var(--muted);font-weight:400}.pl-info-body p{margin:0}.pl-info-body p+p{margin-top:4px}.pl-info-why,.pl-info-alt{color:var(--muted)}.pl-check{color:#3d4b5e;cursor:pointer;align-items:flex-start;gap:8px;margin-top:12px;font-size:12px;line-height:1.5;display:flex}.pl-check input{width:16px;height:16px;accent-color:var(--blue);flex:none;margin:1px 0 0}.pl-lib-count{margin:0}.pl-lib-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-top:12px;display:grid}.pl-lib-card{border:1px solid var(--line);background:var(--paper);border-radius:11px;flex-direction:column;min-width:0;padding:13px;display:flex}.pl-lib-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.pl-lib-top .pl-sig{align-self:center}.pl-lib-top h4{flex:1;min-width:0;margin:0;font-size:15px;font-weight:700;line-height:1.3}.pl-lib-level{background:var(--surface);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-radius:99px;flex:none;padding:1px 7px;font-size:10px;font-weight:700}.pl-lib-level.lv-advanced{color:#8a3209}.pl-lib-meta{color:var(--muted);margin:2px 0 0;font-size:11px}.pl-lib-numerals{color:var(--blue-dark);overflow-wrap:anywhere;margin:8px 0 0;font-family:Georgia,Times New Roman,serif;font-size:14px;font-weight:700}.pl-lib-chords{overflow-wrap:anywhere;margin:3px 0 0;font:600 13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.pl-lib-why{color:#3d4b5e;margin:6px 0 0;font-size:12px;line-height:1.55}.pl-lib-heard{color:#3d4b5e;margin:6px 0 0;padding:0;font-size:11px;line-height:1.5;list-style:none}.pl-lib-heard-ctx{color:#3d4b5e;margin:6px 0 0;font-size:11px}.pl-lib-actions{align-items:center;gap:6px;margin-top:auto;padding-top:10px;display:flex}.pl-lib-key select{min-height:32px;padding:4px 8px;font-size:12px}.pl-try{border-color:var(--navy)}.pl-lib-more{margin-top:12px}.pl-lib-filters{margin-top:10px}.pl-lib-row{flex-wrap:wrap;gap:10px 14px;margin-top:10px;display:flex}.pl-lib-field{min-width:0;display:grid}.pl-lib-search{flex:180px}.pl-lib-search input{border:1px solid var(--line);background:var(--surface);width:100%;min-height:36px;color:var(--navy);border-radius:8px;padding:6px 10px;font-size:14px}.pl-lib-search input:focus-visible{outline:2px solid var(--blue);outline-offset:2px}@media (max-width:640px){.pl-panel{border-radius:12px;padding:13px}.pl-lib-grid{grid-template-columns:1fr}.pl-key-name{font-size:22px}.pl-tempo input{width:120px}}@media (prefers-reduced-motion:reduce){.pl-conf span,.pl-chip,.pl-primary{transition:none}}@media print{html{scroll-padding-top:0}.site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:1px solid #dce3ec;position:static}.case-page{padding-top:16px}.header-cta{color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy);background:0 0}.pl-lang-btn.is-active{color:var(--navy);box-shadow:inset 0 0 0 2px var(--navy);background:#fff}.pl-circle-figure,.pl-chord,.pl-sugg,.pl-lib-card,.pl-box{break-inside:avoid}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}
