@font-face{font-family:'NewBlack';src:url('/fonts/newblack-300.otf') format('opentype');font-weight:300;font-style:normal;}
@font-face{font-family:'NewBlack';src:url('/fonts/newblack-400.otf') format('opentype');font-weight:400;font-style:normal;}
@font-face{font-family:'NewBlack';src:url('/fonts/newblack-500.otf') format('opentype');font-weight:500;font-style:normal;}
@font-face{font-family:'NewBlack';src:url('/fonts/newblack-700.otf') format('opentype');font-weight:700;font-style:normal;}





:root{--bg:#0A0A0A;--nav:#0F0F0F;--line:#2a2a2a;--text:#F0EEEB;--text-off:rgba(240,238,235,0.38);--text-mid:rgba(240,238,235,0.60);--blue:#00C8FF;--vid-tag:#24526E;--top-h:130px;--side-w:168px;--pad:86px;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;font-size:17px;}
#shell{display:grid;grid-template-columns:var(--side-w) 1fr;height:100vh;width:100%;}
#main-col{display:grid;grid-template-rows:var(--top-h) 1fr;height:100vh;min-width:0;}
#top-nav{background:var(--nav);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);z-index:150;}
.page-heading{font-family:'NewBlack','Inter',sans-serif;font-weight:400;font-size:clamp(1.54rem,2.86vw,2.09rem);letter-spacing:0.13em;text-transform:uppercase;color:var(--text);line-height:1;}
.heading-row{display:flex;align-items:center;gap:14px;}
.back-btn{display:none;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:none;color:var(--text-off);cursor:pointer;transition:color 0.2s,transform 0.2s;flex-shrink:0;}
.back-btn svg{width:16px;height:16px;}
.back-btn:hover{color:var(--text);transform:translateX(-2px);}
.heading-row.show-back .back-btn{display:flex;}
.download-all-btn{font-family:'Barlow',sans-serif;font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-off);background:none;border:1px solid var(--line);padding:9px 18px;cursor:pointer;transition:color 0.2s,border-color 0.2s,background 0.2s;display:none;align-items:center;justify-content:center;gap:8px;white-space:nowrap;}
.download-all-btn.show{display:inline-flex;}
.download-all-btn:hover{color:var(--text);border-color:var(--text-off);background:rgba(240,238,235,0.04);}
.download-all-btn svg{width:12px;height:12px;}
#content{position:relative;overflow:hidden;}

