:root{--bg:#fff;--card:#fff;--soft:#faf6f5;--ink:#24161a;--muted:#7c6f6e;--line:#f0e7e5;--cloth:#fffdf9;--wax:#e7d6b4;--pencil:#bfb3b1;--red:#b3121f;--maroon:#5c0d14;--rose:#fcefee;--rose2:#f6d9d7;--gold:#b8873b;--leaf:#3d5a3a;--leaf-soft:#e6efe4;--sans:"Inter",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;--ital:"Fraunces",Georgia,serif}html.dark{--bg:#161011;--card:#1e1617;--soft:#251b1c;--ink:#f4eae6;--muted:#ad9c99;--line:#33272a;--red:#ef5a5f;--maroon:#f2a6a6;--rose:#3a1d20;--rose2:#4a2428;--cloth:#f6efe6;--wax:#d9c6a0;--pencil:#9d8f8c;--gold:#dcb169;--leaf:#9cc596;--leaf-soft:#1f2c1f}*{box-sizing:border-box}body,html{overflow-x:hidden}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}button{font-family:inherit}.wrap{max-width:1040px;margin:0 auto;padding:0 24px}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin:0 0 12px}.eyebrow,.mono{font-family:var(--mono);font-size:12px}.mono{color:var(--muted)}h1,h2,h3{font-weight:700;letter-spacing:-.025em;margin:0}h1.page{font-size:clamp(40px,6vw,60px);line-height:1.05;margin-bottom:18px}h2{font-size:26px;margin-bottom:14px}h3{font-size:19px;font-weight:600}em.ms{font-family:var(--ital);font-style:italic;font-weight:500;color:var(--red)}.lede{font-size:18px;color:var(--muted);max-width:660px;margin:0}section.view{padding:80px 0 104px}.ph{background:linear-gradient(transparent 62%,rgba(184,135,59,.25) 0)}body.no-ph .ph{background:none}header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}header .wrap{gap:24px;height:64px}.brand,header .wrap{display:flex;align-items:center}.brand{gap:10px;text-decoration:none;font-weight:700;font-size:18px;letter-spacing:.12em}.brand svg{width:24px;height:24px}nav{margin-left:auto;display:flex;align-items:center;gap:24px}nav a{text-decoration:none;color:var(--muted);font-size:15px;padding:4px 0;border-bottom:2px solid transparent}nav a.on,nav a:hover{color:var(--ink)}nav a.on{border-color:var(--red)}.btn{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--red);background:var(--red);color:#fff;border-radius:999px;padding:8px 18px;font:500 15px var(--sans);text-decoration:none;cursor:pointer;transition:.15s}.btn:hover{background:var(--maroon);border-color:var(--maroon)}html.dark .btn{color:#1a0d0e}.btn.ghost,html.dark .btn.ghost{background:transparent;color:var(--red)}.btn.ghost:hover{background:var(--rose)}.btn.sm{padding:5px 12px;font-size:13px}.btn:disabled{opacity:.35;pointer-events:none}nav a.btn{color:#fff;border-bottom:1.5px solid var(--red)}html.dark nav a.btn{color:#1a0d0e}.icon-btn{background:none;border:0;color:var(--muted);cursor:pointer;padding:7px;border-radius:50%;display:inline-flex;text-decoration:none}.icon-btn:hover{background:var(--soft);color:var(--ink)}.menu-btn{display:none}@media(max-width:860px){nav{position:fixed;inset:64px 0 auto 0;background:var(--bg);flex-direction:column;align-items:flex-start;padding:20px 24px;border-bottom:1px solid var(--line);display:none}nav.open{display:flex}.menu-btn{display:inline-flex;margin-left:auto}}.hero h1{font-size:clamp(68px,9.5vw,132px);line-height:.92;letter-spacing:-.04em;font-weight:700;margin:0}.hero h1 span{color:var(--red)}.thread-line{display:block;width:min(560px,100%);height:22px;margin:14px 0 22px}.thread-line path{stroke:var(--red);stroke-width:1.6;fill:none;stroke-dasharray:800;stroke-dashoffset:800;animation:draw 2.2s ease .2s forwards}@keyframes draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.thread-line path{animation:none;stroke-dashoffset:0}}.sub{font-family:var(--mono);font-size:13px;color:var(--muted);margin:0 0 24px}.sub b{color:var(--ink);font-weight:500}.cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;grid-gap:56px;gap:56px;align-items:center}@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:40px}}.stain{position:absolute!important;pointer-events:none;z-index:0!important}.hero-grid,.teaser{position:relative;z-index:1}.cloth-card{position:relative}#cloth{display:block;width:100%;height:auto;border-radius:6px;box-shadow:0 1px 0 var(--line),0 24px 60px -30px rgba(92,13,20,.28);touch-action:none;cursor:crosshair;background:var(--cloth)}.bk-cloth{fill:var(--cloth)}.bk-wash{fill:var(--red);opacity:.03}.bk-vine{fill:none;stroke:var(--red);stroke-width:2.2;stroke-linecap:round}.bk-leaf{fill:var(--maroon)}.bk-petal{fill:var(--red)}.bk-inner{fill:#7e0e19}.bk-ribbon{fill:none;stroke:var(--red);stroke-width:5.5;stroke-linecap:round;stroke-linejoin:round}.bk-dots{fill:var(--red)}.bk-border{fill:none;stroke:var(--red);stroke-width:1.1;opacity:.75}.bk-stain{fill:var(--red);opacity:.09}.bk-crackle{fill:none;stroke:#3d060c;stroke-width:.7;opacity:0;transition:opacity 1.6s}.bk-wax{fill:none;stroke:var(--wax);stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 3.4s cubic-bezier(.4,0,.2,1),stroke 1.2s,stroke-width 1.2s}.bk-pola{fill:none;stroke:var(--pencil);stroke-width:1;opacity:1;transition:opacity 1.4s}.bk-ring{fill:none;stroke:var(--red);stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.4s .6s}#cloth.s1 .bk-wax{stroke-dashoffset:0}#cloth.s1 .bk-pola{opacity:.55}#cloth.s2 .bk-pola{opacity:0}#cloth.s3 .bk-wax{stroke:var(--cloth);stroke-width:2.4}#cloth.s3 .bk-crackle{opacity:.38}#cloth.final .bk-ring{stroke-dashoffset:0}@media (prefers-reduced-motion:reduce){#cloth *{transition:none!important}}.stepper{display:flex;gap:4px;margin-top:18px;border-bottom:1px solid var(--line)}.stepper button{flex:1 1;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:8px 2px 10px;cursor:pointer;color:var(--muted);font:italic 500 17px var(--ital);transition:.2s}.stepper button:hover{color:var(--ink)}.stepper button.on{color:var(--red);border-color:var(--red)}.bk-cap{min-height:118px;padding:16px 0 0}.bk-cap.in{animation:capin .6s ease}@keyframes capin{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.bk-cap-h{display:flex;align-items:baseline;gap:10px}.bk-cap-h .ms{font-size:24px}.bk-cap-h .en{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.bk-cap p{margin:6px 0 0;font-size:15.5px;color:var(--ink);max-width:520px}.bk-cap .bk-hint{font-family:var(--mono);font-size:12px;color:var(--red);margin-top:8px}.bk-nav{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.linkbtn{background:none;border:0;color:var(--muted);cursor:pointer;font-size:14px;padding:4px 0}.linkbtn:hover{color:var(--red)}.linkbtn:disabled{opacity:.3;cursor:default}.teaser{margin-top:96px;padding-top:40px;border-top:1px solid var(--line)}.partners{border-top:0;padding-top:0}.marquee{overflow:hidden;margin-top:18px;padding:18px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.track{display:flex;align-items:center;gap:72px;width:max-content;animation:marq 48s linear infinite}.marquee:hover .track{animation-play-state:paused}@keyframes marq{to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.track{animation:none;flex-wrap:wrap;width:auto;justify-content:center;gap:32px 56px}.track>[aria-hidden]{display:none}}.partner{display:flex;align-items:center;height:64px;text-decoration:none}.partner img{max-height:56px;max-width:170px;object-fit:contain;filter:grayscale(1);opacity:.65;transition:.3s}.partner:hover img{filter:none;opacity:1}.partner .pname{font-family:var(--ital);font-style:italic;font-size:22px;color:var(--muted);white-space:nowrap;transition:.3s}.partner:hover .pname{color:var(--red)}.theme-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.theme-links a{font-family:var(--ital);font-style:italic;font-size:clamp(20px,2.4vw,28px);text-decoration:none;color:var(--ink);padding:2px 14px 2px 0;border-right:1px solid var(--line);margin-right:4px}.theme-links a:last-child{border-right:0}.theme-links a:hover{color:var(--red)}.teaser .card{transition:.2s;text-decoration:none;display:block}.teaser .card:hover{border-color:var(--rose2);transform:translateY(-2px)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:4px 12px;font-size:13px;cursor:pointer;color:var(--ink);text-decoration:none}.chip.on,.chip:hover{border-color:var(--red);color:var(--red)}.chip.dark{background:var(--ink);color:var(--bg);border-color:var(--ink)}.grid3{grid-template-columns:repeat(3,1fr);grid-gap:16px}.grid2,.grid3{display:grid;gap:16px}.grid2{grid-template-columns:repeat(2,1fr);grid-gap:16px}@media(max-width:860px){.grid2,.grid3{grid-template-columns:1fr}}.card{border:1px solid var(--line);border-radius:16px;padding:24px;background:var(--card)}.card .num{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--red)}.card h3{margin:8px 0}.card p{margin:0 0 18px}.badge,.card p{color:var(--muted)}.badge{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:12.5px}.badge.go{background:var(--leaf-soft);border-color:var(--leaf);color:var(--leaf)}.badge.wait{background:var(--rose);border-color:var(--red);color:var(--red)}.badge.done{background:var(--ink);border-color:var(--ink);color:var(--bg)}.stages{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:16px;gap:16px;margin-top:40px}@media(max-width:860px){.stages{grid-template-columns:1fr}}.stage{padding-top:16px;border-top:2px solid var(--red)}.stage .ms{font-size:24px}.stage .en{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:2px 0 10px}.stage p{font-size:14.5px;margin:0}.tl{margin-top:24px;font-family:var(--mono);font-size:13px}.tl .row{display:grid;grid-template-columns:220px 1fr;align-items:center;border-bottom:1px solid var(--line);min-height:46px}.tl .track{position:relative;height:46px}.tl .bar{position:absolute;top:15px;height:16px;border-radius:8px;background:var(--rose2);border:1.5px solid var(--red)}.tl .bar.key{background:var(--red)}.tl .yr{position:absolute;top:0;bottom:0;border-left:1px solid var(--line);padding-left:8px;color:var(--muted);font-size:12px}@media(max-width:700px){.tl .row{grid-template-columns:110px 1fr}}.proj{display:flex;flex-direction:column;text-decoration:none;transition:.2s}.proj:hover{border-color:var(--rose2);transform:translateY(-2px)}.proj p{flex:1 1}.proj-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.proj-foot .more{margin-left:auto;font-size:14px;color:var(--red)}.crumbs{margin-bottom:28px}.crumbs a{color:var(--muted)}.crumbs span{margin:0 6px}.proj-layout{display:grid;grid-template-columns:230px 1fr;grid-gap:56px;gap:56px}@media(max-width:860px){.proj-layout{grid-template-columns:1fr}.proj-side{order:2}}.side-list{display:flex;flex-direction:column;border-left:1px solid var(--line)}.side-list a{padding:7px 14px;font-size:14.5px;color:var(--muted);text-decoration:none;border-left:2px solid transparent;margin-left:-1px}.side-list a:hover{color:var(--ink)}.side-list a.on{color:var(--red);border-color:var(--red)}.proj-body{font-size:17px;max-width:700px;margin-top:22px}.proj-body p{margin:0 0 1em}.facts{display:grid;grid-template-columns:180px 1fr;margin:36px 0 0;max-width:760px}.facts dd,.facts dt{padding:14px 0;border-top:1px solid var(--line);margin:0}.facts dt{font-weight:600;font-size:14.5px}.facts dd a{color:var(--red)}@media(max-width:600px){.facts{grid-template-columns:1fr}.facts dd{border-top:0;padding-top:0}}.themes{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:0;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:20px}.theme{display:flex;flex-direction:column;padding:24px 22px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;background:var(--card);transition:background .25s;min-height:230px}.theme:hover{background:var(--rose)}.theme .tn{font-family:var(--mono);font-size:12px;color:var(--red);letter-spacing:.1em}.theme h3{margin:12px 0 8px;font-size:20px}.theme p{margin:0;color:var(--muted);font-size:14.5px;flex:1 1}.theme .tf{margin-top:18px;font-size:13.5px;color:var(--red)}.arr{display:inline-block;transition:transform .2s}.pcard:hover .arr,.theme:hover .arr{transform:translateX(4px)}.searchbar{display:grid;grid-template-columns:240px 1fr 180px;grid-gap:10px;gap:10px;margin-top:22px}@media(max-width:700px){.searchbar{grid-template-columns:1fr}}.searchbar input,.searchbar select{padding:11px 12px;border:1px solid var(--line);border-bottom:1.5px solid var(--ink);background:var(--card);color:var(--ink);font:14px var(--mono);border-radius:0}.searchbar input:focus,.searchbar select:focus{outline:none;border-bottom-color:var(--red)}.pgrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:0 28px;gap:0 28px;margin-top:12px}.pgrid.two{grid-template-columns:repeat(2,1fr)}@media(max-width:860px){.pgrid,.pgrid.two{grid-template-columns:1fr}}.pcard{display:flex;flex-direction:column;padding:24px 0 20px;border-bottom:1px solid var(--line);text-decoration:none;min-height:230px}.pcard .pc-k{font-size:12.5px;color:var(--muted)}.pcard h3{font-size:20px;margin:10px 0 12px;line-height:1.25}.pcard:hover h3{color:var(--red)}.pcard p{font-size:14px;color:var(--muted);margin:0 0 16px;flex:1 1}.pcard .pc-f{display:flex;align-items:center;gap:8px;font-size:13px}.pcard .pc-f .mono{color:var(--ink)}.publist{border-top:1px solid var(--line);margin-top:12px}.pubitem{padding:16px 0;border-bottom:1px solid var(--line)}.pubitem .pt{font-weight:600;margin:4px 0 2px}.pubitem .pt a{text-decoration:none}.pubitem .pt a:hover{color:var(--red);text-decoration:underline}.pubitem .pm{font-size:14px;color:var(--muted)}.post{display:grid;grid-template-columns:150px 1fr;grid-gap:24px;gap:24px;padding:28px 0;border-top:1px solid var(--line)}@media(max-width:700px){.post{grid-template-columns:1fr;gap:6px}}.post h3{font-size:21px;cursor:pointer}.post h3:hover{color:var(--red)}.post .meta{font-family:var(--mono);font-size:12px;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.tag{font-family:var(--mono);font-size:12.5px;color:var(--red);cursor:pointer;background:none;border:0;padding:0}.postbody{max-width:660px;font-size:17px}.postbody p{margin:0 0 1em}.empty{border:1px dashed var(--line);border-radius:16px;padding:36px;text-align:center;color:var(--muted)}.filters{display:grid;grid-template-columns:70px 1fr;grid-gap:12px 16px;gap:12px 16px;align-items:center;margin:20px 0}.code{font-family:var(--mono);font-size:10.5px;background:var(--rose2);color:var(--maroon);padding:2px 6px;border-radius:4px;margin-right:6px}.plist{margin-top:72px;padding-top:40px;border-top:1px solid var(--line);max-width:900px}.plist h2{font-size:24px;margin-bottom:18px}.plist ul{margin:0;padding-left:1.2em}.plist li{margin:.7em 0;font-size:16.5px;line-height:1.55;padding-left:.2em}.plist li::marker{color:var(--red)}.plist li a,.plist li b{font-weight:600}.plist li a{color:var(--red);text-decoration:none}.plist li a:hover{text-decoration:underline}.plist .dash,.plist p{color:var(--muted)}.plist p{font-size:16.5px}.imp-sec{margin-top:72px}.imp-sec h2{font-size:24px;margin-bottom:20px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));border-top:2px solid var(--red)}.stat{padding:22px 20px 22px 0}.stat b{display:block;font-size:clamp(40px,5vw,56px);font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--red)}.stat>span{display:block;margin-top:10px;color:var(--muted);font-size:15px}.reports{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:24px;gap:24px}.report{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);border:1px solid var(--line);background:var(--card);transition:.2s}a.report:hover{border-color:var(--rose2);transform:translateY(-2px)}.rcover{aspect-ratio:4/3;background:var(--soft);overflow:hidden;border-bottom:1px solid var(--line)}.rcover img{width:100%;height:100%;object-fit:cover}.rph{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:22px;background:var(--rose)}.rph b{font-size:20px;line-height:1.25;max-width:85%}.rbody{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1 1}.rbody h3{margin:6px 0 8px}.rbody p{color:var(--muted);font-size:14.5px;margin:0 0 14px;flex:1 1}.rlink{font-size:14px;color:var(--red)}a.report:hover .arr{transform:translateX(4px)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(170px,19vw,250px);grid-gap:10px;gap:10px;grid-auto-flow:dense}@media(max-width:800px){.gallery{grid-template-columns:repeat(2,1fr)}}.gimg{position:relative;border:0;padding:0;background:var(--soft);cursor:zoom-in;overflow:hidden}.gimg.wide{grid-column:span 2}.gimg img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gimg:hover img{transform:scale(1.03)}.gcap{position:absolute;left:0;right:0;bottom:0;padding:24px 14px 10px;text-align:left;color:#fff;font-size:13.5px;background:linear-gradient(transparent,rgba(20,8,10,.7));opacity:0;transition:.3s}.gimg:focus .gcap,.gimg:hover .gcap{opacity:1}.lightbox{max-width:min(1100px,94vw);width:100%;background:var(--card);border-radius:10px;overflow:hidden}.lightbox img{display:block;width:100%;max-height:78vh;object-fit:contain;background:#111}.lbcap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px}.lbcap b{display:block;font-weight:500}.lbnav{display:flex;gap:6px;flex-shrink:0}.article{max-width:720px}.back{font-size:15px;color:var(--muted);text-decoration:none}.back:hover{color:var(--red)}.art-title{font-size:clamp(38px,5.4vw,60px);line-height:1.06;letter-spacing:-.03em;margin:28px 0 22px}.art-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--mono);font-size:13px;color:var(--muted)}.adot{width:22px;height:22px;border-radius:50%;overflow:hidden;display:inline-block;flex-shrink:0}.adot img{width:100%;height:100%;object-fit:cover;object-position:center 20%;filter:grayscale(1)}.adot.ring{width:14px;height:14px;border:1.5px solid var(--ink);background:var(--rose2)}.art-dek{font-size:20px;color:var(--muted);margin:26px 0 0;line-height:1.5}.art-body{font-size:18px;line-height:1.75;margin-top:28px}.art-body p{margin:0 0 1.1em}.art-body h2{font-size:26px;margin:1.8em 0 .6em;letter-spacing:-.02em}.art-body h3{font-size:20px;margin:1.5em 0 .5em}.art-body ol,.art-body ul{padding-left:1.3em;margin:0 0 1.2em}.art-body li{margin:.45em 0;padding-left:.3em}.art-body ul li::marker{color:var(--red)}.art-body ol li::marker{color:var(--red);font-family:var(--mono);font-size:.85em}.art-body blockquote{margin:1.4em 0;padding:4px 0 4px 22px;border-left:2px solid var(--red);font-family:var(--ital);font-style:italic;font-size:21px;color:var(--ink)}.art-body a{color:var(--red)}.art-cover{margin:32px 0 0}.art-cover img{display:block;width:100%;max-height:520px;object-fit:cover;border-radius:4px}.art-body figcaption,.art-cover figcaption{font-size:13.5px;color:var(--muted);margin-top:8px}.art-body figure{margin:2em 0}.art-body figure img{display:block;width:100%;border-radius:4px}.post.has-thumb{grid-template-columns:150px 1fr 220px}.post .thumb{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:4px;background:var(--soft)}.post .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.post .thumb:hover img{transform:scale(1.04)}@media(max-width:700px){.post.has-thumb{grid-template-columns:1fr}.post .thumb{order:-1}}.art-nav{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px;margin-top:56px;padding-top:24px;border-top:1px solid var(--line)}.art-nav a{text-decoration:none;display:flex;flex-direction:column;gap:6px}.art-nav a:hover b{color:var(--red)}.art-nav b{font-weight:600;font-size:16px}.band{background:var(--maroon);color:#fff;border-radius:4px;padding:30px 36px;display:grid;grid-template-columns:200px 1fr;grid-gap:24px;gap:24px;margin-top:40px}html.dark .band{background:var(--rose2);color:var(--ink)}.band b{font-size:17px;letter-spacing:.06em}.band p{margin:0;font-size:18px;font-weight:600;line-height:1.45}@media(max-width:700px){.band{grid-template-columns:1fr;gap:8px}}.tgroup{margin-top:56px}.tgroup h2{font-size:18px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:20px}.tgrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}@media(max-width:900px){.tgrid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.tgrid{grid-template-columns:repeat(2,1fr)}}.tile{background:none;border:0;padding:0;cursor:pointer;text-align:center;color:var(--ink)}.portrait{aspect-ratio:1/1;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center bottom;filter:grayscale(1);transition:transform .4s}.tile:hover .portrait img{transform:scale(1.04)}.portrait .ini{color:hsla(0,0%,100%,.92);font-size:44px;font-weight:700;letter-spacing:.02em}.tile.vacancy{text-decoration:none}.tile.vacancy .portrait{border:1.5px dashed var(--pencil);background:var(--soft)}.tile.vacancy:hover .portrait{border-color:var(--red)}.tile.vacancy .plus{font-size:52px;font-weight:300;color:var(--red)}.tile .nm{display:block;margin-top:14px;font-weight:500;font-size:16px}.tile .rl{display:block;font-size:13px;color:var(--muted);margin-top:2px;margin-bottom:22px}.modal{position:fixed;inset:0;z-index:50;background:rgba(30,10,12,.55);display:none;align-items:center;justify-content:center;padding:20px}.modal.on{display:flex}.modal .box{background:var(--card);border-radius:14px;max-width:760px;width:100%;display:grid;grid-template-columns:260px 1fr;overflow:hidden;max-height:90vh}.modal .box .portrait{height:100%;aspect-ratio:auto;min-height:280px}.modal .txt{padding:28px 30px;overflow:auto;position:relative}.modal .x{position:absolute;top:12px;right:12px}@media(max-width:640px){.modal .box{grid-template-columns:1fr}.modal .box .portrait{min-height:240px}}.gi .lede{max-width:700px}.gi-cards{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}@media(max-width:700px){.gi-cards{grid-template-columns:1fr}}.gi-card{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);border-radius:2px;overflow:hidden;transition:transform .2s}a.gi-card[href]:hover{transform:translateY(-2px)}.gi-card .hd{padding:13px 18px;font-weight:600;font-size:15px}.gi-card .bd{flex:1 1;padding:16px 18px 18px;font-size:14.5px;line-height:1.6}.gi-card.open .hd{background:#cfe3cc;color:#20381f}.gi-card.open .bd{background:#f0f6ef}.gi-card.shut .hd{background:var(--rose2);color:var(--maroon)}.gi-card.shut .bd{background:var(--rose)}html.dark .gi-card.open .hd{background:#2d4a2c;color:#d6ecd3}html.dark .gi-card.open .bd{background:#1c2a1c}.gi-card.wide{grid-column:1/-1}.gi-reflect{max-width:660px;margin:52px 0 0;font-size:16.5px;line-height:1.7}.gi-callout{display:flex;align-items:center;gap:20px;margin-top:36px;padding:18px 20px;border:1.5px solid var(--red);border-radius:10px;background:var(--rose)}.gi-callout p{margin:0;flex:1 1;font-size:15px}@media(max-width:640px){.gi-callout{flex-direction:column;align-items:flex-start}}.emchip{font-family:var(--mono);font-size:13px;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:3px 8px;white-space:nowrap}.gi-role{margin-top:64px;padding-top:44px;border-top:1px solid var(--line)}.gi-role h2{font-size:30px;margin:8px 0 12px}.gi-facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}@media(max-width:700px){.gi-facts{grid-template-columns:1fr 1fr}}.gi-facts div{padding:14px 16px 14px 0}.gi-facts>div>span{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.gi-facts b{font-weight:500;font-size:15px}.gi-two{display:grid;grid-template-columns:1fr 1fr;grid-gap:32px;gap:32px;margin-top:40px}@media(max-width:700px){.gi-two{grid-template-columns:1fr;gap:8px}}.gi-apply h3,.gi-two h3{font-size:21px;margin-bottom:10px}.gi-two ul{padding-left:1.2em;margin:0}.gi-two li{margin:.45em 0;font-size:15px;padding-left:.2em}.gi-two li::marker{color:var(--red)}.gi-apply{margin-top:40px}.gi-apply p{max-width:660px;margin:0 0 14px}.emrow{gap:8px}.emrow,.subj{display:flex;align-items:center}.subj{gap:10px;border:1px solid var(--line);background:var(--soft);border-radius:8px;padding:10px 12px}.subj code{flex:1 1;font-family:var(--mono);font-size:13.5px}.gi-learn div{margin:8px 0;font-size:15px}.gi-learn a{color:var(--red)}.gi-learn span{color:var(--muted)}.ornament{display:flex;align-items:center;gap:14px;justify-content:center;color:var(--red)}.ornament:after,.ornament:before{content:"";height:1px;flex:1 1;background:var(--line)}footer{padding:36px 0 64px;font-family:var(--mono);font-size:12.5px;color:var(--muted)}footer .links{display:flex;flex-wrap:wrap;gap:18px;margin-top:14px}footer a{color:var(--ink)}.pill,footer a{text-decoration:none}.pill{position:fixed;right:20px;bottom:20px;z-index:30;background:var(--ink);color:var(--bg);border-radius:999px;padding:12px 20px;font-weight:500;display:flex;align-items:center;gap:10px;box-shadow:0 8px 28px rgba(60,10,15,.18)}.pill i{width:8px;height:8px;border-radius:50%;background:var(--red);display:inline-block}.toolbar{gap:10px;flex-wrap:wrap;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--card);margin:28px 0 8px;position:-webkit-sticky;position:sticky;top:76px;z-index:10}.toolbar,.toolbar .status{display:flex;align-items:center}.toolbar .status{margin-right:auto;font-size:14px;gap:8px}.toolbar .status i{width:8px;height:8px;border-radius:50%;background:var(--leaf)}.toolbar .status.dirty i{background:var(--gold)}.adm{display:grid;grid-template-columns:200px 1fr;grid-gap:32px;gap:32px;margin-top:24px}@media(max-width:800px){.adm{grid-template-columns:1fr}}.side-tabs{position:-webkit-sticky;position:sticky;top:150px;align-self:start}.sgroup,.side-tabs{display:flex;flex-direction:column;gap:2px}.sgroup{margin-top:14px}.sg-h{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:0 12px 4px}@media(max-width:800px){.side-tabs{position:static}.sgroup{margin-top:0;display:contents}.sg-h{display:none}}.ov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:14px;gap:14px}.ov-card{border:1px solid var(--line);border-radius:12px;padding:18px;background:var(--card)}.ov-card h3{font-size:17px;margin-bottom:4px}.ov-card p{color:var(--muted);font-size:13.5px;margin:0 0 12px}.ov-links{display:flex;flex-direction:column}.ov-links button{display:flex;justify-content:space-between;align-items:center;background:none;border:0;border-top:1px solid var(--line);padding:9px 0;font-size:14.5px;color:var(--ink);cursor:pointer;text-align:left}.ov-links button:hover span{color:var(--red)}.ov-links small{color:var(--muted);font-family:var(--mono);font-size:11.5px}.fgroup{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:var(--card)}.fgroup>summary{list-style:none;cursor:pointer;padding:13px 16px;font-weight:600;display:flex;justify-content:space-between;align-items:center}.fgroup>summary::-webkit-details-marker{display:none}.fgroup>summary .chev{color:var(--muted);transition:.2s}.fgroup[open]>summary .chev{transform:rotate(90deg)}.fg-body{padding:4px 16px 8px;border-top:1px solid var(--line)}.fg-body>.field:first-child,.fg-body>.help:first-child,.fg-body>.row2:first-child{margin-top:14px}#form{min-width:0;max-width:820px}.acc-row{display:grid;grid-template-columns:1fr 150px 110px;grid-gap:10px;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.acc-add input,.acc-add select,.acc-row select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font:14px var(--sans)}.acc-add{display:grid;grid-template-columns:1fr 150px auto;grid-gap:10px;gap:10px;margin-top:14px}@media(max-width:600px){.acc-add,.acc-row{grid-template-columns:1fr}}.role-tag{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}@media(max-width:800px){.side-tabs{flex-direction:row;flex-wrap:wrap}}.side-tabs button{background:none;border:0;padding:9px 12px;text-align:left;border-radius:9px;font-size:14.5px;color:var(--muted);cursor:pointer}.side-tabs button:hover{background:var(--soft);color:var(--ink)}.side-tabs button.on{background:var(--rose);color:var(--red);font-weight:500}.field{margin-bottom:14px}.field>label{display:block;font-size:13px;font-weight:500;margin-bottom:5px}.field .help{font-size:12px;color:var(--muted);margin-top:4px}.field input[type=date],.field input[type=email],.field input[type=month],.field input[type=number],.field input[type=text],.field input[type=url],.field select,.field textarea{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font:14.5px var(--sans)}.field textarea{min-height:84px;resize:vertical;line-height:1.5}.field textarea.long{min-height:200px}.field textarea.xl{min-height:380px;font-family:var(--mono);font-size:13.5px}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--rose)}.check{display:flex;gap:10px;align-items:center;font-size:14.5px;margin-bottom:14px;cursor:pointer}.check input{accent-color:var(--red);width:16px;height:16px}.row2{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 14px;gap:0 14px;align-items:start}@media(max-width:600px){.row2{grid-template-columns:1fr}}.item{border:1px solid var(--line);border-radius:12px;background:var(--card);margin-bottom:10px}.item>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;font-weight:500}.item>summary::-webkit-details-marker{display:none}.item>summary .chev{transition:.2s;color:var(--muted)}.item[open]>summary .chev{transform:rotate(90deg)}.item>summary .t{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item .body{padding:16px 14px 14px;border-top:1px solid var(--line)}.imgbar{display:flex;align-items:center;gap:10px;margin-top:8px}.fsub{font-size:15px;margin:22px 0 8px;padding-top:14px;border-top:1px solid var(--line)}.mini{background:none;border:1px solid var(--line);border-radius:7px;padding:3px 8px;font-size:12px;color:var(--muted);cursor:pointer}.mini:hover{color:var(--ink);border-color:var(--ink)}.mini.del:hover{color:var(--red);border-color:var(--red)}.vis{display:inline-flex;align-items:center;gap:7px;background:none;border:0;font-size:12.5px;color:var(--muted);cursor:pointer;padding:2px 6px;margin-right:4px}.vis .sw{width:28px;height:16px;border-radius:9px;background:var(--line);position:relative;transition:.2s}.vis .sw:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:.2s}.vis.on{color:var(--leaf)}.vis.on .sw{background:var(--leaf)}.vis.on .sw:after{left:14px}.item.is-hidden>summary .t{color:var(--muted)}.item>summary .t small{font-weight:400;font-size:12.5px}.addbtn{width:100%;border:1.5px dashed var(--line);background:none;border-radius:12px;padding:12px;color:var(--muted);cursor:pointer;font-size:14px}.addbtn:hover{border-color:var(--red);color:var(--red)}.panel-h{margin-bottom:6px}.panel-d{color:var(--muted);font-size:14.5px;margin:0 0 20px}.photo{gap:14px}.photo,.photo .pv{display:flex;align-items:center}.photo .pv{width:64px;height:72px;border-radius:9px;background:var(--rose);overflow:hidden;justify-content:center;color:var(--red);font-weight:600}.photo .pv img{object-fit:cover}.photo .pv .portrait,.photo .pv img{width:100%;height:100%}.photo .pv .ini{font-size:22px}.linkpick{display:flex;flex-wrap:wrap;gap:6px}.linkpick label{border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:12.5px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.linkpick input{display:none}.linkpick label:has(input:checked){background:var(--rose);border-color:var(--red);color:var(--red)}body.editing [data-k]{outline:1.5px dashed var(--red);outline-offset:3px;border-radius:3px;cursor:text}.editbar{position:fixed;left:50%;top:76px;transform:translateX(-50%);z-index:35;background:var(--ink);color:var(--bg);padding:8px 8px 8px 18px;border-radius:999px;font-size:14px;display:none;align-items:center;gap:12px;box-shadow:0 8px 28px rgba(0,0,0,.2)}body.editing .editbar{display:flex}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:999px;font-size:14px;opacity:0;transition:.3s;z-index:40;pointer-events:none}.toast.show{opacity:1}.note{background:var(--soft);border-radius:12px;padding:14px 16px;font-size:14px;color:var(--muted);margin:16px 0}