.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@font-face{font-family:Helvetica Now Display;src:url(/fonts/HelveticaNowDisplay-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Now Display;src:url(/fonts/HelveticaNowDisplay-Italic.otf) format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Now Display;src:url(/fonts/HelveticaNowDisplay-Md.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Now Display;src:url(/fonts/HelveticaNowDisplay-MdIt.otf) format("opentype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Now Display;src:url(/fonts/HelveticaNowDisplay-Bd.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Now Display;src:url(/fonts/HelveticaNowDisplay-BdIt.otf) format("opentype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Now Text;src:url(/fonts/HelveticaNowText-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Now Text;src:url(/fonts/HelveticaNowText-It.otf) format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Now Text;src:url(/fonts/HelveticaNowText-Medium.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Now Text;src:url(/fonts/HelveticaNowText-MdIt.otf) format("opentype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Now Text;src:url(/fonts/HelveticaNowText-Bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Now Text;src:url(/fonts/HelveticaNowText-BdIt.otf) format("opentype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0a0a;--surface: #131313;--border: #303030;--blue: #297FFF;--text: #f0f0f0;--text-2: #b8b8b8;--text-3: #888888;--white: #ffffff;--green: #4ade80;--red: #f87171;--amber: #fbbf24;--nav-w: 300px}html,body{height:100%;background:var(--bg);color:var(--text);font-family:Helvetica Now,HelveticaNow,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}.layout{display:flex;min-height:100vh}.sidebar{width:var(--nav-w);background:var(--surface);border-right:1px solid var(--border);position:fixed;top:0;left:0;height:100vh;display:flex;flex-direction:column;overflow-y:auto;z-index:100;scrollbar-width:none;-ms-overflow-style:none}.sidebar-header{padding:24px 28px 21px;border-bottom:1px solid var(--border);flex-shrink:0}.sidebar-header a.logo-link{display:block}.sidebar-header img{height:55px;display:block;margin-bottom:12px;margin-left:-7px}.sidebar-header-sub{font-size:16px;color:var(--white);margin-bottom:8px}.nav-solo{border-bottom:1px solid var(--border)}.nav-solo a{display:block;padding:12px 28px;font-size:16px;color:#888;text-decoration:none;border-left:2px solid transparent;transition:color .12s,background .12s}.nav-solo a:hover{color:var(--text);background:transparent}.nav-solo a.active{color:var(--white);border-left-color:transparent;background:transparent}.nav-group{border-bottom:none}.nav-section{border-bottom:1px solid var(--border)}.nav-section-label{display:flex;align-items:center;justify-content:space-between;padding:12px 28px;font-size:16px;font-weight:400;color:#888;cursor:pointer;user-select:none;transition:color .12s,background .12s;background:transparent}.nav-section-label:hover{color:var(--text);background:transparent}.nav-section-label.open{color:var(--white)}.nav-section-label.open .nav-chevron{transform:rotate(45deg)}.nav-section-items .nav-solo{border-bottom:none}.nav-section-items{display:block;max-height:0;overflow:hidden;opacity:0;transition:max-height .28s ease,opacity .2s ease}.nav-section-items.open{max-height:1200px;opacity:1;transition:max-height .35s ease,opacity .25s ease .05s}.nav-section-items .nav-solo a,.nav-section-items .nav-group-label{padding-left:40px}.nav-section-items .nav-group-items ul li a{padding-left:52px}.nav-group-label{display:flex;align-items:center;justify-content:space-between;padding:11px 28px;font-size:16px;font-weight:400;color:#888;cursor:pointer;user-select:none}.nav-group-label:hover{color:var(--text);background:transparent}.nav-chevron{width:14px;height:14px;transition:transform .18s;flex-shrink:0}.nav-group-label.open{color:var(--white)}.nav-group-label.open .nav-chevron{transform:rotate(45deg)}.nav-group-items{display:block;max-height:0;overflow:hidden;opacity:0;transition:max-height .24s ease,opacity .18s ease}.nav-group-items.open{max-height:600px;opacity:1;transition:max-height .3s ease,opacity .22s ease .05s}.nav-group-items ul{list-style:none;padding-bottom:4px}.nav-group-items ul li a{display:block;padding:9px 28px 9px 40px;font-size:16px;color:#888;text-decoration:none;border-left:2px solid transparent;transition:color .12s,background .12s}.nav-group-items ul li a:hover{color:var(--text);background:transparent}.nav-group-items ul li a.active{color:var(--white);border-left-color:transparent;background:transparent}.sidebar-contact{margin-top:auto;padding:20px 24px;border-top:1px solid var(--border);flex-shrink:0}.sidebar-contact-label{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px}.sidebar-contact-person{margin-bottom:10px}.sidebar-contact-name{font-size:13px;color:var(--text);line-height:1.4}.sidebar-contact-role{font-size:12px;color:var(--text-3);font-weight:400}.sidebar-footer{padding:12px 24px 16px;border-top:1px solid var(--border);font-size:12px;color:var(--text-3);flex-shrink:0}.sidebar-footer span{display:block}.sidebar::-webkit-scrollbar{display:none}.main{margin-left:var(--nav-w);flex:1}.page{display:none;padding:64px 72px 96px;max-width:950px}.page.active{display:block}.page-section-label{font-size:15px;color:var(--text-2);margin-bottom:32px;padding-bottom:14px;border-bottom:1px solid var(--border)}.page-title{font-size:48px;font-weight:400;line-height:1.1;color:var(--white);margin-bottom:28px;letter-spacing:-.01em}.page-intro{font-size:19px;font-weight:400;color:var(--text-2);max-width:560px;line-height:1.75;margin-bottom:64px}.letter-body{max-width:600px;margin-top:48px}.letter-body p{font-size:16px;font-weight:400;color:var(--text-2);line-height:1.85;margin-bottom:28px}.letter-body p:last-child{margin-bottom:48px}.letter-sig p{font-size:16px;color:var(--white);font-weight:400;margin-bottom:4px;line-height:1.5}.letter-sig p:last-child{margin-bottom:0}.suggested-section{margin-top:48px;margin-bottom:64px;padding-top:20px;border-top:1px solid var(--border)}.suggested-label{font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-bottom:14px}.suggested-items{display:flex;flex-direction:column;gap:2px}.suggested-item{display:flex;align-items:center;gap:16px;padding:6px 0;text-decoration:none;color:var(--text-3);background:transparent;transition:color .15s;cursor:pointer;user-select:none}.suggested-item:hover{color:var(--text-2)}.suggested-item:hover .suggested-item-title,.suggested-item:hover .suggested-item-arrow,.suggested-item:hover .suggested-item-label{color:var(--white)}.suggested-item-body{display:flex;align-items:baseline;gap:12px;flex:1;min-width:0}.suggested-item-label{font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);flex-shrink:0;transition:color .15s}.suggested-item-title{font-size:14px;font-weight:400;color:var(--text-2);cursor:pointer;transition:color .15s}.suggested-item-arrow{order:-1;font-size:13px;color:var(--text-3);flex-shrink:0;pointer-events:none;transition:transform .15s,color .15s;margin-left:auto}.section{margin-bottom:64px}.section-title{font-size:22px;font-weight:500;color:var(--white);margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid var(--border)}.row-item{display:grid;grid-template-columns:200px 1fr;gap:32px;padding:24px 0;border-top:1px solid var(--border)}.row-item+.row-item{border-top:none}.section-title+.row-item,.section-title+.row-list .row-item:first-child{border-top:none}.section-title+* :first-child,.section-title+.voice-compare .voice-compare-block:first-child,.section-title+.dodont,.section-title+.color-context-rows .color-context-row:first-child,.section-title+.color-context-row,.section-title+.policy-list .policy-item:first-child{border-top:none}.row-name{font-size:18px;font-weight:400;color:var(--text);line-height:1.3}.row-desc{font-size:16px;font-weight:400;color:var(--text-2);line-height:1.7;padding-top:4px}.text-block{margin-top:32px;max-width:560px;font-size:16px;font-weight:400;color:var(--text-2);line-height:1.75;margin-bottom:32px}.quote-block{padding:32px 0;margin-bottom:48px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.quote-block blockquote{font-size:22px;font-weight:400;color:var(--text);line-height:1.65;max-width:560px;margin-bottom:20px}.quote-block cite{font-size:15px;color:var(--text-3);font-style:normal}.logo-row,.logo-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:transparent;margin-bottom:48px}.logo-grid-1{display:grid;grid-template-columns:1fr;gap:16px;background:transparent;margin-bottom:48px}.logo-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;background:transparent;margin-bottom:48px}.logo-swatch{display:flex;align-items:center;justify-content:center;padding:0 40px;height:220px;border:1px solid var(--border)}.logo-swatch.dark{background:#111}.logo-swatch.light{background:#f5f5f5}.logo-swatch.mid{background:#555}.logo-swatch img{height:120px;object-fit:contain;display:block}.logo-grid-2 .logo-swatch,.logo-grid-3 .logo-swatch{height:200px}.logo-grid-2 .logo-swatch img,.logo-grid-3 .logo-swatch img{height:52px}.logo-swatch-wrap{display:flex;flex-direction:column;background:var(--bg)}.swatch-caption{padding:14px 40px 16px;font-size:15px;color:var(--text-3);text-align:center}.swatch-caption-top{font-size:16px;color:var(--text-2);line-height:1.7;margin-bottom:24px;margin-top:-8px}.btn{display:inline-flex;align-items:center;gap:8px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:400;letter-spacing:.07em;text-transform:uppercase;color:var(--white);border:1px solid var(--text-2);border-radius:25px;padding:6px 16px;background:none;cursor:pointer;text-decoration:none;transition:border-color .12s;user-select:none}.btn:hover{border-color:var(--white)}.btn *{pointer-events:none}.file-dl-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0}.file-dl-row:last-child{border-bottom:none}.file-dl-left{display:flex;align-items:flex-start;gap:14px}.file-icon{margin-top:2px;flex-shrink:0}.file-dl-info{display:flex;flex-direction:column;gap:6px}.file-dl-name{font-size:15px;color:var(--text-2)}.file-dl-dots{display:flex;align-items:center;gap:10px}.file-dl-meta{font-size:12px;color:var(--text-3);flex-shrink:0;font-family:IBM Plex Mono,monospace;letter-spacing:.05em;text-transform:uppercase}.no-shrink{flex-shrink:0}.dodont{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;row-gap:0;background:transparent}.dodont-col-header{background:var(--bg);padding:14px 0;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.dodont-col-header.do{color:var(--green)}.dodont-col-header.dont{color:var(--red)}.dodont-item{background:transparent;padding:20px 0}.dodont-item.do:not(:nth-last-child(2)){position:relative}.dodont-item.do:not(:nth-last-child(2)):after{content:"";position:absolute;bottom:0;left:0;width:calc(200% + 40px);height:1px;background:var(--border)}.dodont-item.do .dodont-visual{border:1px dashed rgba(74,222,128,.25);color:#4ade8059}.dodont-item.dont .dodont-visual{border:1px dashed rgba(248,113,113,.25);color:#f8717159}.dodont-visual{width:100%;aspect-ratio:16/9;background:#1a1a1a;border-radius:2px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.05em}.dodont-visual-img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#1a1a1a;border-radius:2px;display:block;margin-bottom:14px}.dodont-text{font-size:14px;font-weight:400;color:var(--text-2);line-height:1.65}.dodont-note{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--text-3);line-height:1.6;margin-top:8px;white-space:pre-line}.dodont-row-label{grid-column:1 / -1;background:var(--bg);padding:20px 24px 4px;font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);border-top:1px solid var(--border)}.voice-compare{display:flex;flex-direction:column}.voice-compare-block{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:24px 0;border-bottom:1px solid var(--border)}.voice-compare-block:first-child{border-top:none}.voice-compare-label{grid-column:1 / -1;font-size:18px;font-weight:400;color:var(--text);line-height:1.3;padding-bottom:4px}.voice-compare-cols{display:contents}.voice-compare-col{display:flex;flex-direction:column;gap:8px}.voice-compare-col-header{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.voice-compare-col-header.do{color:var(--green)}.voice-compare-col-header.dont{color:var(--red)}.voice-compare-col .dodont-text{font-size:16px;font-weight:400;line-height:1.7;color:var(--text-2)}.color-context-row{display:grid;grid-template-columns:56px 160px 1fr;gap:20px;align-items:center;padding:18px 0;border-top:1px solid var(--border)}.color-context-row+.color-context-row{border-top:none}.color-chip{width:56px;height:40px;border-radius:3px;border:1px solid rgba(255,255,255,.08);flex-shrink:0}.color-context-name{font-size:16px;color:var(--text)}.color-context-desc{font-size:15px;font-weight:400;color:var(--text-3);line-height:1.55}.color-note{font-size:16px;font-weight:400;color:var(--text-3);padding:16px 0 8px}.proportion-bar{display:flex;height:6px;border-radius:3px;overflow:hidden;margin:8px 0 16px}.proportion-labels{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:24px}.proportion-item{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--text-2)}.proportion-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.type-showcase{padding:28px 0 0;margin-bottom:32px}.type-showcase-meta{font-size:15px;font-weight:400;color:var(--text-3);margin-bottom:28px;line-height:1.6}.type-char-row{font-size:42px;line-height:1.1;color:var(--white);letter-spacing:-.01em;overflow:hidden;white-space:nowrap}.type-char-row.mono{font-family:IBM Plex Mono,monospace;font-size:42px;letter-spacing:-.02em}.type-weight-row{display:grid;grid-template-columns:80px 1fr;gap:16px;align-items:baseline;padding:28px 0;border-top:1px solid var(--border)}.type-weight-label{font-size:12px;color:var(--text-3);padding-top:2px}.type-weight-sample{font-size:22px;color:var(--text-2);line-height:1.2}.type-specimen-desc{font-size:16px;color:var(--text-2);line-height:1.7;margin-top:-8px;margin-bottom:28px}.type-specimen-list{display:flex;flex-direction:column;gap:0}.type-specimen-row{padding:20px 0;display:flex;align-items:baseline;justify-content:space-between;gap:24px}.type-specimen-sample{font-size:22px;color:var(--text)}.type-specimen-sample.display{font-size:28px}.type-specimen-sample.mono{font-size:20px;text-transform:uppercase;white-space:nowrap}.type-specimen-label{font-size:12px;color:var(--text-3);font-family:IBM Plex Mono,monospace;white-space:nowrap}.type-specimen{padding:0}.type-specimen-label{font-size:15px;color:var(--text-3);margin-bottom:16px}.type-specimen-use{font-size:14px;color:var(--text-3);margin-top:14px;line-height:1.6}.type-mono-sm{font-family:IBM Plex Mono,monospace;font-size:14px;color:var(--blue);line-height:1.7}.policy-item{padding:24px 0;border-bottom:1px solid var(--border)}.policy-item:first-child{border-top:1px solid var(--border)}.policy-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.policy-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.policy-dot.red{background:var(--red)}.policy-dot.green{background:var(--green)}.policy-dot.amber{background:var(--amber)}.policy-status{font-size:15px;font-weight:500}.policy-dot.red~.policy-status{color:var(--red)}.policy-dot.green~.policy-status{color:var(--green)}.policy-dot.amber~.policy-status{color:var(--amber)}.policy-title{font-size:16px;font-weight:400;color:var(--white);margin-bottom:10px;line-height:1.4}.policy-body{font-size:16px;font-weight:400;color:var(--text-2);line-height:1.75;max-width:560px}.policy-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.tag{font-size:13px;padding:3px 10px;border-radius:2px;border:1px solid}.tag.red{color:var(--red);border-color:#f8717140;background:#f871710f}.tag.green{color:var(--green);border-color:#4ade8040;background:#4ade800f}.tag.amber{color:var(--amber);border-color:#fbbf2440;background:#fbbf240f}.contact-row{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--border)}.contact-row:first-child{border-top:1px solid var(--border)}.contact-name{font-size:16px;color:var(--white)}.contact-role{font-size:16px;font-weight:400;color:var(--text-2)}.voice-example{padding:20px 0;border-bottom:1px solid var(--border)}.voice-example:first-child{border-top:1px solid var(--border)}.voice-label{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}.voice-label.good{color:var(--green)}.voice-label.bad{color:var(--red)}.voice-text{font-size:16px;font-weight:400;color:var(--text-2);line-height:1.7;max-width:520px;font-style:italic}.voice-text.good{color:var(--text)}.spec-row{display:grid;grid-template-columns:200px 1fr;gap:32px;padding:18px 0;border-bottom:1px solid var(--border);align-items:baseline}.spec-row:first-child{border-top:1px solid var(--border)}.spec-label{font-size:15px;color:var(--text-3)}.spec-value{font-size:16px;font-weight:400;color:var(--text-2);line-height:1.65}.spec-value code{font-family:IBM Plex Mono,monospace;font-size:13px;color:var(--blue);background:#297fff14;padding:1px 6px;border-radius:2px}.inline-link{color:var(--blue);text-decoration:none;border-bottom:1px solid rgba(41,127,255,.3)}.inline-link:hover{border-bottom-color:var(--blue)}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:52px;background:var(--surface);border-bottom:1px solid var(--border);z-index:300;align-items:center;justify-content:space-between;padding:0 16px}.mobile-header-left{display:flex;align-items:center;gap:14px}.mobile-hamburger{background:none;border:none;color:var(--text-2);cursor:pointer;padding:4px;display:flex;align-items:center;transition:color .12s}.mobile-hamburger:hover{color:var(--text)}.mobile-site-title{font-size:15px;font-weight:500;color:var(--white);font-family:Helvetica Now,HelveticaNow,Helvetica Neue,Helvetica,Arial,sans-serif}.mobile-header-right{display:flex;align-items:center;gap:4px}.sidebar-overlay{display:none;position:fixed;inset:0;background:#0000008c;z-index:98}.sidebar-overlay.open{display:block}@media(max-width:720px){.mobile-header{display:flex}.sidebar{transform:translate(-100%);transition:transform .25s cubic-bezier(.4,0,.2,1);z-index:99;width:85vw;max-width:320px}.sidebar.open{transform:translate(0)}.main{margin-left:0;padding-top:52px}.page{padding:40px 24px 64px}.page-title{font-size:36px}.row-item,.contact-row,.spec-row{grid-template-columns:1fr;gap:8px}.logo-row,.logo-grid-2,.logo-grid-3,.dodont{grid-template-columns:1fr}.color-context-row{grid-template-columns:48px 1fr}.search-btn{top:14px}}.gallery-filters{display:flex;gap:8px;margin-bottom:40px;flex-wrap:wrap}.gallery-filter{padding:6px 16px;font-size:13px;font-weight:500;color:var(--text-3);border:1px solid var(--border);border-radius:2px;cursor:pointer;background:transparent;transition:color .12s,border-color .12s,background .12s;font-family:Helvetica Now,HelveticaNow,Helvetica Neue,Helvetica,Arial,sans-serif}.gallery-filter:hover{color:var(--text);border-color:var(--text-3)}.gallery-filter.active{color:var(--white);border-color:var(--white);background:#ffffff0f}.photo-grid{display:grid;grid-template-columns:1fr;gap:40px}.photo-card{position:relative;cursor:pointer;background:var(--surface);border:1px solid var(--border);overflow:hidden;transition:border-color .15s}.photo-card:hover{border-color:#505050}.photo-placeholder{aspect-ratio:4/3;background:#161616;display:flex;align-items:center;justify-content:center;position:relative}.photo-placeholder svg{opacity:.12;color:var(--text)}.photo-thumb,.photo-thumb-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:2px}.photo-card-hover{display:none}.photo-card-actions{position:absolute;bottom:10px;right:10px;display:flex;gap:6px;opacity:0;transition:opacity .15s}.photo-card:hover .photo-card-actions{opacity:1}.photo-icon-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#000000a6;border:1px solid rgba(255,255,255,.2);border-radius:50%;cursor:pointer;color:var(--white);transition:background .12s,border-color .12s;backdrop-filter:blur(4px);padding:0;text-decoration:none}.photo-icon-btn:hover{background:#ffffff26;border-color:#ffffff80}.photo-action-btn{padding:7px 13px;font-size:12px;font-weight:500;color:var(--white);border:1px solid rgba(255,255,255,.35);background:#ffffff14;cursor:pointer;font-family:Helvetica Now,HelveticaNow,Helvetica Neue,Helvetica,Arial,sans-serif;transition:background .12s,border-color .12s}.photo-action-btn:hover{background:#ffffff2e;border-color:#ffffffb3}.photo-card-meta{padding:8px 10px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.photo-card-name{font-size:11px;font-family:IBM Plex Mono,monospace;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.photo-card-tag{font-size:10px;color:var(--blue);border:1px solid rgba(41,127,255,.3);padding:1px 6px;border-radius:2px;flex-shrink:0;margin-left:8px}.photo-card.hidden{display:none}.lightbox{display:none;position:fixed;inset:0;background:#000000eb;z-index:1000;align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox-inner{position:relative;max-width:1200px;width:92vw}.lightbox-img-wrap{background:transparent;display:flex;align-items:center;justify-content:center}.lightbox-img-wrap img{max-width:100%;max-height:88vh;width:auto;height:auto;display:block}.lightbox-img-wrap svg{opacity:.08;color:var(--text)}.lightbox-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 0 0}.lightbox-name{font-family:IBM Plex Mono,monospace;font-size:13px;color:var(--text-3)}.lightbox-actions{display:flex;gap:8px}.lightbox-close{position:absolute;top:-40px;right:0;background:none;border:none;color:var(--text-3);cursor:pointer;padding:4px;transition:color .12s;line-height:1}.lightbox-close:hover{color:var(--white)}.lightbox-nav{position:absolute;top:calc(50% - 18px);transform:translateY(-50%);background:#0a0a0acc;border:1px solid var(--border);color:var(--text-2);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .12s,background .12s}.lightbox-nav:hover{color:var(--white);background:#000000f2}.lightbox-nav.prev{left:-52px}.lightbox-nav.next{right:-52px}.copy-toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);background:transparent;border:none;color:var(--text-2);padding:0;font-size:13px;z-index:2000;opacity:0;transition:opacity .2s;pointer-events:none;white-space:nowrap}.copy-toast.show{opacity:1}.deck-thumb-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:8px}.deck-thumb-grid.strip{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:64px}.deck-thumb-grid.strip .deck-thumb,.deck-thumb-grid.strip .deck-thumb-pending{max-width:340px;flex:1 1 280px}.deck-thumb{position:relative;cursor:pointer;border:1px solid var(--border);overflow:hidden;border-radius:2px;transition:border-color .15s}.deck-thumb:hover{border-color:var(--text-3)}.deck-thumb img{width:100%;display:block}.deck-thumb-pending{aspect-ratio:16/9;background:#161616;display:flex;align-items:center;justify-content:center;cursor:default}.deck-thumb-pending-label{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.deck-thumb-num{position:absolute;bottom:6px;right:8px;font-size:10px;font-family:IBM Plex Mono,monospace;color:var(--text-3)}.lightbox-counter{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--text-3);letter-spacing:.07em;margin-left:16px}.gallery-section{margin-bottom:64px}.gallery-section-title{font-size:22px;font-weight:500;color:var(--white);margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid var(--border)}.gallery-jump-bar{display:flex;gap:8px;margin-bottom:48px;flex-wrap:wrap}.gallery-jump-bar-grouped{display:flex;gap:32px;margin-bottom:48px;flex-wrap:wrap;align-items:flex-start}.gallery-jump-group{display:flex;flex-direction:column;gap:8px}.gallery-jump-group-label{font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);padding-left:2px}.gallery-jump-group-pills{display:flex;gap:6px;flex-wrap:wrap}.gallery-section-intro{font-size:16px;color:var(--text-2);line-height:1.7;margin-bottom:32px;margin-top:-8px}.gallery-no-images{font-size:14px;color:var(--text-3);padding:32px 0}.gallery-jump{padding:6px 16px;font-size:13px;font-weight:500;color:var(--text-3);border:1px solid var(--border);border-radius:2px;cursor:pointer;background:transparent;text-decoration:none;transition:color .12s,border-color .12s;font-family:Helvetica Now,HelveticaNow,Helvetica Neue,Helvetica,Arial,sans-serif}.gallery-jump:hover{color:var(--text);border-color:var(--text-3)}.gallery-empty{grid-column:1 / -1;padding:48px 0;text-align:center;font-size:15px;color:var(--text-3)}.video-grid{display:grid;grid-template-columns:1fr;gap:40px}.video-card{background:var(--surface);border:1px solid var(--border);overflow:hidden;position:relative;aspect-ratio:16/9;cursor:pointer;display:block;text-decoration:none;transition:border-color .15s}.video-card:hover{border-color:#505050}.video-thumb{width:100%;height:100%;object-fit:cover;display:block}.video-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.video-play svg{filter:drop-shadow(0 2px 8px rgba(0,0,0,.6))}.video-item{display:flex;flex-direction:column}.video-item .photo-card-actions{opacity:0;transition:opacity .15s}.video-item:hover .photo-card-actions{opacity:1}.video-title{padding:10px 0 4px;font-size:14px;font-weight:400;color:var(--text-2)}.search-btn{position:fixed;top:20px;right:28px;z-index:200;background:none;border:none;color:var(--text-3);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .12s}.search-btn:hover{color:var(--text)}.search-backdrop{display:none;position:fixed;inset:0;z-index:499}.search-backdrop.open{display:block}.search-panel{position:fixed;top:0;right:0;height:100vh;width:420px;background:var(--surface);border-left:1px solid var(--border);z-index:500;display:flex;flex-direction:column;transform:translate(100%);transition:transform .25s cubic-bezier(.4,0,.2,1)}.search-panel.open{transform:translate(0)}.search-input-wrap{display:flex;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid var(--border);flex-shrink:0}.search-input-wrap svg{color:var(--text-3);flex-shrink:0}.search-input{flex:1;background:none;border:none;outline:none;font-size:16px;color:var(--text);font-family:Helvetica Now,HelveticaNow,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400}.search-input::placeholder{color:var(--text-3)}.search-close{background:none;border:none;color:var(--text-3);cursor:pointer;padding:2px;flex-shrink:0;transition:color .12s}.search-close:hover{color:var(--text)}.search-results{flex:1;overflow-y:auto}.search-result{display:block;padding:16px 24px;border-bottom:1px solid var(--border);cursor:pointer;text-decoration:none;transition:background .1s}.search-result:last-child{border-bottom:none}.search-result:hover{background:#1a1a1a}.search-result-title{font-size:15px;color:var(--text);margin-bottom:4px}.search-result-crumb{font-size:12px;color:var(--text-3)}.search-result mark{background:#297fff40;color:var(--blue);border-radius:2px;padding:0 1px}.search-empty{padding:24px;font-size:14px;color:var(--text-3)}.search-hint{padding:24px;font-size:13px;color:var(--text-3);line-height:1.6}@keyframes searchIntro{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}.search-btn{animation:searchIntro .7s cubic-bezier(.25,.46,.45,.94) 0s both}.platform-diagram a rect{transition:stroke .15s,fill .15s;cursor:pointer}.platform-diagram a text{pointer-events:none;transition:fill .15s}.platform-diagram a:hover rect{stroke:#297fff!important}.platform-diagram a:hover text{fill:#fff!important}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