.screen{position:absolute;inset:0;display:none;opacity:0;transition:opacity 0.4s ease,transform 0.4s ease;z-index:2;pointer-events:none;}
.screen.active{display:flex;flex-direction:column;}
.screen.visible{opacity:1;}
.screen.exit{opacity:0;transform:scale(0.94);}
.inner-wrap{pointer-events:auto;}
.stack-scene{pointer-events:auto;}
#sidebar{background:rgba(15,15,15,0.92);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:36px 24px 28px;position:relative;z-index:200;}
.sidebar-logo{height:22px;width:auto;display:block;object-fit:contain;object-position:left center;cursor:pointer;margin-bottom:6px;}
.sidebar-sub{font-family:'Barlow',sans-serif;font-size:0.6rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--text-off);}
.sidebar-spacer{flex:1;}
.nav-items{display:flex;flex-direction:column;gap:4px;}
.nav-item{background:none;border:none;cursor:pointer;font-family:'Barlow',sans-serif;font-size:0.73rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-off);padding:7px 0;text-align:left;transition:color 0.2s;}
.nav-item:hover{color:var(--text);}
.nav-item.active{color:var(--text);font-weight:500;}
#home{align-items:center;justify-content:center;}
.stack-scene{position:relative;flex-shrink:0;}
.tile-label{position:absolute;font-family:'Barlow',sans-serif;font-size:0.73rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-off);white-space:nowrap;z-index:10;text-align:right;cursor:pointer;transition:color 0.2s;opacity:0;}
html.device-phone .tile-label{display:none;}
.tile-label.lit{color:var(--text);}
.tile-label.revealed{opacity:1;}
.iso-card{position:absolute;pointer-events:none;transition:transform 0.45s cubic-bezier(0.16,1,0.3,1);}
.iso-card.hovered{transform:translateY(-40px);}
.card-shape{width:100%;height:100%;clip-path:polygon(0% 0%,100% 28.75%,100% 100%,0% 71.25%);overflow:hidden;position:relative;cursor:pointer;pointer-events:auto;}
.card-shape img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(0.15);transition:filter 0.6s ease;pointer-events:none;transform:scaleX(1.04);transform-origin:center;}
.card-shape img.lit{filter:brightness(0.78);}
.card-shape:hover img.lit{filter:brightness(1.05);}
.card-overlay{position:absolute;inset:0;background:linear-gradient(200deg,rgba(0,0,0,0) 40%,rgba(0,0,0,0.32) 100%);pointer-events:none;}
#images{overflow:hidden;}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:36px var(--pad) 32px;pointer-events:auto;overflow-y:auto;}
.cat-card{background:#141414;cursor:pointer;overflow:hidden;position:relative;border:1px solid var(--line);transition:border-color 0.2s;}
.cat-card:hover{border-color:rgba(240,238,235,0.25);}
.cat-thumb{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;filter:brightness(0.72);transition:filter 0.3s;}
.cat-card:hover .cat-thumb{filter:brightness(1.0);}
.cat-name{font-family:'NewBlack','Inter',sans-serif;font-weight:400;font-size:0.97rem;color:var(--text);letter-spacing:0.04em;padding:14px 16px 16px;}
.inner-wrap{padding:36px var(--pad) 32px;overflow-y:auto;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:var(--line) transparent;-webkit-overflow-scrolling:touch;}
.img-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.img-card{overflow:hidden;position:relative;}
.img-card:hover .img-dl-btn{opacity:1;}
.img-thumb{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;filter:brightness(0.82);transition:filter 0.3s;cursor:pointer;}
img.img-thumb[src*="6a7d687246b90dda071ee30a"],
img.img-thumb[src*="6a7d68712e38b73d1c046d72"]{object-position:center top;}
/* Black logo files on transparent PNG need a light backdrop to stay visible */
img.img-thumb[src*="6a7d6891a7641faa99689e55"],
img.img-thumb[src*="6a7d6890a7641faa99689e07"]{background:#E8E6E2;object-fit:contain;padding:24px;box-sizing:border-box;}
.img-card:hover .img-thumb{filter:brightness(1.05);}
.img-dl-btn{position:absolute;top:8px;right:8px;background:none;border:none;cursor:pointer;opacity:0;transition:opacity 0.2s;color:var(--text);padding:4px;filter:drop-shadow(0 1px 3px rgba(0,0,0,0.8));}
.img-dl-btn:hover{color:var(--blue);}
.img-dl-btn svg{width:16px;height:16px;display:block;pointer-events:none;}
.img-cap{font-family:'Barlow',sans-serif;font-size:0.79rem;color:var(--text);margin-top:8px;margin-bottom:20px;}
#lightbox{position:fixed;inset:0;z-index:9000;background:rgba(10,10,10,0.96);display:flex;align-items:center;justify-content:center;flex-direction:column;opacity:0;pointer-events:none;transition:opacity 0.35s ease;}
#lightbox.open{opacity:1;pointer-events:auto;}
#lb-img{max-width:88vw;max-height:80vh;object-fit:contain;transform:scale(0.95);transition:transform 0.35s ease;}
#lightbox.open #lb-img{transform:scale(1);}
#lb-cap{font-family:'Barlow',sans-serif;font-size:0.75rem;letter-spacing:0.08em;color:var(--text);margin-top:14px;}
#lb-close{position:fixed;top:24px;right:36px;background:none;border:none;color:var(--text-off);font-size:1.98rem;cursor:pointer;transition:color 0.2s;}
#lb-prev,#lb-next{position:fixed;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-off);cursor:pointer;transition:color 0.2s;padding:16px;z-index:10;}
#lb-prev{left:16px;}
#lb-next{right:16px;}
#lb-prev:hover,#lb-next:hover{color:var(--text);}
#lb-prev svg,#lb-next svg{width:28px;height:28px;}
#lb-close:hover{color:var(--text);}
#pdf-modal{position:fixed;inset:0;z-index:9100;background:rgba(10,10,10,0.97);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.3s ease;}
#pdf-modal.open{opacity:1;pointer-events:auto;}
#pdf-modal-header{width:88vw;max-width:860px;display:flex;align-items:center;justify-content:space-between;padding:0 0 16px;}
#pdf-modal-title{font-family:'NewBlack','Inter',sans-serif;font-weight:400;font-size:0.97rem;letter-spacing:0.08em;color:var(--text);}
.pdf-modal-actions{display:flex;gap:12px;align-items:center;}
#select-bar{display:none;align-items:center;gap:16px;width:100%;}
#select-bar.active{display:flex;}
#top-nav.select-mode .heading-row, #top-nav.select-mode #dl-all-btn, #top-nav.select-mode .phone-logo{display:none;}
#select-clear-btn{background:none;border:none;color:var(--text-off);font-size:1.6rem;cursor:pointer;line-height:1;transition:color 0.2s;}
#select-clear-btn:hover{color:var(--text);}
#select-count{font-family:'Barlow',sans-serif;font-size:0.8rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--text);flex:1;}
#select-dl-btn{background:none;border:1px solid var(--line);color:var(--text-mid);padding:9px 14px;cursor:pointer;display:flex;align-items:center;transition:color 0.2s,border-color 0.2s;}
#select-dl-btn:hover{color:var(--text);border-color:var(--text-off);}
.selectable.selected{outline:2px solid var(--blue);outline-offset:-2px;}
.selectable{touch-action:pan-y;}
.selectable.selected::after{content:'';position:absolute;top:8px;right:8px;width:18px;height:18px;border-radius:50%;background:var(--blue);z-index:5;}
.selectable.selected::before{content:'';position:absolute;top:11px;right:11px;width:8px;height:5px;border-left:2px solid #0A0A0A;border-bottom:2px solid #0A0A0A;transform:rotate(-45deg);z-index:6;}
.img-card.selectable, .doc-card.selectable{position:relative;}
#video-modal{position:fixed;inset:0;z-index:9100;background:rgba(10,10,10,0.97);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.3s ease;}
#video-modal.open{opacity:1;pointer-events:auto;}
#video-modal-header{width:88vw;max-width:960px;display:flex;align-items:center;justify-content:space-between;padding:0 0 16px;}
#video-modal-title{font-family:'Barlow',sans-serif;font-size:0.9rem;letter-spacing:0.05em;color:var(--text);}
#video-modal-close{background:none;border:none;color:var(--text-off);font-size:1.98rem;cursor:pointer;transition:color 0.2s;line-height:1;}
#video-modal-frame-wrap{width:88vw;max-width:960px;aspect-ratio:16/9;background:#000;}
#video-frame-embed{width:100%;height:100%;border:none;}
.pdf-dl-btn{font-family:'Barlow',sans-serif;font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--text);border:1px solid var(--line);padding:8px 16px;text-decoration:none;cursor:pointer;background:none;transition:border-color 0.2s;display:inline-flex;align-items:center;gap:6px;}
.pdf-dl-btn:hover{border-color:var(--text-off);}
.pdf-dl-btn svg{width:13px;height:13px;}
#pdf-modal-close{background:none;border:none;color:var(--text-off);font-size:1.98rem;cursor:pointer;transition:color 0.2s;line-height:1;}
#pdf-modal-close:hover{color:var(--text);}
#pdf-frame{width:88vw;max-width:860px;height:72vh;border:1px solid var(--line);background:#1a1a1a;}
.video-feed{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;row-gap:40px;}
.video-item{opacity:0;transform:translateY(14px);transition:opacity 0.5s ease,transform 0.5s ease;}
.video-item.in{opacity:1;transform:none;}
.video-frame{width:100%;aspect-ratio:16/9;position:relative;overflow:hidden;background:#111;cursor:pointer;border:1px solid var(--line);}
.video-frame img{width:100%;height:100%;object-fit:cover;filter:brightness(0.78);transition:filter 0.3s;}
.video-frame:hover img{filter:brightness(0.6);}
.play-btn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;}
.play-btn svg{width:40px;height:40px;opacity:0.7;transition:opacity 0.2s;}
.video-frame:hover .play-btn svg{opacity:1;}
.video-meta{display:flex;gap:8px;margin:10px 0 4px;}
.vtag{font-family:'Barlow',sans-serif;font-size:0.64rem;letter-spacing:0.14em;text-transform:uppercase;color:#fff;background:var(--vid-tag);padding:3px 9px;display:inline-block;}
.video-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;}
.vtitle{font-family:'NewBlack','Inter',sans-serif;font-weight:400;font-size:0.97rem;color:var(--text);letter-spacing:0.02em;margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.video-item-disabled .video-frame{cursor:default;}
.video-soon-fill{width:100%;height:100%;background:#161616;}
.video-soon-text{font-family:'Barlow',sans-serif;font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-off);opacity:0.6;}

.vid-dl-btn{color:var(--text-off);background:none;border:none;cursor:pointer;padding:0;display:inline-flex;align-items:center;flex-shrink:0;transition:color 0.2s;}
.vid-dl-btn:hover{color:var(--text);}
.vid-dl-btn svg{width:13px;height:13px;}
.doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.doc-card{background:#141414;cursor:pointer;border:1px solid var(--line);overflow:hidden;transition:border-color 0.2s;}
.doc-card.doc-disabled{cursor:default;}
.doc-card.doc-disabled .doc-thumb img{filter:grayscale(1) brightness(0.4);}
.doc-card.doc-disabled .doc-name{color:var(--text-off);}
.doc-soon-text{font-family:'Barlow',sans-serif;font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-off);opacity:0.6;}
.doc-card:hover{border-color:rgba(240,238,235,0.2);}
.doc-card.doc-disabled:hover{border-color:var(--line);}
.doc-card.doc-disabled:hover .doc-thumb img{filter:grayscale(1) brightness(0.4);}
.doc-thumb{width:100%;aspect-ratio:16/9;overflow:hidden;position:relative;}
.doc-thumb img{width:100%;height:100%;object-fit:cover;filter:brightness(0.78);transition:filter 0.3s;}
.doc-card:hover .doc-thumb img{filter:brightness(0.92);}
.doc-badge{position:absolute;bottom:10px;right:12px;font-family:'Barlow',sans-serif;font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(240,238,235,0.5);background:rgba(0,0,0,0.55);padding:2px 7px;}
.doc-body{padding:12px 16px 14px;}
.doc-name{font-family:'NewBlack','Inter',sans-serif;font-weight:400;font-size:0.97rem;color:var(--text);letter-spacing:0.04em;margin-bottom:10px;min-height:2.4em;line-height:1.2;display:flex;align-items:center;}
.doc-actions{display:flex;gap:16px;align-items:center;}
.doc-preview-btn{font-family:'Barlow',sans-serif;font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--blue);background:none;border:none;cursor:pointer;padding:0;transition:opacity 0.2s;}
.doc-preview-btn:hover{opacity:0.7;}
.doc-dl-btn{font-family:'Barlow',sans-serif;font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-off);background:none;border:none;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:5px;transition:color 0.2s;}
.doc-dl-btn:hover{color:var(--text);}
.doc-dl-btn svg{width:13px;height:13px;}
#about .inner-wrap{position:relative;z-index:1;}
.about-body-text{font-family:'Barlow',sans-serif;font-size:0.99rem;color:var(--text);line-height:1.8;margin-bottom:40px;max-width:560px;}
.about-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:40px;}
.about-lbl{font-family:'Barlow',sans-serif;font-size:0.64rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(240,238,235,0.35);margin-bottom:3px;}
.about-val{font-family:'Inter',sans-serif;font-size:0.88rem;color:var(--text);line-height:1.5;}
.about-val a{color:var(--text);text-decoration:none;border-bottom:1px solid rgba(240,238,235,0.2);transition:border-color 0.2s;}
.about-val a:hover{border-color:var(--text-off);}
.about-links{display:flex;gap:24px;flex-wrap:wrap;}
.about-address-group{display:grid;grid-template-columns:1fr 1fr;gap:16px 48px;margin-top:36px;padding-top:24px;border-top:1px solid var(--line);}
.about-lbl-sm{font-family:'Barlow',sans-serif;font-size:0.58rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(240,238,235,0.25);margin-bottom:2px;}
.about-val-sm{font-family:'Inter',sans-serif;font-size:0.78rem;color:var(--text-off);line-height:1.5;}
.about-link{font-family:'Barlow',sans-serif;font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(240,238,235,0.62);text-decoration:none;border-bottom:1px solid rgba(240,238,235,0.2);padding-bottom:2px;transition:color 0.2s,border-color 0.2s;}
.about-link:hover{color:var(--text);border-color:var(--text-off);}



