:root{--paper:#ecebe6;--mount:#f4f3ef;--ink:#16161a;--concrete:#97968e;--hairline:#16161a24;--slot-a:#24242a;--slot-b:#33333b;--signal:#1e46e6;--pad:clamp(20px,4vw,56px);--curtain-bg:#16161a;--curtain-fg:#ecebe6;--curtain-muted:#97968e;--heartbeat:#a6362e}@media (prefers-color-scheme:dark){:root{--paper:#121214;--mount:#18181b;--ink:#eceae4;--concrete:#8c8a80;--hairline:#eceae429;--slot-a:#26262d;--slot-b:#37373f;--signal:#4c6fff;--heartbeat:#e17169}}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{background:var(--paper);color:var(--ink);font-family:var(--font-inter),system-ui,sans-serif;min-height:100vh;padding:var(--pad);flex-direction:column;display:flex;position:relative;overflow-x:hidden}.crop{pointer-events:none;z-index:5;opacity:.55;width:16px;height:16px;position:fixed}.crop:before,.crop:after{content:"";background:var(--ink);position:absolute}.crop:before{width:16px;height:1px;top:0;left:0}.crop:after{width:1px;height:16px;top:0;left:0}.crop.tl{top:calc(var(--pad) - 22px);left:calc(var(--pad) - 22px)}.crop.tr{top:calc(var(--pad) - 22px);right:calc(var(--pad) - 22px);transform:scaleX(-1)}.crop.bl{bottom:calc(var(--pad) - 22px);left:calc(var(--pad) - 22px);transform:scaleY(-1)}.crop.br{bottom:calc(var(--pad) - 22px);right:calc(var(--pad) - 22px);transform:scale(-1)}.mono{font-family:var(--font-mono),monospace}.img-copyright{letter-spacing:.08em;color:#ffffff52;text-shadow:0 1px 2px #00000080,0 0 6px #00000040;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:3;font-size:9.5px;line-height:1;position:absolute;bottom:8px;right:10px}@media (max-width:480px){.img-copyright{font-size:8.5px;bottom:6px;right:8px}}header{border-bottom:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:24px;padding-bottom:16px;display:flex}.brand-block{flex-direction:column;gap:9px;display:flex}.brand{font-family:var(--font-mono),monospace;letter-spacing:.24em;text-transform:uppercase;font-size:12px}.brand b{font-weight:700}.nav-links{align-items:center;gap:18px;display:flex}.nav-links a{font-family:var(--font-mono),monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);font-size:11px;text-decoration:none;transition:color .3s}.nav-links a:hover{color:var(--signal)}.nav-links a.social{align-items:center;display:inline-flex}.nav-links a.social svg{fill:currentColor;width:14px;height:14px;transition:transform .3s cubic-bezier(.16,.84,.34,1)}.nav-links a.social:hover svg{transform:translateY(-1px)}.nav-links a.pulse{color:var(--heartbeat);transform-origin:50%;animation:2s ease-in-out infinite heartbeat;display:inline-block}.nav-links a.pulse:hover{color:var(--signal)}@keyframes heartbeat{0%,34%,to{transform:scale(1)}8%{transform:scale(1.12)}16%{transform:scale(1)}24%{transform:scale(1.14)}}.meta{font-family:var(--font-mono),monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--concrete);gap:22px;font-size:11px;display:flex}.meta .live{color:var(--ink);align-items:center;gap:7px;display:flex}.dot{background:var(--signal);border-radius:50%;width:6px;height:6px;display:inline-block}body.cc-active,body.cc-active *{cursor:none}.cc{pointer-events:none;z-index:9999;position:fixed;top:0;left:0}.cc-reticle{width:24px;height:24px;transition:transform .4s cubic-bezier(.16,.84,.34,1);position:absolute;top:0;left:0;transform:translate(-50%,-50%)scale(1)}.cc-reticle.is-hover{transform:translate(-50%,-50%)scale(1.3)}.cc-arm{background:var(--ink);position:absolute}.cc-arm-t{width:1px;height:7px;top:2px;left:11.5px}.cc-arm-b{width:1px;height:7px;bottom:2px;left:11.5px}.cc-arm-l{width:7px;height:1px;top:11.5px;left:2px}.cc-arm-r{width:7px;height:1px;top:11.5px;right:2px}.cc-bracket{opacity:0;width:6px;height:6px;transition:opacity .4s cubic-bezier(.16,.84,.34,1);position:absolute}.cc-bracket:before,.cc-bracket:after{content:"";background:var(--ink);position:absolute}.cc-bracket:before{width:6px;height:1px;top:0;left:0}.cc-bracket:after{width:1px;height:6px;top:0;left:0}.cc-bracket.tl{top:-8px;left:-8px}.cc-bracket.tr{top:-8px;right:-8px;transform:scaleX(-1)}.cc-bracket.bl{bottom:-8px;left:-8px;transform:scaleY(-1)}.cc-bracket.br{bottom:-8px;right:-8px;transform:scale(-1)}.cc-reticle.is-hover .cc-bracket{opacity:1}.cc-coords{white-space:nowrap;letter-spacing:.12em;color:var(--concrete);font-size:9px;position:absolute;top:14px;left:14px}.marquee{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);margin:20px 0;padding:16px 0;overflow:hidden}.marquee-track{gap:36px;width:max-content;animation:46s linear infinite marquee;display:flex}.marquee-track span{font-family:var(--font-mono),monospace;letter-spacing:.34em;text-transform:uppercase;color:var(--concrete);white-space:nowrap;font-size:13px}.marquee-track span:after{content:"·";color:var(--hairline);margin-left:36px}@keyframes marquee{to{transform:translate(-50%)}}.sheet{flex-direction:column;flex:1;justify-content:center;padding:clamp(28px,5vh,64px) 0;display:flex}.eyebrow{justify-content:space-between;align-items:flex-end;margin-bottom:22px;display:flex}.eyebrow h2{font-family:var(--font-mono),monospace;letter-spacing:.28em;text-transform:uppercase;color:var(--concrete);font-size:11px;font-weight:400}.rule{align-items:flex-end;gap:0;height:14px;display:flex}.tick{background:var(--hairline);width:1px;height:6px}.tick.lg{background:var(--concrete);height:12px}.rule .cap{font-family:var(--font-mono),monospace;letter-spacing:.12em;color:var(--concrete);align-self:center;margin-left:8px;font-size:10px}.grid{grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,26px);display:grid;position:relative}.grid:before{content:"";background:repeating-linear-gradient(to right,var(--hairline) 0 1px,transparent 1px 9px);height:1px;position:absolute;top:-16px;left:0;right:0}.card{color:inherit;opacity:0;flex-direction:column;grid-column:span 1;text-decoration:none;animation:.9s cubic-bezier(.16,.84,.34,1) forwards rise;display:flex;transform:translateY(26px)}.card:first-child{animation-delay:.1s}.card:nth-child(2){animation-delay:.24s}.card:nth-child(3){animation-delay:.38s}@keyframes rise{to{opacity:1;transform:translateY(0)}}.idx{font-family:var(--font-mono),monospace;letter-spacing:.1em;color:var(--concrete);align-items:center;gap:9px;margin-bottom:9px;font-size:12px;transition:color .4s;display:flex}.idx .bar{background:var(--concrete);width:16px;height:1px;transition:width .45s cubic-bezier(.16,.84,.34,1),background .4s}.slot{aspect-ratio:3/2;background:linear-gradient(150deg,var(--slot-a),var(--slot-b));border:1px solid var(--hairline);width:100%;position:relative;overflow:hidden}.slot img{object-fit:cover;filter:grayscale(30%)saturate(75%);width:100%;height:100%;transition:transform 1.1s cubic-bezier(.16,.84,.34,1),filter 1.1s cubic-bezier(.16,.84,.34,1);position:absolute;inset:0}.slot:before{content:"";opacity:.14;background-image:repeating-linear-gradient(90deg,#ffffff80 0 1px,#0000 1px 34px),repeating-linear-gradient(#ffffff80 0 1px,#0000 1px 34px);transition:transform 1.1s cubic-bezier(.16,.84,.34,1);position:absolute;inset:0}.slot.has-img:before{opacity:0}.slot .watermark{font-family:var(--font-display),sans-serif;color:#ffffff0f;letter-spacing:-.03em;-webkit-user-select:none;user-select:none;font-size:clamp(40px,7vw,84px);font-weight:700;line-height:.8;transition:transform 1.1s cubic-bezier(.16,.84,.34,1);position:absolute;bottom:12px;left:16px}.slot .tag{font-family:var(--font-mono),monospace;letter-spacing:.18em;text-transform:uppercase;color:#ffffff6b;z-index:2;font-size:9.5px;position:absolute;top:14px;left:14px}.slot .view{opacity:0;z-index:2;border:1px solid #ffffff47;border-radius:50%;place-items:center;width:34px;height:34px;transition:opacity .45s,transform .45s cubic-bezier(.16,.84,.34,1);display:grid;position:absolute;top:14px;right:14px;transform:scale(.7)}.slot .view svg{stroke:#fff;fill:none;stroke-width:1.4px;width:13px;height:13px}.cap-block{border-top:1px solid var(--ink);margin-top:14px;padding-top:16px}.title{font-family:var(--font-display),sans-serif;letter-spacing:-.02em;font-size:clamp(20px,2vw,27px);font-weight:700;line-height:1;transition:transform .5s cubic-bezier(.16,.84,.34,1)}.cat{justify-content:space-between;align-items:baseline;margin-top:9px;display:flex}.cat .type,.cat .yr{font-family:var(--font-mono),monospace;letter-spacing:.06em;color:var(--concrete);font-size:11px}.desc{color:var(--concrete);opacity:0;max-width:34ch;max-height:0;margin-top:12px;font-size:12.5px;line-height:1.5;transition:max-height .55s cubic-bezier(.16,.84,.34,1),opacity .45s,margin-top .4s;overflow:hidden}.card:hover .slot:before{transform:scale(1.06)}.card:hover .slot img{filter:grayscale(0%)saturate();transform:scale(1.06)}.card:hover .slot .watermark{transform:translateY(-4px)}.card:hover .slot .view{opacity:1;transform:scale(1)}.card:hover .idx{color:var(--signal)}.card:hover .idx .bar{background:var(--signal);width:30px}.card:hover .title{transform:translate(6px)}.card:hover .desc{opacity:1;max-height:120px;margin-top:12px}.card:focus-visible{outline:2px solid var(--signal);outline-offset:8px}footer{border-top:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:16px;display:flex}footer span{font-family:var(--font-mono),monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--concrete);font-size:10.5px}.back{font-family:var(--font-mono),monospace;letter-spacing:.24em;text-transform:uppercase;color:var(--ink);align-items:center;gap:8px;font-size:12px;text-decoration:none;transition:color .3s,gap .3s;display:flex}.back svg{stroke:currentColor;fill:none;stroke-width:1.6px;flex-shrink:0;width:14px;height:14px}.back:hover{color:var(--signal);gap:12px}.detail{gap:28px;position:relative}.img-trigger{cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.img-trigger .expand{opacity:0;border:1px solid #ffffff47;border-radius:50%;place-items:center;width:34px;height:34px;transition:opacity .45s,transform .45s cubic-bezier(.16,.84,.34,1);display:grid;position:absolute;top:14px;right:14px;transform:scale(.7)}.img-trigger .expand svg{stroke:#fff;fill:none;stroke-width:1.4px;width:13px;height:13px}.detail-cover:hover .expand,.g-item:hover .expand{opacity:1;transform:scale(1)}.detail-head{border-bottom:1px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;padding-bottom:20px;display:flex}.detail-title{font-family:var(--font-display),sans-serif;letter-spacing:-.03em;font-size:clamp(34px,6vw,74px);font-weight:700;line-height:.98}.detail-meta{flex-shrink:0;gap:16px;display:flex}.detail-meta .type,.detail-meta .yr{font-family:var(--font-mono),monospace;letter-spacing:.1em;color:var(--concrete);font-size:12px}.detail-lead{font-family:var(--font-inter),sans-serif;color:var(--ink);max-width:62ch;font-size:clamp(15px,1.6vw,19px);line-height:1.55}.detail-subtitle{font-family:var(--font-mono),monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--signal);font-size:13px}.detail-hero{grid-template-columns:7fr 3fr;align-items:start;gap:clamp(24px,3vw,44px);display:grid}.detail-hero.no-hero-text{grid-template-columns:1fr}.detail-cover{background:linear-gradient(150deg,var(--slot-a),var(--slot-b));border:1px solid var(--hairline);width:100%;position:relative;overflow:hidden}.detail-cover:not(.has-img){aspect-ratio:16/9}.detail-cover img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:auto;max-height:min(64vh,640px);display:block}.detail-cover:before{content:"";opacity:.14;background-image:repeating-linear-gradient(90deg,#ffffff80 0 1px,#0000 1px 34px),repeating-linear-gradient(#ffffff80 0 1px,#0000 1px 34px);position:absolute;inset:0}.detail-cover.has-img:before{opacity:0}.detail-cover .tag{font-family:var(--font-mono),monospace;letter-spacing:.18em;text-transform:uppercase;color:#ffffff6b;z-index:2;font-size:9.5px;position:absolute;top:16px;left:16px}.detail-cover .watermark{font-family:var(--font-display),sans-serif;color:#ffffff14;letter-spacing:-.03em;-webkit-user-select:none;user-select:none;font-size:clamp(48px,9vw,120px);font-weight:700;line-height:.8;position:absolute;bottom:14px;left:20px}.detail-hero-text{flex-direction:column;gap:16px;padding-top:2px;display:flex}.detail-hero-label{letter-spacing:.2em;text-transform:uppercase;color:var(--concrete);font-size:11px}.detail-body{font-family:var(--font-inter),sans-serif;color:var(--ink);max-width:66ch;font-size:15px;line-height:1.75}.detail-body p{margin-bottom:1.3em}.detail-body p:last-child{margin-bottom:0}.detail-body h1,.detail-body h2,.detail-body h3,.detail-body h4{font-family:var(--font-display),sans-serif;margin:1.4em 0 .6em;font-weight:700;line-height:1.2}.detail-body h1:first-child,.detail-body h2:first-child,.detail-body h3:first-child,.detail-body h4:first-child{margin-top:0}.detail-body blockquote{border-left:2px solid var(--signal);color:var(--concrete);margin:1.4em 0;padding-left:18px;font-style:italic}.detail-body ul,.detail-body ol{margin-bottom:1.3em;padding-left:1.3em}.detail-body li{margin-bottom:.5em}.detail-body a{color:var(--ink);-webkit-text-decoration-color:var(--concrete);text-decoration-color:var(--concrete)}.detail-body strong{font-weight:700}.capability-grid{grid-template-columns:repeat(2,1fr);gap:0 32px;display:grid}.capability-item{font-family:var(--font-mono),monospace;letter-spacing:.02em;color:var(--ink);border-bottom:1px solid var(--hairline);align-items:baseline;gap:12px;padding:12px 0;font-size:12px;display:flex}.capability-item .capability-index{color:var(--concrete);flex-shrink:0}.scenario-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.scenario-card{border:1px solid var(--hairline);flex-direction:column;gap:16px;padding:20px;display:flex}.scenario-block{flex-direction:column;gap:6px;display:flex}.scenario-label{font-family:var(--font-mono),monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--concrete);font-size:10px}.scenario-label.is-response{color:var(--signal)}.scenario-text{font-family:var(--font-inter),sans-serif;color:var(--ink);font-size:13.5px;line-height:1.55}.section-label{font-family:var(--font-mono),monospace;letter-spacing:.28em;text-transform:uppercase;color:var(--concrete);font-size:11px;font-weight:400}.about-section-head{justify-content:space-between;align-items:flex-end;margin-bottom:22px;display:flex}.about-section-head .rule{height:12px}.about-hero{border-bottom:1px solid var(--ink);flex-wrap:wrap;align-items:flex-start;gap:clamp(24px,4vw,56px);padding-bottom:20px;display:flex}.about-portrait{aspect-ratio:4/5;background:linear-gradient(150deg,var(--slot-a),var(--slot-b));border:1px solid var(--hairline);flex:0 0 clamp(200px,26vw,320px);position:relative;overflow:hidden}.about-portrait img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.about-portrait:before{content:"";opacity:.14;background-image:repeating-linear-gradient(90deg,#ffffff80 0 1px,#0000 1px 34px),repeating-linear-gradient(#ffffff80 0 1px,#0000 1px 34px);position:absolute;inset:0}.about-portrait.has-img:before{opacity:0}.about-portrait .tag{font-family:var(--font-mono),monospace;letter-spacing:.18em;text-transform:uppercase;color:#ffffff6b;z-index:2;font-size:9.5px;position:absolute;top:14px;left:14px}.about-portrait .watermark{font-family:var(--font-display),sans-serif;color:#ffffff14;letter-spacing:-.03em;-webkit-user-select:none;user-select:none;font-size:clamp(36px,6vw,64px);font-weight:700;line-height:.8;position:absolute;bottom:12px;left:16px}.about-hero-text{flex-direction:column;flex:320px;justify-content:flex-start;min-width:240px;display:flex}.about-coords{font-family:var(--font-mono),monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--concrete);margin-bottom:14px;font-size:11px}.about-name{font-family:var(--font-display),sans-serif;letter-spacing:-.03em;color:var(--ink);font-size:clamp(30px,4vw,52px);font-weight:700;line-height:.98}.about-summary{font-family:var(--font-inter),sans-serif;color:var(--ink);max-width:56ch;margin-top:22px;font-size:14.5px;line-height:1.65}.about-section{border-top:1px solid var(--hairline);margin-top:8px;padding-top:32px}.about-list{flex-direction:column;gap:26px;list-style:none;display:flex}.about-item{flex-direction:column;gap:6px;display:flex}.about-item-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;display:flex}.about-item-role{font-family:var(--font-display),sans-serif;color:var(--ink);font-size:16px;font-weight:700}.about-item-meta{font-family:var(--font-mono),monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--concrete);white-space:nowrap;font-size:11px}.about-item-desc{font-family:var(--font-inter),sans-serif;color:var(--ink);max-width:64ch;font-size:14px;line-height:1.6}.skills-table{border-top:1px solid var(--hairline);grid-template-columns:1fr auto;column-gap:24px;display:grid}.skill-name{font-family:var(--font-mono),monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--hairline);padding:11px 0;font-size:12px}.skill-level{font-family:var(--font-mono),monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--concrete);border-bottom:1px solid var(--hairline);text-align:right;white-space:nowrap;padding:11px 0;font-size:11px}.skills-list{flex-wrap:wrap;gap:10px;list-style:none;display:flex}.skills-list li{font-family:var(--font-mono),monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);border:1px solid var(--hairline);padding:8px 14px;font-size:11px;transition:border-color .3s,color .3s}.skills-list li:hover{border-color:var(--signal);color:var(--signal)}.about-contact{flex-wrap:wrap;gap:24px;display:flex}.about-contact a{font-family:var(--font-mono),monospace;letter-spacing:.08em;color:var(--ink);border-bottom:1px solid var(--hairline);padding-bottom:2px;font-size:12px;text-decoration:none;transition:color .3s,border-color .3s}.about-contact a:hover{color:var(--signal);border-color:var(--signal)}.detail-gallery{scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--concrete) transparent;gap:clamp(14px,1.6vw,26px);margin-bottom:-16px;padding-bottom:16px;display:flex;overflow:auto hidden}.detail-gallery::-webkit-scrollbar{height:4px}.detail-gallery::-webkit-scrollbar-track{background:0 0}.detail-gallery::-webkit-scrollbar-thumb{background:var(--hairline);border-radius:2px}.detail-gallery::-webkit-scrollbar-thumb:hover{background:var(--concrete)}.g-item{aspect-ratio:16/9;background:linear-gradient(150deg,var(--slot-a),var(--slot-b));border:1px solid var(--hairline);scroll-snap-align:start;flex:0 0 clamp(280px,42vw,480px);position:relative;overflow:hidden}.g-item img{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:100%;transition:transform .8s cubic-bezier(.16,.84,.34,1);position:absolute;inset:0}.g-item:hover img{transform:scale(1.05)}.mobile-gallery-stack{flex-direction:column;gap:16px;display:none;position:relative}.mobile-gallery-item{aspect-ratio:16/9;background:linear-gradient(150deg,var(--slot-a),var(--slot-b));border:1px solid var(--hairline);-webkit-tap-highlight-color:transparent;width:100%;padding:0;display:block;position:relative;overflow:hidden}.mobile-gallery-item img{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:100%;position:absolute;inset:0}.lightbox{z-index:500;touch-action:pan-y;background:#16161af0;justify-content:center;align-items:center;width:100%;height:100dvh;padding:28px;display:flex;position:absolute;left:0}.lightbox-frame{max-width:100%;max-height:100%;line-height:0;display:inline-block;position:relative}.lightbox-frame img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border:1px solid #ffffff29;max-width:100%;max-height:100%;display:block}.lightbox-close{width:38px;height:38px;color:var(--curtain-fg);-webkit-tap-highlight-color:transparent;cursor:pointer;z-index:2;background:0 0;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:22px;line-height:1;display:flex;position:absolute;top:20px;right:20px}.lightbox-arrow{width:44px;height:44px;color:var(--curtain-fg);-webkit-tap-highlight-color:transparent;cursor:pointer;z-index:2;background:0 0;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:border-color .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-arrow:hover{border-color:#ffffffb3}.lightbox-arrow svg{stroke:currentColor;fill:none;stroke-width:1.6px;width:16px;height:16px}.lightbox-arrow-prev{left:16px}.lightbox-arrow-next{right:16px}.lightbox-counter{color:var(--curtain-muted);letter-spacing:.18em;font-size:11px;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}@media (max-width:860px){.sheet{justify-content:flex-start;padding-top:clamp(16px,3vh,28px)}.eyebrow{margin-bottom:12px}.grid{grid-template-columns:1fr}.grid:before{display:none}.slot{aspect-ratio:16/10}.desc{opacity:1;max-height:120px;margin-top:12px}.rule{display:none}.detail-head{flex-direction:column;align-items:flex-start;gap:10px}.detail-hero{grid-template-columns:1fr}.detail-cover:not(.has-img){aspect-ratio:4/3}.detail-cover img{max-height:46vh}.detail-lead,.detail-body,.detail-hero-text{overflow-wrap:break-word;word-wrap:break-word;min-width:0;max-width:100%}.capability-grid,.scenario-grid{grid-template-columns:1fr}.g-item{flex-basis:78vw}.about-hero{flex-direction:column}.about-portrait{width:60%;max-width:280px}.detail-gallery{display:none}.mobile-gallery-stack{display:flex}}@media (max-width:480px){.meta{gap:14px;font-size:10px}.slot{aspect-ratio:4/3}.lightbox{padding:20px}.lightbox-arrow{width:38px;height:38px}.lightbox-arrow-prev{left:8px}.lightbox-arrow-next{right:8px}}@media (prefers-reduced-motion:reduce){.card{opacity:1;animation:none;transform:none}.slot img{filter:none}.marquee-track{animation:none}.nav-links a.pulse{animation:none;transform:none}*{transition-duration:1ms!important}}
html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
