:root{--bg: #ffffff;--bg-soft: #f5f5f5;--text: #2a2a2a;--muted: #808080;--muted2: #8c8c8c;--line: #e9e9e9;--pill: #e7e7e7;--pill-hover: #d7d7d7;--max: 920px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";color:var(--text);background:var(--bg)}img{display:block;max-width:100%}a{color:inherit}.hero.hero-home{background:var(--bg);padding:0}.hero-main{max-width:var(--max);margin:0 auto}.hero-eyebrow{font-size:42px;font-weight:700;letter-spacing:-1px;margin:0 0 26px;color:var(--text)}.hero-lead{font-size:18px;line-height:1.5;color:var(--muted);margin:0 0 28px;max-width:860px}.hero-lead .highlight{color:#000}.hero-tabs{display:flex;gap:18px;margin:20px 0 20px 20px}.tab{width:120px;height:50px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:18px;font-weight:500;color:var(--text);border-radius:999px;background:transparent;transition:background .2s ease,transform .2s ease}.tab:hover{background:var(--pill-hover)}.tab.active{background:var(--pill)}.image-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:60px;padding:20px}.image-card{margin:0;position:relative;display:block;text-decoration:none;color:inherit}.image-card img{width:100%;height:auto;border-radius:18px;display:block}.image-wrapper{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;border-radius:18px}.image-wrapper img{width:100%;height:100%;object-fit:cover;display:block}.image-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;border-radius:18px;opacity:0;transition:opacity .25s ease}.image-wrapper:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;opacity:0;transition:opacity .25s ease}.image-card:hover .image-wrapper:after{opacity:1}.project-title{margin:12px 0 6px;font-size:16px;font-weight:600}.project-intro{margin:0;font-size:14px;line-height:1.5;color:#777}.about-page{margin-top:10px}.about-grid{margin-left:20px;display:grid;grid-template-columns:1fr 320px;gap:64px;align-items:start}.about-h{font-size:20px;font-weight:700;margin:24px 0 18px}.about-h a{color:inherit;text-decoration:none}.about-h a:hover{text-decoration:underline}.about-list{margin-bottom:32px}.exp{display:grid;grid-template-columns:150px 1fr;gap:10px;padding:14px 0}.year{margin:0;font-size:14px;color:#9a9a9a}.org{margin:0 0 4px;font-weight:600;font-size:16px}.role{margin:0;font-size:16px;color:#666}.desc{margin:6px 0 0;font-size:14px;line-height:1.6;color:#999;max-width:520px}.about-photo{position:sticky;top:120px;border-radius:22px;overflow:hidden}.about-photo img{width:100%;display:block}@media (max-width:809px){.about-grid{display:flex;flex-direction:column;gap:32px}.about-right{order:-1}.about-photo{position:relative;top:auto;max-width:260px}.exp{grid-template-columns:1fr;gap:8px}}.site-footer{margin-top:60px;margin-bottom:60px;padding-top:22px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.footer-copy{margin:0;font-size:16px;color:var(--muted2)}.footer-links{display:flex;gap:20px}.footer-links a{text-decoration:none;font-size:16px;color:var(--text);opacity:.9}.footer-links a:hover{text-decoration:underline}@media (min-width: 1200px){.hero.hero-home{padding:40px 24px 30px}.hero-main{max-width:1000px}.image-grid{grid-template-columns:repeat(2,1fr);gap:60px}}@media (min-width: 810px) and (max-width: 1199px){.hero.hero-home{padding:30px 22px 20px}.hero-main{max-width:860px}.hero-eyebrow{font-size:42px}.hero-lead{font-size:20px}.image-grid{grid-template-columns:repeat(2,1fr);gap:50px}}@media (max-width: 809px){.hero.hero-home{padding:30px 18px 10px}.hero-main{max-width:100%}.hero-eyebrow{font-size:42px;margin-bottom:18px}.hero-lead{font-size:18px;margin-bottom:18px}.hero-tabs{flex-wrap:wrap;gap:12px;margin:22px 0 20px 20px}.tab{width:110px}.image-grid{grid-template-columns:1fr;gap:22px}.exp{grid-template-columns:1fr;gap:10px}.site-footer{flex-direction:column;align-items:flex-start;gap:12px}}.work-detail{max-width:900px;margin:0 auto;padding:40px 20px 60px}.back-link{display:inline-block;margin:0 0 20px;color:var(--muted2);text-decoration:none;font-size:20px;transition:color .2s ease}.back-link:hover{color:var(--text)}.back-link:before{content:"←";margin-right:6px;display:inline-block}.detail-header{margin-bottom:30px}.detail-title{font-size:48px;font-weight:600;letter-spacing:-.02em;margin:0 0 10px;line-height:1.1;color:var(--text)}.detail-meta{font-size:16px;color:var(--muted);margin:0}.detail-intro{margin-bottom:40px}.detail-intro p{font-size:18px;line-height:1.6;color:var(--text);margin:0}.detail-divider{border:none;border-top:2px solid var(--line);margin:40px 0;width:100%}.section-title{font-size:24px;font-weight:500;margin:0 0 25px;color:var(--text)}.image-grid-compact{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px}.image-card-compact{margin:0}.image-wrapper-compact{aspect-ratio:16 / 10;overflow:hidden;border-radius:12px;background:var(--bg-soft)}.image-wrapper-compact img{width:100%;height:100%;object-fit:cover;display:block}.image-caption{margin-top:8px;font-size:14px;color:var(--muted);text-align:center}.section-text{font-size:16px;line-height:1.7;color:var(--text);max-width:700px;margin:0}.links-list{list-style:none;padding:0;margin:0}.links-list li{margin-bottom:8px}.links-list a{color:var(--text);text-decoration:none;font-size:16px;border-bottom:1px solid transparent;transition:border-color .2s ease}.links-list a:hover{border-bottom-color:var(--text)}@media (max-width: 809px){.work-detail{padding:30px 18px 40px}.detail-title{font-size:36px}.detail-intro p{font-size:16px}.image-grid-compact{grid-template-columns:1fr;gap:30px}.section-title{font-size:22px}}.back-button{display:inline-flex;align-items:center;padding:8px 20px;margin:0 0 40px;border:1.5px solid var(--line);border-radius:40px;color:var(--text);text-decoration:none;font-size:18px;font-weight:500;background:transparent;transition:all .2s ease}.back-button:hover{background:var(--pill);border-color:var(--pill-hover);transform:translateY(-1px)}.back-button:before{content:"←";margin-right:8px;font-size:20px;line-height:1;display:inline-block;transition:transform .2s ease}.back-button:hover:before{transform:translate(-2px)}@media (prefers-color-scheme: dark){.back-button{border-color:#333}.back-button:hover{background:#2a2a2a;border-color:#444}}.content-image{width:100%;border-radius:18px;display:block;margin-bottom:20px}.content-figure{margin:20px 0}.work-detail .image-grid{display:grid;grid-template-columns:1fr;gap:0;margin-top:30px;border-radius:18px;overflow:hidden}.blackbg-fullscreen{background-color:#000;min-height:100vh;width:100%;position:relative}.whitebg-fullscreen{background-color:#fff}.hmi-back-button-fixed{position:fixed;top:30px;left:30px;z-index:1000;display:inline-flex;align-items:center;padding:8px 20px;border:1.5px solid rgba(255,255,255,.3);border-radius:40px;color:#fff;text-decoration:none;font-size:15px;font-weight:500;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .2s ease}.hmi-back-button-fixed:hover{background:#222222e6;border-color:#ffffff80}.hmi-back-button-fixed-white{position:fixed;top:30px;left:30px;z-index:1000;display:inline-flex;align-items:center;padding:8px 20px;border:1.5px solid rgba(0,0,0,.2);border-radius:40px;color:#000;text-decoration:none;font-size:15px;font-weight:500;background:#fff9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .2s ease}.hmi-back-button-fixed-white:hover{background:#2222224d;border-color:#ffffff80}.hmi-back-button-fixed-white:before{content:"←";margin-right:8px;font-size:16px}.hmi-back-button-fixed:before{content:"←";margin-right:8px;font-size:16px}.hmi-scrollable-content{width:100%;min-height:100vh;box-sizing:border-box;display:flex;justify-content:center}.hmi-grid-9{justify-content:center;display:grid;grid-template-columns:repeat(1,1fr);gap:0;width:100%;max-width:1800px;overflow:hidden;margin:0 30px}.sl-detail{max-width:800px;margin:0 auto;padding:50px 40px;background-color:#fff}.sl-back-button:hover{border-color:#999;color:#333}.sl-header{margin-bottom:32px}.sl-title{font-size:42px;font-weight:600;margin:80px 0 20px;line-height:1.1;color:#111}.sl-subtitle{font-size:16px;color:#999;margin:0}.sl-intro{font-size:18px;line-height:1.6;color:#444;margin:0 0 40px}.sl-section{margin:60px 0 48px}.sl-section-title{font-size:24px;font-weight:500;margin:0 0 24px;color:#111}.sl-issues-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.sl-issue-item{padding:12px 16px;background-color:#f9f9f9;border:1px solid #eaeaea;border-radius:8px;font-size:15px;color:#333}.sl-solution-block{margin-bottom:28px}.sl-solution-title{font-size:18px;font-weight:600;margin:0 0 8px;color:#222}.sl-solution-desc{font-size:16px;line-height:1.6;color:#555;margin:0}.sl-features-list{list-style:none;padding:0;margin:0}.sl-features-list li{font-size:16px;color:#444;margin-bottom:12px;padding-left:20px;position:relative;line-height:1.5}.sl-features-list li:before{content:"•";position:absolute;left:0;color:#999}.sl-links-list{list-style:none;padding:0;margin:0}.sl-links-list li{margin-bottom:10px}.sl-links-list a{color:#111;text-decoration:none;font-size:16px;border-bottom:1px solid #ddd;transition:border-color .2s ease}.sl-links-list a:hover{border-bottom-color:#111}@media (max-width: 768px){.sl-detail{padding:40px 30px}.sl-title{font-size:32px}.sl-intro{font-size:16px}.sl-issues-grid{grid-template-columns:1fr}.sl-section-title{font-size:22px}}.sl-inline-image{width:100%;margin:30px 0;border-radius:16px;overflow:hidden;background-color:#f5f5f5;border:1px solid #eaeaea}.sl-inline-image img{width:100%;height:auto;display:block;object-fit:cover}.sl-inline-image-small{width:100%;max-width:600px;margin:20px 0 10px;border-radius:12px;overflow:hidden;background-color:#f5f5f5;border:1px solid #eaeaea}.sl-inline-image-small img{width:100%;height:auto;display:block;object-fit:cover}@media (max-width: 768px){.sl-inline-image{margin:20px 0;border-radius:12px}.sl-inline-image-small{max-width:100%;margin:15px 0 5px}}.sl-video-container{width:50%;margin:30px 0 20px;border-radius:16px;overflow:hidden;background-color:#f5f5f5;box-shadow:0 4px 12px #0000000d}.sl-video-container video{width:100%;height:auto;display:block;object-fit:cover}@media (max-width: 768px){.sl-video-container{margin:20px 0 15px;border-radius:12px}}