/* ===== DESKTOP: floor width, fixed fonts, proportional shrink down to floor ===== */
html.device-desktop #shell{overflow-x:auto;}
html.device-desktop #shell{min-width:960px;}
html.device-desktop .page-heading{font-size:1.9rem;}

/* ===== TABLET: same layout as desktop, tap-feedback instead of hover ===== */
html.device-tablet .iso-card:active{transform:translateY(-40px);}
html.device-tablet .cat-card:active .cat-thumb{filter:brightness(0.55);}
html.device-tablet .img-card:active .img-thumb{filter:brightness(0.55);}
html.device-tablet .doc-card:active{border-color:rgba(240,238,235,0.35);}

/* ===== PHONE: dedicated minimal UI ===== */
#phone-dock{display:none;}
.phone-logo{display:none;}

html.device-phone body{height:auto;min-height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;}
html.device-phone{--pad:18px;}

html.device-phone #shell{grid-template-columns:1fr;grid-template-rows:1fr;height:auto;min-height:100vh;min-height:100dvh;min-width:0;overflow-x:hidden;}
html.device-phone #content{overflow:visible;height:auto;}
html.device-phone .screen{position:static;}
html.device-phone .inner-wrap{overflow-y:visible;height:auto;flex:none;-webkit-overflow-scrolling:auto;}

