:root{--ink:#2e1a61;--panel:#2e1a61;--paper:#f5f1ff;--acid:#671cff;--acid-2:#c7ff6b;--accent-text:var(--acid-2);--secondary-light:#463d63;--muted-light:#6a6285;--bar-track:#e2dafa;--acid-hover:#4e12cc;--secondary-dark:#d6cfea;--muted-dark:#b3aacb;--acid-2-hover:#e3ffb5;--white:#ffffff;--muted:#b3aacb;--line:#ffffff25;--pad:clamp(22px,5vw,88px);--body:clamp(15px,1.15vw,18px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ink);color:var(--paper);font-family:'IBM Plex Sans KR','Apple SD Gothic Neo',sans-serif;font-size:var(--body);line-height:1.6;word-break:keep-all}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--acid-2);outline-offset:5px}::selection{background:var(--acid-2);color:var(--ink)}h1,h2,h3,p,figure{margin:0}button{color:inherit}svg{display:block}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:var(--acid-2);color:var(--ink);padding:12px}.skip:focus{top:10px}.header{height:96px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:5;background:var(--ink)}.brand{display:flex;align-items:center;gap:13px;font-size:15px;font-weight:700;line-height:1.08;letter-spacing:-.4px}.brand svg{width:37px;height:37px;stroke:var(--acid-2);stroke-width:2.4}.header nav{display:flex;gap:32px;font-size:13px;color:#d6cfea}.header nav a:hover{color:var(--acid-2-hover)}.header-cta{background:var(--acid-2);color:var(--ink);border:1px solid var(--acid-2);border-radius:30px;font-size:13px;padding:10px 18px;display:flex;gap:22px;align-items:center}.header-cta:hover{background:var(--acid-2-hover);color:var(--ink)}.hero{position:relative;min-height:760px;height:min(900px,calc(100svh - 96px));padding:30px var(--pad) 0;overflow:hidden}.hero-top{display:flex;align-items:center;justify-content:space-between}.eyebrow,.micro,.section-index,.orbital-label,.film-tag,.film-coordinate,.photo-label,.photo-number,.test-card-top,.event-meta>div>span{font-family:'IBM Plex Mono','IBM Plex Sans KR',monospace;font-size:10px;letter-spacing:1.6px;font-weight:500}.eyebrow{display:flex;align-items:center;gap:10px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--acid-2);box-shadow:0 0 13px #671cff66;margin-right:6px}.micro{color:#b3aacb}.hero-copy{position:relative;z-index:2;padding:75px 0 80px;pointer-events:none}.hero-copy h1{font-size:clamp(54px,6.5vw,104px);line-height:1.16;font-weight:600;letter-spacing:-5px;max-width:820px}.hero-copy em{font-style:normal;color:var(--accent-text)}.hero-copy p{margin-top:26px;font-size:15px;line-height:1.8;color:#d6cfea}.text-link{display:inline-flex;align-items:center;gap:38px;border-bottom:1px solid #b3aacb;padding:12px 0;font-size:13px;pointer-events:auto}.text-link:hover{color:var(--accent-text);border-color:var(--accent-text)}.hero-copy .text-link{margin-top:24px}.text-link span{font-size:18px}.orbital{position:absolute;top:55px;right:-35px;width:64%;height:calc(100% - 110px);pointer-events:none}.orbital canvas{width:100%;height:100%}.orbital-cross{position:absolute;top:50%;left:50%;font-size:32px;color:var(--acid-2);transform:translate(-50%,-50%);font-weight:200}.orbital-label{position:absolute;color:#b3aacb;font-size:8px;letter-spacing:2px;left:50%;transform:translateX(-50%);white-space:nowrap}.label-top{top:13%}.label-bottom{bottom:12%}.signal{position:absolute;padding:8px 12px;font-size:11px;color:#f5f1ff;background:#2e1a61ed;border:1px solid #671cff70;border-radius:3px;box-shadow:0 4px 30px #0005}.signal::before{content:'';display:inline-block;width:4px;height:4px;background:var(--acid-2);border-radius:50%;margin-right:9px}.signal-one{top:28%;right:14%}.signal-two{top:57%;right:5%}.signal-three{bottom:19%;left:25%}.section{padding:44px var(--pad) 95px;scroll-margin-top:0}.section-index{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:23px;font-size:9px;color:#b3aacb}.section-index>span:first-child{color:var(--accent-text)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:55px 0 40px;gap:30px}.section-heading h2{font-size:clamp(37px,4.1vw,62px);font-weight:600;line-height:1.22;letter-spacing:-2.7px}.section-heading>p,.section-heading>div{max-width:430px;color:#b3aacb;font-size:14px;line-height:1.8}.section-heading>div .text-link{margin-top:17px}.film-screen{aspect-ratio:2.1;position:relative;overflow:hidden;border:1px solid #671cff70;background:#2e1a61}.film-art{position:absolute;inset:0;overflow:hidden;background:radial-gradient(ellipse at 65% 50%,#671cff40,transparent 60%),repeating-linear-gradient(0deg,transparent 0 3px,#00000012 3px 4px)}.film-ring{position:absolute;width:65%;aspect-ratio:1;border:1px solid #671cff70;border-radius:50%;top:50%;left:60%;transform:translate(-50%,-50%) rotateX(50deg) rotateZ(-30deg)}.ring-two{width:88%;transform:translate(-50%,-50%) rotateX(55deg) rotateZ(15deg)}.ring-three{width:45%;border-color:#c7ff6b99}.film-wordmark{position:absolute;left:6%;top:50%;transform:translateY(-50%);font-size:clamp(42px,8.8vw,142px);font-weight:700;line-height:.9;letter-spacing:-6px;opacity:.88}.film-wordmark em{font-style:normal;color:var(--accent-text)}.film-coordinate{position:absolute;right:4%;top:45%;writing-mode:vertical-rl;color:#c7ff6b99;font-size:9px}.film-tag{position:absolute;left:32px;top:24px;font-size:9px;color:#d6cfea}.play-button{position:absolute;left:75%;top:50%;transform:translate(-50%,-50%);width:80px;aspect-ratio:1;border:1px solid #671cff;background:var(--acid-2);color:var(--paper);border-radius:50%;display:grid;place-items:center}.play-button span{font-size:20px;padding-left:4px}.play-button:hover{background:var(--acid-2-hover);color:var(--ink);transform:translate(-50%,-50%) scale(1.06)}.film-bottom{position:absolute;bottom:22px;left:32px;right:32px;display:flex;justify-content:space-between;font-size:11px;color:#d6cfea}.draft-media{font-size:10px;opacity:.6}.media-caption{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#b3aacb;padding:14px 0}.media-caption a,.quiet-button{font-size:11px;background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:4px;color:inherit}.media-caption a:hover,.quiet-button:hover{color:var(--acid-2-hover)}.dispatch{background:#2e1a61}.dispatch-frame{border:1px solid #671cff70;border-radius:5px;overflow:hidden;background:#2e1a61}.frame-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;height:42px;background:#2e1a61;border-bottom:1px solid #671cff70;padding:0 17px;font-size:8px;letter-spacing:1.4px;color:#b3aacb}.frame-bar>span:first-child{display:flex;gap:5px}.frame-bar i{width:5px;height:5px;border-radius:50%;background:#c7ff6b}.frame-bar button{border:0;background:none;font-size:11px;letter-spacing:0}.dispatch-frame iframe{display:block;width:100%;height:600px;border:0;background:#2e1a61}.dispatch-frame:fullscreen{display:flex;flex-direction:column}.dispatch-frame:fullscreen iframe{flex:1;height:auto}.on-site{padding-top:80px}.gallery{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:230px 230px;gap:14px}.photo-slot{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid #671cff55;background:#2e1a61;color:#b3aacb;padding:0;text-align:left}.photo-slot:hover{border-color:#c7ff6b}.photo-main{grid-row:span 2}.photo-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(50% - .5px),#671cff18 50%,transparent calc(50% + .5px)),linear-gradient(0deg,transparent calc(50% - .5px),#671cff18 50%,transparent calc(50% + .5px))}.photo-slot::after{content:'';position:absolute;inset:20px;border:1px solid #671cff25}.photo-number{position:absolute;top:23px;left:25px;color:#c7ff6b;font-size:10px}.photo-placeholder{display:flex;flex-direction:column;align-items:center;font-size:13px;color:#b3aacb;gap:10px}.photo-placeholder>span{font-size:26px;font-weight:200;color:#c7ff6b}.photo-label{position:absolute;bottom:20px;left:25px;color:#b3aacb;font-size:8px;letter-spacing:1px}.photo-slot img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.photo-slot.has-image::after,.photo-slot.has-image .photo-placeholder,.photo-slot.has-image .photo-grid,.photo-slot.has-image .photo-label{display:none}.photo-slot.has-image .photo-number{z-index:2;color:white;text-shadow:0 1px 10px #000}.event-meta{display:flex;justify-content:space-between;gap:20px;margin-top:30px;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.event-meta>div>span{display:block;font-size:8px;color:#b3aacb;margin-bottom:8px}.event-meta strong{font-size:12px;font-weight:400;line-height:1.7}.event-meta>a{font-size:11px;align-self:flex-end;text-decoration:underline;text-underline-offset:5px}.tests{background:var(--paper);color:var(--ink);padding-top:80px}.tests .section-index{border-color:#2e1a612b;color:#463d63}.tests .section-index>span:first-child{color:#671cff}.tests .section-heading>p{color:#463d63}.test-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.test-card{position:relative;min-height:510px;padding:28px 34px;overflow:hidden;display:flex;flex-direction:column;border:1px solid #2e1a6135}.test-need{background:var(--acid);color:var(--paper)}.test-angel{background:var(--panel);color:var(--paper)}.test-card-top{display:flex;justify-content:space-between;font-size:9px;color:#2e1a61}.test-card-top>span:last-child{font-size:22px;line-height:1}.test-card h3{margin-top:100px;font-size:clamp(30px,3.1vw,46px);line-height:1.25;letter-spacing:-1.9px;font-weight:600;position:relative;z-index:1}.test-card p{font-size:13px;line-height:1.8;margin-top:16px;max-width:300px;position:relative;z-index:1}.test-action{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #2e1a6140;margin-top:auto;padding-top:20px;font-size:12px;position:relative;z-index:1}.test-action>span{font-size:20px;line-height:1}.test-symbol{position:absolute;right:5%;top:13%;width:200px;height:200px;color:#2e1a6138;transition:transform .6s}.test-card:hover .test-symbol{transform:rotate(22deg)}.symbol-orbit i{position:absolute;inset:0;border:1px solid #2e1a6155;border-radius:50%;transform:rotateX(40deg) rotateY(30deg)}.symbol-orbit i:nth-child(2){transform:rotateY(60deg) rotateZ(60deg)}.symbol-orbit i:nth-child(3){transform:rotateX(60deg) rotateZ(20deg)}.symbol-orbit .angel-mark{position:absolute;inset:15%;width:70%;height:70%;color:#2e1a6165}.symbol-flower .angel-mark{width:100%;height:100%;color:#c7ff6b55}.voices{padding-top:80px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.review{border-top:1px solid #671cff;display:flex;flex-direction:column;padding-top:24px}.quote-mark{font-family:Georgia,serif;font-size:64px;line-height:.9;color:var(--acid-2);height:50px}.review blockquote{margin:0;font-size:17px;line-height:1.85;letter-spacing:-.3px;color:#f5f1ff}.review figcaption{border-top:1px solid var(--line);padding-top:15px;margin-top:35px;display:flex;flex-direction:column;gap:5px;font-size:10px;color:#d6cfea}.review figcaption>span:last-child{color:#b3aacb;font-size:9px}.review-question .quote-mark{color:#c7ff6b}.review-source{font-size:10px;color:#b3aacb;line-height:1.8;margin-top:34px}.closing{background:var(--acid);color:var(--paper);text-align:center;padding:90px 24px 70px;position:relative;overflow:hidden}.closing .eyebrow{justify-content:center;color:#f5f1ffcc;font-size:9px}.closing h2{font-size:clamp(48px,6vw,88px);font-weight:600;letter-spacing:-4px;line-height:1.2;margin:30px 0 35px}.pill{display:inline-flex;align-items:center;gap:55px;font-size:14px;border-radius:40px;padding:18px 27px;background:var(--acid-2);color:var(--ink)}.pill:hover{background:var(--paper)}.pill span{font-size:20px}.instagram{display:flex;align-items:center;justify-content:center;gap:10px;width:max-content;max-width:100%;margin:40px auto 8px;font-size:15px}.instagram svg{width:18px;height:18px}.instagram>span{font-size:13px}.closing>p{font-size:11px;color:#f5f1ffcc}footer{padding:45px var(--pad) 28px;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.footer-brand{font-size:20px;font-weight:600;letter-spacing:-.5px;display:flex;align-items:center;gap:15px}.footer-brand>span{font-size:32px;font-weight:400;color:var(--acid)}.footer-links{display:flex;align-items:center;gap:24px;font-size:10px;color:#b3aacb}.footer-links button{border:0;background:none;padding:0;font-size:10px;color:#b3aacb;text-decoration:underline;text-underline-offset:4px}.footer-bottom{width:100%;display:flex;align-items:flex-end;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;font-size:9px;color:#b3aacb;gap:25px}.footer-bottom p{line-height:1.8}.footer-bottom>span{font-size:8px;letter-spacing:1px;white-space:nowrap}
dialog{max-height:calc(100svh - 40px);max-width:calc(100vw - 32px);width:540px;border:1px solid #671cff99;border-radius:10px;background:#2e1a61;color:var(--paper);padding:28px;overflow-y:auto}dialog::backdrop{background:#2e1a61e8;backdrop-filter:blur(8px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.dialog-head h2{font-size:21px;letter-spacing:-.5px}.dialog-head button,#lightbox button{border:0;background:transparent;font-size:30px;line-height:1;padding:3px 8px}.editor-notice{font-size:12px;color:#d6cfea;line-height:1.8}fieldset{border:0;border-top:1px solid #ffffff20;margin:24px 0 0;padding:18px 0 0}legend{font-size:14px;padding-right:12px;color:var(--acid)}fieldset>label:not(.file-label){display:block;font-size:11px;color:#b3aacb;margin-bottom:7px}input[type=url]{width:100%;padding:10px 12px;background:#2e1a61;border:1px solid #b3aacb88;border-radius:4px;color:var(--paper);font-size:13px;margin-bottom:14px}.file-label{display:flex;flex-direction:column;gap:8px;font-size:12px}input[type=file]{font-size:11px;width:100%}input::file-selector-button{padding:8px;background:var(--acid);border:0;color:#f5f1ff;margin-right:10px;cursor:pointer}.field-note{font-size:10px;color:#b3aacb;margin-top:10px}.save-button{display:block;width:100%;padding:12px;background:var(--acid-2);border:0;color:var(--ink);margin-top:20px;border-radius:4px;font-size:13px}.reset-content{margin-top:18px;color:#b3aacb;display:block;font-size:10px}#editor-status{font-size:12px;color:#e7c97d;margin-top:20px}#lightbox{padding:0;border:0;background:transparent;width:min(1100px,95vw);overflow:visible}#lightbox img{display:block;max-width:100%;max-height:85svh;margin:auto;object-fit:contain}#lightbox form{position:absolute;right:0;top:-44px}#toast{position:fixed;bottom:calc(25px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%) translateY(15px);opacity:0;pointer-events:none;background:#f5f1ff;color:var(--ink);border-radius:5px;padding:12px 22px;font-size:12px;z-index:30;transition:.2s;max-width:90vw}#toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.film-screen video,.film-screen iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#2e1a61}.film-screen video{object-fit:contain}
@media(min-width:1700px){.hero-copy{padding-top:110px}.section{padding-left:max(var(--pad),calc((100vw - 1500px)/2));padding-right:max(var(--pad),calc((100vw - 1500px)/2))}}
@media(max-width:1050px){.header nav{gap:20px}.hero{min-height:740px;height:auto}.hero-copy{padding-top:70px}.hero-copy h1{font-size:72px;letter-spacing:-3.5px}.orbital{width:68%;right:-100px;top:75px}.signal-one{right:15%;top:25%}.signal-three{left:35%;bottom:16%}.hero-top .micro{display:none}.section-heading{align-items:flex-start}.section-heading>p,.section-heading>div{max-width:350px;font-size:13px}.dispatch-frame iframe{height:560px}.gallery{grid-template-rows:180px 180px}.review-grid{gap:22px}.review blockquote{font-size:15px}.test-symbol{width:150px;height:150px}.symbol-flower .angel-mark{width:100%;height:100%;color:#c7ff6b55}.test-card{min-height:480px;padding:25px}.test-card h3{margin-top:100px}.footer-links{gap:17px}}
@media(max-width:720px){:root{--pad:22px}.header{height:78px}.brand{font-size:12px;gap:9px}.brand svg{width:29px;height:29px}.header nav{display:none}.header-cta{font-size:11px;padding:8px 13px;gap:16px}.hero{min-height:900px;height:auto;padding-top:25px}.hero-top{position:relative;z-index:2}.eyebrow{font-size:8px;letter-spacing:1.3px}.hero-copy{padding-top:48px;padding-bottom:400px}.hero-copy h1{font-size:clamp(45px,8.8vw,65px);line-height:1.2;letter-spacing:-2.7px}.hero-copy p{margin-top:23px;font-size:13px;line-height:1.75}.hero-copy .text-link{margin-top:17px;font-size:12px}.orbital{width:115%;height:430px;right:-12%;top:auto;bottom:52px}.signal{font-size:9px;padding:7px 9px}.signal-one{top:24%;right:15%}.signal-two{top:50%;right:9%}.signal-three{bottom:19%;left:14%}.orbital-label{font-size:6px}.section{padding-top:34px;padding-bottom:55px}.section-index{font-size:7px;letter-spacing:.8px;gap:14px;padding-top:19px}.section-index>span:last-child{text-align:right}.section-heading{display:block;margin-top:35px;margin-bottom:28px}.section-heading h2{font-size:36px;letter-spacing:-1.7px}.section-heading>p,.section-heading>div{margin-top:20px;font-size:12px;max-width:100%}.section-heading>div .text-link{margin-top:8px;font-size:11px}.film-screen{aspect-ratio:1.5}.film-wordmark{font-size:clamp(39px,10.5vw,70px);letter-spacing:-2px;left:6%;top:47%}.film-tag{left:17px;top:14px;font-size:6px;letter-spacing:1px}.film-coordinate{font-size:6px}.play-button{width:49px;left:80%;top:48%}.play-button span{font-size:14px}.film-bottom{left:17px;right:17px;bottom:14px;font-size:7px;gap:12px}.draft-media{font-size:7px}.media-caption{font-size:8px;gap:14px;align-items:flex-start}.media-caption a,.media-caption button{font-size:8px;max-width:50%;text-align:right}.dispatch-frame iframe{height:650px}.frame-bar{height:36px;padding:0 10px;font-size:6px;letter-spacing:.3px}.frame-bar button{font-size:14px}.frame-bar button span{display:none}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:270px 155px;gap:8px}.photo-main{grid-column:span 2;grid-row:auto}.photo-placeholder{font-size:10px;gap:2px}.photo-placeholder>span{font-size:24px}.photo-number{top:13px;left:13px;font-size:8px}.photo-label{left:13px;bottom:12px;font-size:5px;letter-spacing:.3px;max-width:90%}.photo-slot::after{inset:12px}.event-meta{flex-wrap:wrap;gap:20px 12px;margin-top:20px;padding:20px 0}.event-meta>div{flex:1;min-width:85px}.event-meta>div>span{font-size:7px}.event-meta strong{font-size:10px}.event-meta>a{font-size:9px;width:100%;margin-top:3px}.tests{padding-top:45px}.test-grid{grid-template-columns:1fr;gap:14px}.test-card{min-height:420px;padding:24px}.test-card-top{font-size:8px}.test-card h3{font-size:34px;margin-top:65px}.test-card p{font-size:12px;margin-top:12px}.test-action{padding-top:17px;font-size:11px;margin-top:30px}.test-symbol{right:4%;top:14%;width:160px;height:160px}.symbol-flower .angel-mark{width:100%;height:100%;color:#c7ff6b55}.review-grid{grid-template-columns:1fr;gap:35px}.review{padding-top:20px}.review blockquote{font-size:16px;line-height:1.8}.quote-mark{font-size:54px;height:40px}.review figcaption{margin-top:22px;font-size:10px}.review-source{font-size:9px;margin-top:26px}.closing{padding:65px 22px 50px}.closing h2{font-size:49px;letter-spacing:-2.4px;margin:25px 0 30px}.pill{font-size:12px;padding:15px 23px;gap:38px}.instagram{margin-top:32px;font-size:13px}.closing>p{font-size:10px}footer{padding-top:30px;gap:20px}.footer-brand{font-size:18px}.footer-links{flex-wrap:wrap;gap:15px;font-size:9px}.footer-links button{font-size:9px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:12px;font-size:8px;padding-top:20px}.footer-bottom>span{font-size:7px}dialog{padding:22px;max-height:calc(100svh - 28px)}.dialog-head h2{font-size:19px}.editor-notice{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Final PART-TIME ANGELS color guide: context-aware accents. */
.test-need .test-card-top{color:var(--paper)}.test-need .test-action{border-color:#f5f1ff50}.test-need .symbol-orbit i{border-color:#f5f1ff60}.test-need .symbol-orbit .angel-mark{color:#f5f1ff60}.test-need .test-symbol{color:var(--paper)}.header-cta:focus-visible,.save-button:focus-visible,.test-need:focus-visible{outline-color:var(--acid-2)}

.tests .section-index{color:var(--muted-light)}.tests .section-heading>p{color:var(--secondary-light)}.test-angel .test-card-top{color:var(--muted-dark)}.test-angel p{color:var(--secondary-dark)}.test-angel .symbol-flower .angel-mark{width:100%;height:100%;color:#c7ff6b55}.test-angel .test-action{color:var(--acid-2);border-color:#c7ff6b66}.test-angel:hover .test-action{color:var(--acid-2-hover)}.test-need:hover{background:var(--acid-hover)}.test-need p{color:var(--paper)}.test-need .test-action{color:var(--paper)}.tests .section-index>span:first-child{color:var(--acid)}.event-meta>a:hover,.footer-links a:hover,.footer-links button:hover,.instagram:hover{color:var(--acid-2-hover)}
.film-screen{aspect-ratio:16/9;border-color:#b3aacb66;background:var(--panel)}.film-screen video{width:100%;height:100%;object-fit:contain}.film-screen:focus-within{outline:2px solid var(--acid-2);outline-offset:4px}

/* Vector marks never use a system emoji glyph. */
.angel-mark{display:block;flex-shrink:0}.test-symbol{pointer-events:none;z-index:0}.footer-brand .angel-mark{width:32px;height:32px;color:var(--acid-2)}

/* Allow visitors to explore example calls by touch, mouse and keyboard. */
.dispatch-frame{position:relative}.dispatch-frame iframe{pointer-events:auto}.dispatch-disclaimer{margin-top:12px;text-align:right;color:var(--muted-dark);font-size:11px;line-height:1.7}
@media(max-width:720px){.dispatch-disclaimer{font-size:10px}}

/* TEST 02 returns to its bright lemon / black / lavender combination. */
.test-angel{background:var(--acid-2);color:#111111}.test-angel .test-card-top{color:var(--acid)}.test-angel p{color:#111111}.test-angel .symbol-flower .angel-mark{color:#671cff55}.test-angel .test-action{color:var(--acid);border-color:#671cff60}.test-angel:hover .test-action{color:var(--acid-hover)}

[hidden]{display:none!important}.admin-toolbar{position:sticky;top:0;z-index:50;background:var(--paper);color:var(--ink);padding:12px 22px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-bottom:1px solid var(--ink);font-size:12px}.admin-toolbar strong{font-size:14px}.admin-toolbar>span{margin-right:auto}.admin-toolbar button{border:1px solid var(--acid);background:var(--acid);color:var(--paper);padding:8px 12px;border-radius:4px;font-size:12px}.admin-toolbar #admin-publish{background:var(--acid-2);color:var(--ink);border-color:var(--ink)}.admin-toolbar a{text-decoration:underline;font-size:11px}.visibility-toggle{display:flex!important;align-items:center;gap:8px;margin-top:14px}textarea{display:block;width:100%;padding:10px 12px;background:var(--panel);border:1px solid var(--muted-dark);border-radius:4px;color:var(--paper);font:inherit;font-size:13px;margin:6px 0 14px;resize:vertical}.gallery[data-count="1"]{display:block}.gallery[data-count="1"] .photo-slot{width:100%;height:480px}.gallery[data-count="2"]{grid-template-columns:1fr 1fr;grid-template-rows:320px}.gallery[data-count="2"] .photo-main{grid-row:auto}@media(max-width:720px){.admin-toolbar>span{width:100%;font-size:10px}.admin-toolbar{padding:10px 15px;gap:8px}.gallery[data-count="1"] .photo-slot{height:300px}.gallery[data-count="2"]{grid-template-rows:190px}}

/* Soft ambient lavender: broad pools of light, with the original ink beneath. */
body{
  background-color:var(--ink);
  background-image:
    radial-gradient(ellipse 1000px 760px at 83% 330px, #b99bea52 0%, #8a5ed529 43%, transparent 76%),
    radial-gradient(ellipse 860px 900px at 0% 1510px, #a27ddd30 0%, #8156c714 48%, transparent 76%);
  background-repeat:no-repeat;
}
.header{background:linear-gradient(100deg,#2e1a6140,#65429a20);border-bottom-color:#d8c7ff26}
.dispatch{background:radial-gradient(ellipse 80% 75% at 100% 46%,#a17ade33 0%,#8459c914 48%,transparent 82%)}
.on-site{background:radial-gradient(ellipse 75% 85% at 0% 50%,#a17ade24,transparent 78%)}
.voices{background:radial-gradient(ellipse 85% 90% at 0% 52%,#aa88e536 0%,#855dc91a 48%,transparent 82%)}
footer{background:radial-gradient(ellipse 75% 160% at 85% 100%,#9c7ad62b,transparent 78%)}
.signal{background:#362166c9;border-color:#d8c3ff40;box-shadow:0 8px 32px #1c0e3b26;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.dispatch-frame{border-color:#c1a3f359;box-shadow:0 18px 70px #160a3024}
.frame-bar{background:linear-gradient(105deg,#352065,#493078);border-bottom-color:#c1a3f33b}
@media(max-width:720px){
  body{background-image:
    radial-gradient(ellipse 580px 760px at 100% 390px,#b99bea52 0%,#8a5ed529 43%,transparent 76%),
    radial-gradient(ellipse 560px 780px at 0% 1410px,#a27ddd30 0%,#8156c714 48%,transparent 76%)}
  .dispatch{background:radial-gradient(ellipse 130% 70% at 100% 42%,#a17ade2b,transparent 82%)}
  .voices{background:radial-gradient(ellipse 150% 80% at 0% 50%,#aa88e52e,transparent 82%)}
}

/* Angel Pay: selected original motion cuts, with website playback controls. */
@font-face{font-family:'Angel Pay Motion';font-style:normal;font-weight:45 920;font-display:swap;src:url('/briefing/assets/angel-pay/pretendard.woff2') format('woff2')}
.angel-pay{padding-top:70px;background:radial-gradient(ellipse 100% 75% at 0 45%,#b99bea26,transparent 75%)}
.angel-pay .section-heading h2{font-size:clamp(36px,3.8vw,58px)}
.angel-pay h2 em{font-style:normal;color:var(--acid-2)}
.pay-player{border:1px solid #c1a3f359;overflow:hidden;border-radius:6px;background:#281653;box-shadow:0 22px 80px #160a3024}
.pay-stage{position:relative;aspect-ratio:16/9;background:#0f1417}
#angel-pay-canvas{display:block;width:100%;height:100%}
.pay-loading{position:absolute;inset:0;display:grid;place-items:center;padding:25px;color:var(--paper);background:#291850;font-size:13px}
.pay-transport{display:flex;align-items:center;gap:12px;padding:2px 14px 2px 7px;min-height:46px;background:#15111e;color:#f5f1ff;border-top:1px solid #ffffff14}
.pay-transport .pay-toggle{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;background:transparent;border:0;border-radius:4px;color:inherit;touch-action:manipulation}
.pay-transport .pay-toggle:hover{background:#ffffff12;color:var(--acid-2)}
.pay-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.pay-toggle .pay-play{fill:currentColor;stroke:none}.pay-toggle[data-playing=true] .pay-play,.pay-toggle[data-playing=false] .pay-pause{display:none}
.pay-time{font-family:'IBM Plex Mono',monospace;font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0;color:#eee9f8}
.pay-seek{appearance:none;-webkit-appearance:none;display:block;flex:1;min-width:0;width:100%;height:30px;margin:0;background:transparent;cursor:pointer;accent-color:var(--acid-2);border:0;border-radius:0}
.pay-seek::-webkit-slider-runnable-track{height:3px;background:linear-gradient(to right,var(--acid-2) var(--played,0%),#ffffff3b var(--played,0%));border-radius:2px}
.pay-seek::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:11px;height:11px;border-radius:50%;background:var(--acid-2);margin-top:-4px}
.pay-seek::-moz-range-track{height:3px;background:#ffffff3b;border-radius:2px}.pay-seek::-moz-range-progress{height:3px;background:var(--acid-2)}.pay-seek::-moz-range-thumb{width:11px;height:11px;border:0;border-radius:50%;background:var(--acid-2)}
@media(max-width:1050px){.header nav{gap:18px;font-size:12px}}
@media(max-width:720px){.angel-pay{padding-top:45px}.angel-pay .section-heading h2{font-size:34px;letter-spacing:-1.7px}.pay-player{border-radius:4px}.pay-transport{gap:8px;padding-right:12px;padding-left:3px}.pay-time{font-size:9px}}

/* Also suppress obsolete markup retained in a previously opened page. */
#angel-pay .pay-panel,#angel-pay .pay-caption,#angel-pay .pay-controls,#angel-pay .pay-steps,#angel-pay .pay-note{display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important}
#angel-pay{padding-bottom:clamp(28px,4vw,52px)}

/* The motion now loops without transport controls, including cached older markup. */
#angel-pay .pay-transport{display:none!important}

.review-added{grid-column:1/-1}.review-added blockquote{max-width:900px}

/* An alternating editorial landing sequence: each argument shares its graphic field. */
.context{color:var(--ink);overflow:hidden}
.context-scene{position:relative;isolation:isolate;overflow:hidden;min-height:720px;padding:86px var(--pad) 76px}
.context-light{background:var(--paper);--context-copy:var(--secondary-light);--context-muted:var(--muted-light)}
.context-dark{background:var(--ink);color:var(--paper);--context-copy:var(--secondary-dark);--context-muted:var(--muted-dark)}
.context-inner{position:relative;z-index:1;max-width:1440px;margin:auto}
.context .section-index{border-color:#2e1a612b;color:var(--muted-light);margin-bottom:64px}.context .section-index>span:first-child{color:var(--acid)}
.context-label{display:block;font:500 10px/1.8 'IBM Plex Mono',monospace;letter-spacing:1.4px;color:var(--acid);margin-bottom:30px}
.context-dark .context-label{color:var(--acid-2)}
.context h2,.context h3{font-size:clamp(38px,4.8vw,70px);font-weight:600;line-height:1.28;letter-spacing:-2.8px;max-width:980px;margin:0;word-break:keep-all}
.context h3 em{font-style:normal;color:var(--acid)}.context-dark h3 em{color:var(--acid-2)}
.context-prose{max-width:620px;margin-top:32px;position:relative;z-index:1}
.context-prose p{font-size:15px;line-height:1.95;color:var(--context-copy);margin-top:18px;word-break:keep-all}
.context-source{display:inline-block;font-size:10px;line-height:1.9;color:var(--context-muted);margin-top:32px;max-width:630px}.context-source:hover{color:var(--acid-hover)}.context-source>span{display:block;margin-top:5px}
.context-stat{margin:35px 0 25px;position:relative;z-index:1}.context-stat p{font-size:13px;color:var(--context-copy);line-height:1.8}
.context-stat strong{display:block;font:500 clamp(96px,11vw,160px)/1.25 'IBM Plex Mono',monospace;letter-spacing:-9px;color:var(--acid);white-space:nowrap}
.context-stat strong>span{font:600 21px/1.4 'IBM Plex Sans KR',sans-serif;letter-spacing:0;margin-right:8px}.context-stat small{font-size:.34em;letter-spacing:-1px;margin-left:6px}
.context-atmosphere{position:absolute;z-index:0;pointer-events:none}
.context-dotfield{display:grid;grid-template-columns:repeat(10,1fr);gap:17px;width:56%;max-width:850px;right:-9%;top:150px;transform:rotate(-18deg);opacity:.18;mask-image:linear-gradient(90deg,transparent,#000 65%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 65%)}
.context-dotfield i{display:block;aspect-ratio:1;border-radius:50%;background:#a399be}.context-dotfield .filled{background:var(--acid)}
.context-households{padding-top:48px;background:radial-gradient(ellipse at 100% 35%,#e5d8ff99,transparent 55%),var(--paper)}
.context-cost{background:radial-gradient(ellipse at 90% 75%,#835cf55c,transparent 60%),radial-gradient(ellipse at 5% 0%,#671cff33,transparent 65%),var(--ink);min-height:720px;display:flex;align-items:center}
.context-cost .context-inner{width:100%}.context-cost h3{font-size:clamp(54px,6.8vw,100px)}
.context-waves{inset:0;width:100%;height:100%;color:var(--acid-2);opacity:.18;stroke-width:1.4}
.context-lead{font-size:clamp(18px,2vw,25px);line-height:1.65;color:var(--context-copy);margin:30px 0 0;letter-spacing:-.5px}
.context-care-words{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:60px;font-size:12px;letter-spacing:.4px;color:var(--secondary-dark)}.context-care-words b{color:var(--acid-2);font:500 14px 'IBM Plex Mono',monospace}
.context-isolation{background:radial-gradient(ellipse at 90% 20%,#e5d8ff80,transparent 55%),var(--paper)}
.context-isolation .context-stat{margin:0 0 35px}.context-isolation .context-stat strong{font-size:clamp(90px,9vw,135px)}.context-isolation h3{font-size:clamp(39px,5.2vw,76px)}
.context-echo{width:780px;height:780px;right:-140px;top:24%;color:var(--acid);opacity:.12}.context-echo i{position:absolute;inset:0;border:1px solid currentColor;border-radius:50%}.context-echo i:nth-child(2){inset:90px}.context-echo i:nth-child(3){inset:180px}
.context-isolation blockquote{font-size:clamp(17px,1.7vw,23px);line-height:1.9;margin:35px 0 0;max-width:800px;color:var(--secondary-light);letter-spacing:-.6px}.context-isolation .context-prose{margin-top:18px}
.context-proposal{min-height:740px;display:flex;align-items:center;background:radial-gradient(ellipse at 85% 55%,#8560e463,transparent 65%),radial-gradient(ellipse at 0% 0%,#671cff33,transparent 65%),var(--ink)}
.context-proposal .context-inner{width:100%}.context-proposal h3{margin:28px 0 40px;max-width:1000px}.context-proposal .context-lead{margin-top:0}
.context-orbits{inset:0;width:100%;height:100%;color:var(--acid-2);opacity:.16;stroke-width:1.2}
.context-next{display:inline-flex;align-items:center;gap:35px;font-size:13px;padding-bottom:13px;border-bottom:1px solid #ffffff60}.context-next:hover{color:var(--acid-2)}
@media(max-width:1000px){.context-dotfield{width:72%;right:-30%;opacity:.14}.context h2,.context h3{letter-spacing:-2px}.context-prose{max-width:580px}.context-scene{min-height:660px}}
@media(max-width:720px){.context-scene{padding:58px var(--pad);min-height:0}.context-households{padding-top:30px}.context .section-index{margin-bottom:45px;font-size:7px}.context-label{font-size:8px;letter-spacing:1px;margin-bottom:23px}.context h2,.context h3{font-size:clamp(29px,7.8vw,43px);line-height:1.36;letter-spacing:-1.5px}.context-prose{margin-top:26px}.context-prose p{font-size:13px;line-height:1.95;margin-top:17px}.context-source{font-size:9px;margin-top:28px}.context-stat{margin:30px 0 25px}.context-stat p{font-size:12px}.context-stat strong{font-size:112px;letter-spacing:-7px}.context-stat strong>span{font-size:19px;margin-right:3px}.context-stat small{letter-spacing:-1px}.context-dotfield{width:115%;right:-60%;top:150px;gap:12px;opacity:.13}.context-cost{min-height:640px}.context-cost h3{font-size:clamp(47px,13vw,70px)}.context-lead{font-size:18px;line-height:1.75;margin-top:26px}.context-care-words{gap:21px;margin-top:42px;font-size:11px}.context-care-words b{font-size:12px}.context-isolation .context-stat strong{font-size:108px;letter-spacing:-7px}.context-isolation h3{font-size:clamp(29px,7.8vw,43px)}.context-isolation blockquote{font-size:16px;line-height:2;margin-top:29px;max-width:300px}.context-echo{width:570px;height:570px;right:-330px;top:25%;opacity:.1}.context-proposal{min-height:610px}.context-proposal h3{margin:27px 0 34px;font-size:clamp(29px,7.7vw,42px)}.context-next{font-size:11px;gap:16px;line-height:1.8}.context-orbits{width:190%;left:-30%;opacity:.13}}
@media(max-width:360px){.context-stat strong{font-size:99px}.context-isolation .context-stat strong{font-size:93px}.context h2,.context h3{font-size:27px}.context-cost h3{font-size:46px}.context-proposal h3{font-size:27px}}

/* Pretendard headings: consistent optical spacing across title sizes. */
@font-face{font-family:'PTA Pretendard';font-style:normal;font-weight:100 900;font-display:swap;src:url('/briefing/assets/angel-pay/pretendard.woff2') format('woff2')}
body main :is(h1,h2,h3,h4){font-family:'PTA Pretendard','Apple SD Gothic Neo',sans-serif!important;letter-spacing:-.025em!important;font-kerning:normal}
.context-cost h3{font-size:clamp(38px,4.8vw,70px)}
@media(max-width:720px){.context-cost h3{font-size:clamp(29px,7.8vw,43px)}}
@media(max-width:360px){.context-cost h3{font-size:27px}}

/* Labels and metrics share the heading scale; only the numeric span is 25% larger. */
.context{--context-stat-size:clamp(39px,5.2vw,76px)}
.context .context-stat>p:first-child{font-family:'PTA Pretendard',sans-serif;font-size:clamp(22px,2.2vw,30px);font-weight:600;letter-spacing:-.025em;line-height:1.5;margin-bottom:12px;color:var(--ink)}
.context .context-stat strong{display:flex;align-items:baseline;gap:.12em;font-family:'PTA Pretendard',sans-serif;font-weight:600;font-size:var(--context-stat-size);line-height:1.28;letter-spacing:-.025em;white-space:nowrap}
.context .context-stat strong>span{font:inherit;letter-spacing:inherit;margin:0}
.context .context-stat strong>.context-stat-number{font-size:1.25em}
.context .context-stat>p:last-child:not(:first-child){font-size:15px;margin-top:12px}
.context-cost-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'label chart' 'title chart' 'lead chart' 'copy chart' 'words chart';column-gap:clamp(32px,5vw,80px);align-items:start}
.context-cost-layout>.context-label{grid-area:label}.context-cost-layout>h3{grid-area:title}.context-cost-layout>.context-lead{grid-area:lead}.context-cost-layout>.context-prose{grid-area:copy}.context-cost-layout>.context-care-words{grid-area:words}
.care-cost-chart{grid-area:chart;align-self:center;margin:0;min-width:0;color:var(--paper)}
.care-chart-header{display:flex;justify-content:space-between;font:500 11px/1.7 'IBM Plex Mono',monospace;letter-spacing:.5px;color:var(--secondary-dark)}
.care-cost-svg{display:block;width:100%;height:auto;overflow:visible;margin-top:12px}
.care-chart-grid line{stroke:#ffffff20;stroke-width:1}.care-chart-grid text,.care-chart-year{fill:var(--muted-dark);font:13px 'IBM Plex Mono',monospace}
.care-chart-series{color:var(--series)}.care-chart-path{fill:none;stroke:currentColor;stroke-width:4;stroke-linejoin:round;stroke-linecap:round}.care-chart-point{fill:currentColor}.care-chart-end{fill:currentColor;font:500 14px 'IBM Plex Mono',monospace}
.care-chart-legend{display:grid;gap:12px;margin:6px 0 24px;padding:0;list-style:none}.care-chart-legend li{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--secondary-dark)}.care-chart-legend i{width:8px;height:8px;border-radius:50%;background:var(--series);flex-shrink:0}.care-chart-legend strong{font:500 16px 'IBM Plex Mono',monospace;color:var(--series);margin-left:auto}
.care-cost-chart figcaption{font-size:10px;line-height:1.9;color:var(--muted-dark)}
.care-chart-ready:not(.care-chart-playing) .care-chart-path{stroke-dasharray:1;stroke-dashoffset:1}.care-chart-ready:not(.care-chart-playing) :is(.care-chart-point,.care-chart-end){opacity:0}
.care-chart-playing .care-chart-path{stroke-dasharray:1;animation:care-chart-draw 1.9s cubic-bezier(.2,.7,.3,1) var(--delay) both}.care-chart-playing :is(.care-chart-point,.care-chart-end){animation:care-chart-label .6s ease calc(var(--delay) + 1.6s) both}
@keyframes care-chart-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes care-chart-label{from{opacity:0}to{opacity:1}}
@media(max-width:900px){.context-cost-layout{column-gap:30px}.care-chart-legend li{font-size:12px}.care-chart-header{font-size:10px}}
@media(max-width:720px){.context{--context-stat-size:clamp(29px,7.8vw,43px)}.context .context-stat>p:first-child{font-size:clamp(21px,5.8vw,27px)}.context-cost-layout{grid-template-columns:1fr;grid-template-areas:'label' 'title' 'lead' 'copy' 'chart' 'words';row-gap:0}.care-cost-chart{margin-top:40px}.care-chart-header{font-size:10px}.care-chart-legend li{font-size:12px}.context .context-stat>p:last-child:not(:first-child){font-size:13px}.care-cost-chart figcaption{font-size:9px}}
@media(max-width:360px){.context{--context-stat-size:27px}.context .context-stat>p:first-child{font-size:20px}}
@media(prefers-reduced-motion:reduce){.care-chart-playing .care-chart-path,.care-chart-playing :is(.care-chart-point,.care-chart-end){animation:none}}

/* Q19 / FLOW.loop: the original five-stage regional cycle, extracted as one loop. */
.context-cycle-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-areas:'label cycle' 'lead cycle' 'title cycle' 'next cycle';gap:0 14px;align-items:start}
.context-cycle-layout>.context-label{grid-area:label}.context-cycle-layout>.context-lead{grid-area:lead}.context-cycle-layout>h3{grid-area:title;font-size:clamp(32px,3.7vw,54px)}.context-cycle-layout>.context-next{grid-area:next;justify-self:start}
.context-proposal .context-orbits{opacity:.06}
.regional-cycle{grid-area:cycle;margin:0 -25px 0 0;min-width:0;align-self:center;position:relative;z-index:1}
.regional-cycle svg{width:100%;height:auto;display:block;overflow:visible}
.cycle-halo{fill:none;stroke:#c7ff6b18;stroke-width:1}.cycle-halo-inner{stroke:#d0b8ff18;stroke-dasharray:2 9}
.cycle-track{fill:none;stroke:#f5f1ff25;stroke-width:2}.cycle-flow{fill:none;stroke:#c7ff6b88;stroke-width:3;stroke-linecap:round;stroke-dasharray:16 4;transform:rotate(-90deg);transform-origin:360px 310px}
.cycle-stage>circle:first-child{fill:#d0b8ff;stroke:var(--ink);stroke-width:4}.cycle-stage text{font-family:'PTA Pretendard',sans-serif;font-size:23px;font-weight:600;letter-spacing:-.025em;fill:var(--paper)}
.cycle-node-halo{fill:#c7ff6b22;stroke:#c7ff6b70;stroke-width:1;opacity:0}
.cycle-center{font:600 43px 'PTA Pretendard',sans-serif;letter-spacing:-1px;fill:var(--acid-2)}.cycle-center-sub{font:500 10px 'IBM Plex Mono',monospace;letter-spacing:1.2px;fill:var(--secondary-dark)}
.cycle-orbit{transform-origin:360px 310px;animation:regional-orbit 12s linear infinite}
.cycle-coin-glow{fill:#c7ff6b18}.cycle-coin-face{fill:var(--acid-2);stroke:var(--ink);stroke-width:2}.cycle-coin-line{fill:none;stroke:var(--acid);stroke-width:1.5}.cycle-coin path{fill:none;stroke:var(--acid);stroke-width:2}
.cycle-stage .cycle-node-halo{animation:regional-node 12s linear var(--stage-delay) infinite}
.regional-cycle.cycle-observed:not(.cycle-in-view) :is(.cycle-orbit,.cycle-node-halo){animation-play-state:paused}
@keyframes regional-orbit{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes regional-node{0%,18%{opacity:1}22%,100%{opacity:0}}
@media(max-width:1000px){.context-cycle-layout{grid-template-columns:1fr 1fr;column-gap:0}.context-cycle-layout>h3{font-size:clamp(30px,4vw,44px)}.regional-cycle{margin-right:-24px;margin-left:-12px}}
@media(max-width:720px){.context-cycle-layout{grid-template-columns:1fr;grid-template-areas:'label' 'lead' 'title' 'cycle' 'next'}.context-cycle-layout>h3{font-size:clamp(29px,7.7vw,42px);margin-bottom:16px}.regional-cycle{margin:0 -18px 22px;max-width:560px;justify-self:center;width:calc(100% + 36px)}.cycle-stage text{font-size:25px}.cycle-center{font-size:46px}.cycle-center-sub{font-size:11px}.context-cycle-layout>.context-next{margin-top:5px}}
@media(max-width:360px){.context-cycle-layout>h3{font-size:27px}}
@media(prefers-reduced-motion:reduce){.cycle-orbit,.cycle-stage .cycle-node-halo{animation:none}.cycle-stage .cycle-node-halo{opacity:.4}}

/* A light introduction between the dark proposal and dispatch sections. */
.film{background:var(--paper);color:var(--ink)}
.film .section-index{border-color:#2e1a612b;color:var(--muted-light)}
.film .section-index>span:first-child{color:var(--acid)}
.film .section-heading h2{color:var(--ink)}
.film .section-heading>p{color:var(--secondary-light)}
.film .film-screen{border-color:#2e1a612b}

/* Research archive entrance and grouped shortcuts */

    .pta-lineage{--l-bg:#120a27;--l-card:#1c1240;--l-line:#35286a;--l-ink:#F4F1FA;--l-muted:#A79FC2;
      background:radial-gradient(ellipse at 70% 0%,#2e1a61 0,var(--l-bg) 65%);color:var(--l-ink);
      padding-block:clamp(56px,10vw,120px);padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));
      font-family:Pretendard,'Apple SD Gothic Neo','Malgun Gothic',system-ui,sans-serif;word-break:keep-all}
    .pta-lineage *{box-sizing:border-box;margin:0}
    .pta-lineage .in{max-width:1080px;margin:0 auto;display:grid;gap:clamp(28px,4vw,44px)}
    .pta-lineage .eyebrow{font-size:13px;font-weight:700;letter-spacing:.24em;color:var(--l-muted)}
    .pta-lineage h2{margin-top:14px}
    .pta-lineage .lead{font-family:'IBM Plex Sans KR',sans-serif;font-size:15px;font-weight:400;line-height:1.95;color:var(--secondary-dark);max-width:620px;margin-top:32px;word-break:keep-all}
    .pta-lineage ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
    .pta-lineage li{background:var(--l-card);border:1px solid var(--l-line);border-top:3px solid var(--c);border-radius:10px;padding:18px 16px;min-width:0}
    .pta-lineage li b{display:block;font-size:12px;letter-spacing:.16em;color:var(--c);font-weight:700}
    .pta-lineage li strong{display:block;font-size:18px;margin-top:8px}
    .pta-lineage li span{display:block;font-size:13px;color:var(--l-muted);margin-top:6px;font-variant-numeric:tabular-nums}
    .pta-lineage .cta{justify-self:start;display:inline-flex;align-items:center;gap:10px;background:var(--l-ink);color:var(--l-bg);text-decoration:none;font-weight:700;font-size:16px;padding:14px 22px;border-radius:999px}
    .pta-lineage .cta:focus-visible{outline:3px solid #B9A6FF;outline-offset:3px}
    @media (max-width:760px){.pta-lineage ol{grid-template-columns:repeat(2,minmax(0,1fr))}.pta-lineage .cta{justify-self:stretch;justify-content:center}}

.pta-lineage{background:radial-gradient(ellipse at 85% 20%,#8155c13d,transparent 65%),#2E1A61;font-family:'PTA Pretendard',sans-serif;padding-inline:var(--pad)}
.pta-lineage .in{max-width:var(--max,1348px)}
.pta-lineage li{background:transparent;border:0;border-top:1px solid var(--c);border-radius:0;padding:20px 0}
.pta-lineage ol{gap:28px}.pta-lineage .cta{background:#C7FF6B;color:#2E1A61;border-radius:0}
.pta-lineage .cta:hover{background:#E3FFB5}
.header nav{display:flex;gap:22px}.header nav a{white-space:nowrap}.header nav a span{font:400 10px 'IBM Plex Mono',monospace;opacity:.65;margin-left:4px}
@media(max-width:1100px){.header{height:auto;min-height:78px;flex-wrap:wrap;padding-block:20px;gap:18px}.header nav{order:3;width:100%;overflow-x:auto;gap:24px;padding-bottom:4px}.header nav a{display:block;font-size:13px}.header nav a[href="#showcase-report"]{display:block}}
@media(max-width:760px){.pta-lineage ol{gap:24px}.header nav{gap:22px}.header nav a{font-size:12px}.header nav a span{display:block;margin:5px 0 0}}

@media(max-width:720px){.pta-lineage .lead{font-size:13px;line-height:1.95;margin-top:26px}}

/* Genealogy: introductory copy beside the archive's actual node network. */
.pta-lineage .lineage-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,4vw,72px);align-items:center}
.pta-lineage .lineage-copy,.pta-lineage .lineage-visual{min-width:0}
.pta-lineage .lineage-copy h2{font-size:clamp(38px,4.8vw,70px);line-height:1.28;font-weight:600;word-break:keep-all}
.pta-lineage .lineage-visual{display:flex;flex-direction:column;align-items:flex-end;gap:20px}
.lineage-map-link{display:block;width:100%;border-bottom:1px solid #b9a6ff40}
.lineage-map{display:block;width:100%;height:auto;overflow:visible}
.lineage-map path{fill:none;stroke-width:1.4}.lineage-cross{opacity:.2;stroke-dasharray:4 6}.lineage-thread{opacity:.55}
.lineage-glow{opacity:.1}.lineage-node-label{font:400 13px 'IBM Plex Sans KR',sans-serif;fill:var(--paper)}
.lineage-chapter{font:500 13px 'IBM Plex Sans KR',sans-serif;fill:#B3AACB;letter-spacing:.5px}
.lineage-map-link:hover .lineage-thread{opacity:1}.lineage-map-link:focus-visible{outline:2px solid var(--acid-2);outline-offset:8px}
.pta-lineage .lineage-visual .cta{font-family:'IBM Plex Sans KR',sans-serif;align-self:flex-end}
.header nav{gap:16px}
@media(max-width:1100px){.pta-lineage .lineage-layout{grid-template-columns:1fr}.pta-lineage .lineage-copy{max-width:900px}.pta-lineage .lineage-visual{width:100%;max-width:900px;justify-self:center}}
@media(max-width:720px){.pta-lineage .lineage-copy h2{font-size:clamp(29px,7.8vw,43px);line-height:1.36}.pta-lineage .lineage-visual .cta{align-self:stretch;justify-content:center;font-size:14px}.lineage-node-label{font-size:15px}.lineage-chapter{font-size:15px}}

/* The separate test shortcut is for mobile screens only. */
.header .header-cta{display:none}
@media(max-width:720px){.header .header-cta{display:flex}}

.pta-lineage .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* The same luminous, dimensional constellation language as the opening scene. */
.pta-lineage .lineage-layout{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(28px,3vw,60px)}
.pta-lineage .lineage-visual{position:relative}
.lineage-map-link{position:relative;isolation:isolate;aspect-ratio:1.08;border:0;background:radial-gradient(ellipse at 55% 48%,#8462cc24,transparent 65%);overflow:hidden}
.lineage-network{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1s}
.lineage-map-link.network-ready .lineage-network{opacity:1}
.lineage-map-link.network-ready .lineage-map{opacity:0;pointer-events:none}
.lineage-map-link .lineage-map{position:absolute;inset:0;height:100%}
.lineage-orbit-label{position:absolute;top:3%;left:3%;font:400 9px 'IBM Plex Mono',monospace;letter-spacing:1.5px;color:#B3AACB;pointer-events:none}
.lineage-network-legend{position:absolute;bottom:2%;left:3%;right:3%;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#D6CFEA;font:400 11px 'IBM Plex Sans KR',sans-serif;pointer-events:none}
.lineage-network-legend>span{display:flex;align-items:center;gap:7px}.lineage-network-legend i{width:4px;height:4px;border-radius:50%;background:#5CE1E6;box-shadow:0 0 9px currentColor}.lineage-network-legend>span:nth-child(2) i{background:#C7FF6B}.lineage-network-legend>span:nth-child(3) i{background:#B9A6FF}.lineage-network-legend>span:nth-child(4) i{background:#F5F1FF}
.pta-lineage .lineage-visual .cta{background:transparent;color:var(--acid-2);padding:14px 0;border-bottom:1px solid #c7ff6b66;font-size:14px;gap:30px}
.pta-lineage .lineage-visual .cta:hover{color:var(--acid-2-hover);border-color:var(--acid-2)}
@media(max-width:1100px){.pta-lineage .lineage-layout{grid-template-columns:1fr}.pta-lineage .lineage-visual{max-width:740px}}
@media(max-width:720px){.lineage-map-link{aspect-ratio:1}.lineage-orbit-label{font-size:8px;letter-spacing:.8px}.lineage-network-legend{font-size:10px;gap:9px}.pta-lineage .lineage-visual .cta{align-self:flex-end;justify-content:flex-end}}
@media(prefers-reduced-motion:reduce){.lineage-network{transition:none}}

/* Cost and genealogy share one uninterrupted surface and contour field. */
.context-research-flow{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 90% 35%,#835cf548,transparent 62%),radial-gradient(ellipse at 5% 0%,#671cff33,transparent 65%),var(--ink);color:var(--paper)}
.context-research-flow .context-cost,.context-research-flow .pta-lineage{background:transparent}
.research-contours{inset:0;width:100%;height:100%;color:var(--acid-2);opacity:.15;stroke-width:1.15;z-index:-1}
.context-research-flow .pta-lineage{position:relative;isolation:isolate;padding-block:clamp(72px,8vw,128px) 0;overflow:hidden}
.pta-lineage .lineage-layout{position:relative;display:block;min-height:650px;max-width:1440px}
.pta-lineage .lineage-copy{position:relative;z-index:2;width:50%;max-width:720px;pointer-events:none;padding-bottom:100px}
.pta-lineage .lineage-copy h2{max-width:100%;margin-top:28px}
.pta-lineage .lineage-copy .lead{max-width:100%;margin-top:32px}
.pta-lineage .lineage-visual{position:absolute;inset:0 0 65px;max-width:none;width:100%;z-index:0;display:block;opacity:.96}
.lineage-map-link{position:absolute;inset:0;aspect-ratio:auto;width:100%;height:100%;background:transparent;mask-image:linear-gradient(90deg,#0002,#0006 32%,#000 52%);-webkit-mask-image:linear-gradient(90deg,#0002,#0006 32%,#000 52%)}
.lineage-map-link .lineage-map{width:75%;left:25%}
.lineage-orbit-label{left:auto;right:1%;top:1%}
.lineage-network-legend{display:none}
.pta-lineage .lineage-bottom{position:relative;z-index:3;display:flex;justify-content:flex-end;border-bottom:1px solid #d6cfea40;padding:24px 0 22px;clear:both}
.pta-lineage .lineage-bottom .cta{background:transparent;color:var(--acid-2);border:0;border-radius:0;padding:0;font:600 14px/1.8 'IBM Plex Sans KR',sans-serif;gap:32px}
.pta-lineage .lineage-bottom .cta:hover{color:var(--acid-2-hover)}
@media(max-width:1100px){.pta-lineage .lineage-copy{width:50%}.pta-lineage .lineage-copy h2{font-size:clamp(32px,4.8vw,53px)}.pta-lineage .lineage-layout{min-height:600px}}
@media(max-width:720px){.context-research-flow .pta-lineage{padding-top:64px}.pta-lineage .lineage-layout{min-height:560px}.pta-lineage .lineage-copy{width:50%;padding-bottom:80px}.pta-lineage .lineage-copy h2{font-size:clamp(21px,4.7vw,34px);line-height:1.4}.pta-lineage .lineage-copy .lead{font-size:12px;line-height:1.95;margin-top:24px}.pta-lineage .lineage-copy .eyebrow{font-size:8px;letter-spacing:1px}.lineage-copy-break{display:none}.pta-lineage .lineage-bottom{padding:18px 0 20px}.pta-lineage .lineage-bottom .cta{font-size:12px;gap:22px}.lineage-orbit-label{font-size:7px;max-width:45%;line-height:1.7;text-align:right}.pta-lineage .lineage-visual{bottom:50px}.lineage-map-link{mask-image:linear-gradient(90deg,transparent,#0004 40%,#000 58%);-webkit-mask-image:linear-gradient(90deg,transparent,#0004 40%,#000 58%)}}

/* Match the section 04 proposal heading at each breakpoint. */
.pta-lineage .lineage-copy h2{font-size:clamp(32px,3.7vw,54px);font-weight:600;line-height:1.28}
@media(max-width:720px){.pta-lineage .lineage-copy h2{font-size:clamp(29px,7.7vw,42px);line-height:1.36}}

@media(min-width:721px) and (max-width:1000px){.pta-lineage .lineage-copy h2{font-size:clamp(30px,4vw,44px)}}
@media(max-width:360px){.pta-lineage .lineage-copy h2{font-size:27px}}
/* One title scale for research 02, research 03, genealogy and proposal 04. */
.context{--research-heading-size:clamp(32px,3.7vw,54px);--research-heading-leading:1.28}
.context .context-cost h3,.context .context-isolation h3,.context .context-cycle-layout>h3,.context .pta-lineage .lineage-copy h2{font-size:var(--research-heading-size);line-height:var(--research-heading-leading);font-weight:600}
@media(max-width:1000px){.context{--research-heading-size:clamp(30px,4vw,44px)}}
@media(max-width:720px){.context{--research-heading-size:clamp(29px,7.7vw,42px);--research-heading-leading:1.36}}
@media(max-width:360px){.context{--research-heading-size:27px}}

/* Keep the archive link with its introduction, clear of the constellation. */
.pta-lineage .lineage-copy .cta{position:relative;z-index:4;pointer-events:auto;margin-top:32px;display:inline-flex;align-items:center;justify-content:flex-start;max-width:100%;gap:24px;background:transparent;border:0;border-radius:0;padding:0;color:var(--acid-2);font:600 14px/1.8 'IBM Plex Sans KR',sans-serif}
.pta-lineage .lineage-copy .cta:hover{color:var(--acid-2-hover)}
.pta-lineage .lineage-copy .cta>span[aria-hidden]{flex:none}
.pta-lineage .lineage-bottom{padding:0;min-height:1px;margin-top:20px}
@media(max-width:720px){.pta-lineage .lineage-copy .cta{font-size:12px;gap:12px;line-height:1.9;margin-top:26px}}

/* Small, persistent jump points along the right edge. */
.section-rail{position:fixed;right:max(8px,env(safe-area-inset-right));top:50%;transform:translateY(-50%);z-index:30;display:flex;flex-direction:column;align-items:center;width:36px;padding:6px 3px;background:#2e1a61cc;border:1px solid #d6cfea30;border-radius:24px;box-shadow:0 4px 24px #160b3920;backdrop-filter:blur(12px);max-height:calc(100dvh - 32px);overflow:visible}
.section-rail>a{position:relative;display:flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;color:#d6cfea}
.section-rail i{display:block;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.55;transition:transform .2s,opacity .2s,background .2s}
.section-rail a[aria-current="location"] i{background:var(--acid-2);opacity:1;transform:scale(1.5);box-shadow:0 0 10px #c7ff6b66}
.section-rail a:hover i,.section-rail a:focus-visible i{opacity:1}
.section-rail a>span{position:absolute;right:37px;top:50%;transform:translateY(-50%) translateX(4px);padding:5px 10px;border:1px solid #d6cfea30;background:#2e1a61f5;color:var(--paper);border-radius:3px;font:400 11px/1.6 'IBM Plex Sans KR',sans-serif;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s,transform .15s}
.section-rail a:hover>span,.section-rail a:focus-visible>span{opacity:1;transform:translateY(-50%) translateX(0)}
.section-rail a:focus-visible{outline:2px solid var(--acid-2);outline-offset:0;border-radius:50%}
@media(max-width:720px){.section-rail{right:max(2px,env(safe-area-inset-right));width:28px;padding:4px 1px}.section-rail>a{width:24px;height:24px}.section-rail i{width:4px;height:4px}.section-rail a>span{display:none}main :is(.hero,.section,.context-scene,.pta-lineage,.closing){padding-right:max(var(--pad),38px)}}
@media(max-height:370px){.section-rail{top:12px;bottom:12px;transform:none;overflow-y:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.section-rail i,.section-rail a>span{transition:none}}
.section-rail>a[hidden]{display:none}

/* Reveal section shortcuts while scrolling; fade out after scrolling stops. */
.section-rail{opacity:0;pointer-events:none;transition:opacity .28s ease}
.section-rail.is-scrolling,.section-rail:focus-within{opacity:1;pointer-events:auto}
@media(prefers-reduced-motion:reduce){.section-rail{transition:none}}

/* The research archive now follows stigma and flows into the proposal. */
.context-research-flow .context-proposal{background:transparent}