html.device-phone #sidebar{display:none;}
html.device-phone #main-col{height:auto;grid-template-rows:auto auto;padding-bottom:64px;-webkit-overflow-scrolling:touch;}
html.device-phone #top-nav{height:auto;min-height:72px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
html.device-phone .phone-logo{display:block;height:20px;width:auto;cursor:pointer;flex-shrink:0;order:2;}
html.device-phone .heading-row{order:1;}
html.device-phone #dl-all-btn{order:3;}
html.device-phone .back-btn{display:none!important;}
html.device-phone .page-heading{font-size:1.1rem;}

html.device-phone #phone-dock{display:flex;position:fixed;bottom:0;left:0;right:0;height:60px;background:var(--nav);border-top:1px solid var(--line);align-items:center;justify-content:space-around;z-index:400;}
html.device-phone .dock-item{background:none;border:none;color:var(--text-off);cursor:pointer;padding:10px 18px;display:flex;align-items:center;justify-content:center;transition:color 0.2s;}
html.device-phone .dock-item svg{width:22px;height:22px;}
html.device-phone .dock-item.active{color:var(--text);}

/* Home: iso tiles, scaled down (handled via JS TILE_SCALE), just center it nicely */
html.device-phone #home{align-items:center;}
html.device-phone .stack-scene{margin:0 auto;}

/* Category picker (5 image categories) -> styled like video gallery: 2-column tiles */
html.device-phone .cat-grid{grid-template-columns:1fr 1fr;gap:10px;padding:36px var(--pad) 24px;}

/* Doc grid: single column already works well, just fix padding (remove double-padding) */
html.device-phone .doc-grid{grid-template-columns:1fr;gap:14px;padding:0;}
html.device-phone #about .inner-wrap{padding-top:56px;}
#about{background:radial-gradient(ellipse at top left, rgba(0,200,255,0.05), transparent 55%);}

/* Inside a gallery category (image list) -> styled like documents: 1-column, name + icon */
html.device-phone .img-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0;}
html.device-phone .img-card{display:flex;flex-direction:column;}
html.device-phone .img-thumb{width:100%;aspect-ratio:4/3;flex-shrink:0;filter:brightness(0.85);border-radius:0;}
html.device-phone .img-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;}
html.device-phone .img-cap{flex:1;min-width:0;margin:0;font-size:0.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;order:0;}
html.device-phone .img-dl-btn{position:static;opacity:1;flex-shrink:0;filter:none;order:1;}

/* Hairlines: sync to actual --pad so
