:root{color:#1d2528;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#efe8dc}*{box-sizing:border-box}body{margin:0;min-width:0;overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}.appShell{width:100vw;height:100vh;position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.75),transparent 28%),linear-gradient(90deg,rgba(26,80,111,.05),transparent 10%),#eee6d9}.appShell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.28;background-image:linear-gradient(rgba(80,65,45,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(80,65,45,.04) 1px,transparent 1px);background-size:42px 42px;mix-blend-mode:multiply}.leftNav{position:fixed;z-index:50;inset:0 auto 0 0;width:86px;background:transparent;color:#f8f4ea;border-right:none;box-shadow:none;display:flex;align-items:center;gap:22px;flex-direction:column;padding:16px 12px}.backgroundTextureArt{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:var(--bgTextureOpacity, .16);z-index:0;isolation:isolate}.backgroundTextureArt:before,.backgroundTextureArt:after,.decorativeSidebarArt:before,.decorativeSidebarArt:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.backgroundTextureArt:before{background:var(--bgTextureTint, #d8d0c6);-webkit-mask-image:var(--bgTextureImage, url(/background-texture.webp));mask-image:var(--bgTextureImage, url(/background-texture.webp));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center center;mask-position:center center;-webkit-mask-size:var(--bgTextureScale, 100% auto);mask-size:var(--bgTextureScale, 100% auto)}.backgroundTextureArt:after{background-image:var(--bgTextureImage, url(/background-texture.webp));background-repeat:no-repeat;background-position:center center;background-size:var(--bgTextureScale, 100% auto);opacity:.72;mix-blend-mode:luminosity}.decorativeSidebarArt{position:fixed;left:0;top:0;bottom:0;width:var(--sidebarArtWidth, 128px);z-index:12;pointer-events:none;isolation:isolate;-webkit-mask-image:url(/sidebar.webp);mask-image:url(/sidebar.webp);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:left top;mask-position:left top;-webkit-mask-size:100% 100%;mask-size:100% 100%}.decorativeSidebarArt:before{background:left top / 100% 100% no-repeat url(/sidebar.webp)}.decorativeSidebarArt:after{background:var(--sidebarTint, #0b4b76);mix-blend-mode:multiply}.hamburger{width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(255,255,255,.22);background:#071c2bb8;color:inherit;border-radius:10px;display:grid;place-items:center;position:relative;z-index:2}.verticalName,.verticalCreative{writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.28em;font-size:14px}.verticalName{margin-top:auto}.verticalCreative{color:#ffffffad;font-size:12px}.navThumbs{display:flex;flex-direction:column;gap:8px;margin-top:auto}.navThumb{width:50px;height:58px;padding:2px;border:1px solid rgba(255,255,255,.35);background:#ffffff14;border-radius:5px;overflow:hidden;color:#fff}.navThumb img{width:100%;height:100%;object-fit:cover;display:block}.slideMenu{position:absolute;z-index:70;left:86px;top:0;width:320px;height:100vh;background:#0b1f2af5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:42px 32px;transform:translate(-110%);transition:transform .25s ease;box-shadow:20px 0 60px #0003}.slideMenu.open{transform:translate(0)}.slideMenu h2{font-family:Georgia,serif;font-size:32px;margin:0 0 12px}.slideMenu p{color:#ffffffb8;line-height:1.55}.slideMenu a{display:block;color:#fff;text-decoration:none;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12)}.timelineViewport{position:absolute;left:86px;right:0;top:0;bottom:0;overflow:auto hidden}.timelineStage{--timelineLeft: 96px;--timelineRight: 88px;--axisTop: 52%;--axisLineOffset: 28px;--bannerHeight: 335px;--connectorLength: 55px;position:relative;min-width:1680px;height:100vh;padding:42px 72px 46px}.tapestryHeader{position:absolute;left:80px;top:34px;color:#2e271fa6}.tapestryHeader p{margin:0 0 6px;letter-spacing:.22em;text-transform:uppercase;font-size:12px}.tapestryHeader h1{margin:0;font-family:Georgia,serif;font-weight:400;font-size:22px}.bannerLayer{position:absolute;left:var(--timelineLeft);right:var(--timelineRight);height:var(--bannerHeight);pointer-events:none}.upperLayer{top:calc(var(--axisTop) + var(--axisLineOffset) - var(--connectorLength) - var(--bannerHeight))}.lowerLayer{top:calc(var(--axisTop) + var(--axisLineOffset) + var(--connectorLength))}.timelineAxis{position:absolute;left:var(--timelineLeft);right:var(--timelineRight);top:var(--axisTop);height:90px}.axisLine{position:absolute;left:0;right:0;top:28px;height:2px;background:linear-gradient(90deg,transparent,#6d5a42 5%,#6d5a42 95%,transparent)}.yearTick{position:absolute;top:28px;transform:translate(-50%);text-align:center;color:#3b3024}.yearTick strong{display:block;margin-top:18px;font-family:Georgia,serif;font-size:18px;font-weight:400}.tickOrnament{position:absolute;left:50%;top:0;width:14px;height:14px;transform:translate(-50%,-50%) rotate(45deg);border:2px solid #735c40;border-radius:1px;background:#fffcf6eb;box-shadow:1px 1px #735c4038}.tickOrnament:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border:1px solid rgba(115,92,64,.55)}.timelineMarker{position:absolute;top:28px;width:18px;height:18px;border-radius:999px;transform:translate(-50%,-50%);border:2px solid #6c5c49;background:var(--accent);box-shadow:0 0 0 2px #faf6eeeb,0 5px 12px #0000002e;z-index:4}.timelineMarker:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:999px;border:1px solid rgba(108,92,73,.35);transform:rotate(9deg)}.timelineMarker.selected{width:22px;height:22px;top:28px}.timelineViewport.viewMode .timelineMarker{cursor:pointer}.timelineViewport.editMode .timelineMarker{cursor:grab}.timelineViewport.editMode .timelineMarker:active{cursor:grabbing}.timelineBanner{position:absolute;width:180px;height:335px;transform:translate(-50%);isolation:isolate;transition:filter .2s ease,transform .2s ease;pointer-events:auto}.timelineBanner.selected{filter:drop-shadow(0 10px 24px rgba(36,55,67,.22));transform:translate(-50%) translateY(-4px)}.timelineBanner.lower.selected{transform:translate(-50%) translateY(4px)}.timelineBanner .wash{position:absolute;top:-16px;right:-22px;bottom:-16px;left:-22px;z-index:-2;background:var(--bannerColor);opacity:.9;mask:url(/master-banner.webp) center / 100% 100% no-repeat;-webkit-mask:url(/master-banner.webp) center / 100% 100% no-repeat}.timelineBanner .wash:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url(/master-banner.webp) center / 100% 100% no-repeat;opacity:.52;mix-blend-mode:luminosity}.timelineBanner.lower .wash{transform:rotate(180deg)}.timelineBanner .connector{position:absolute;left:50%;width:1px;height:var(--connectorLength);background:linear-gradient(var(--bannerColor),rgba(60,45,30,.4));z-index:-1}.timelineBanner.upper .connector{bottom:calc(var(--connectorLength) * -1)}.timelineBanner.lower .connector{top:calc(var(--connectorLength) * -1)}.bannerInner{height:100%;text-align:center;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.5);padding:26px 16px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center}.timelineBanner.lower .bannerInner{padding:18px 16px 26px}.bannerLogo{font-family:Georgia,serif;font-size:31px;line-height:1;margin-bottom:8px}.timelineBanner.lower .bannerLogo{margin:8px 0 0}.bannerInner h2{font-family:Georgia,serif;text-transform:uppercase;font-size:17px;line-height:1.05;margin:0 0 8px}.timelineBanner.lower .bannerInner h2{margin:8px 0 0}.bannerInner strong{display:block;font-size:13px;margin-bottom:8px}.timelineBanner.lower .bannerInner strong{margin:8px 0 0}.bannerInner p{margin:0 auto 13px;max-width:140px;font-size:13px;line-height:1.35}.timelineBanner.lower .bannerInner p{margin:13px auto 0}.bannerThumbGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;width:122px;margin:0 auto}.bannerThumbGrid button{padding:0;border:1px solid rgba(255,255,255,.42);background:#ffffff1a;border-radius:4px;overflow:hidden;height:58px}.bannerThumbGrid img{width:100%;height:100%;object-fit:cover;display:block}.timelineEditor{position:fixed;z-index:60;top:20px;right:20px;width:320px;max-height:calc(100vh - 40px);overflow:auto;background:#141e22eb;color:#f6efe4;border:1px solid rgba(255,255,255,.16);border-radius:14px;box-shadow:0 24px 80px #0000004d;padding:18px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.timelineEditor header{display:flex;justify-content:space-between;align-items:start;margin-bottom:16px}.timelineEditor h2{margin:2px 0 0;font-family:Georgia,serif}.timelineEditor small{color:#ffffff8c;text-transform:uppercase;letter-spacing:.12em}.timelineEditor label{display:grid;gap:6px;margin:11px 0;color:#ffffffc7;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.timelineEditor input,.timelineEditor textarea,.timelineEditor select{width:100%;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff14;color:#fff;padding:9px;text-transform:none;letter-spacing:0}.timelineEditor option{color:#1d2528}.timelineEditor textarea{min-height:66px;resize:vertical}.timelineEditor button,.editorToggle{border:0;border-radius:8px;background:#ffffff1f;color:#fff;padding:9px 11px}.editorActions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.danger{background:#a63c3299!important}.editorHint{color:#ffffff8c;font-size:12px;line-height:1.45}.editorToggle{position:fixed;z-index:55;top:20px;right:20px;background:#172b34}.galleryOverlay{position:fixed;z-index:90;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 50%,#0a0e121f,#0a0e1257 62%,#05080c85);backdrop-filter:blur(10px) brightness(.72) saturate(.85);-webkit-backdrop-filter:blur(10px) brightness(.72) saturate(.85);display:grid;place-items:center;padding:34px}.galleryViewer{position:relative;width:min(1180px,calc(100vw - 120px));height:min(760px,calc(100vh - 90px));background:#0a1215f0;border:1px solid rgba(255,255,255,.25);box-shadow:0 30px 110px #03070a94;display:grid;grid-template-columns:120px 1fr;color:#f5f2ea;border-radius:10px;overflow:hidden}.galleryClose{position:absolute;right:14px;top:14px;z-index:5;border:0;background:transparent;color:#fff}.galleryThumbStrip{padding:70px 14px 18px;display:flex;flex-direction:column;gap:10px;border-right:1px solid rgba(255,255,255,.13);overflow:auto}.galleryThumbStrip button{height:72px;padding:2px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;overflow:hidden}.galleryThumbStrip button.active{border-color:#65b7ff}.galleryThumbStrip img{width:100%;height:100%;object-fit:cover;display:block}.galleryMain{padding:26px;display:grid;grid-template-rows:auto 1fr auto;gap:14px;min-width:0}.galleryMeta{display:flex;justify-content:space-between;align-items:center;padding-right:34px}.galleryMeta h2{font-family:Georgia,serif;text-transform:uppercase;margin:0 0 5px}.galleryMeta p{margin:0;color:#ffffffb3}.counter{letter-spacing:.15em;color:#fffc}.artworkFrame{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:6px;background:#111}.artworkFrame.addingNote{outline:2px dashed #a9d8ff;cursor:crosshair}.artworkFrame>img{width:100%;height:100%;object-fit:cover;display:block}.noteMarker{position:absolute;width:28px;height:28px;transform:translate(-50%,-50%);border-radius:999px;border:2px solid rgba(255,255,255,.9);background:#ffffff38;box-shadow:0 0 0 3px #00000040,inset 0 0 0 6px #ffffff3d}.noteMarker.active,.noteMarker:hover{background:#4ea6e9cc}.noteCard{position:absolute;width:250px;background:#0d1214eb;border:1px solid rgba(255,255,255,.24);border-radius:8px;padding:16px;box-shadow:0 14px 40px #0006}.noteCard button{position:absolute;right:8px;top:8px;border:0;background:transparent;color:#fff}.noteCard small{text-transform:uppercase;color:#ffffffa3;letter-spacing:.08em}.noteCard h3{margin:8px 0;text-transform:uppercase;font-size:14px}.noteCard p{margin:0;color:#ffffffc7;line-height:1.45;font-size:14px}.galleryControls{display:flex;align-items:center;justify-content:center;gap:12px}.galleryControls button{display:inline-flex;align-items:center;gap:6px;border:0;background:#ffffff14;color:#fff;padding:10px 13px;border-radius:8px}.emptyGallery{display:block;padding:60px;height:auto}@media (max-width: 900px){body{min-width:0;overflow:auto}.leftNav{width:58px}.timelineViewport{left:58px;overflow:auto}.timelineStage{min-width:1300px}.timelineEditor{width:calc(100vw - 96px)}.galleryViewer{width:calc(100vw - 30px);height:calc(100vh - 30px);grid-template-columns:82px 1fr}}.leftNav{width:72px;padding:14px 8px}.hamburger{width:38px;height:38px;flex-basis:38px;border-color:transparent;background:transparent;border-radius:6px;opacity:.82;box-shadow:none}.hamburger:hover,.hamburger:focus-visible,.leftNav:focus-within .hamburger{border-color:#ffffff2e;background:#071c2b75;opacity:1}.slideMenu,.timelineViewport{left:72px}.timelineBanner .wash{transform:scale(var(--bannerScale, 1));transform-origin:center center}.timelineBanner.lower .wash{transform:rotate(180deg) scale(var(--bannerScale, 1))}.bannerThumbGrid button{position:relative;border-color:#ffffffa3;box-shadow:0 0 0 1px #ffffff1a,0 0 12px #ffffff42,0 5px 14px #00000047;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.bannerThumbGrid button:hover,.bannerThumbGrid button:focus-visible{transform:translateY(-1px) scale(1.025);border-color:#ffffffeb;box-shadow:0 0 0 1px #ffffff3d,0 0 18px #ffffff7a,0 9px 18px #00000057}.rangeReadout{color:#ffffffa6;font-size:12px;text-align:right;letter-spacing:0;text-transform:none}.galleryEditor{border-top:1px solid rgba(255,255,255,.14);margin-top:16px;padding-top:14px}.galleryEditorHeader{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.galleryEditorHeader h3{margin:0;font-family:Georgia,serif;font-size:18px}.galleryImageEditor{border:1px solid rgba(255,255,255,.12);background:#ffffff0d;border-radius:10px;padding:10px;margin:10px 0}.galleryImagePreview{width:100%;height:92px;border-radius:8px;overflow:hidden;display:grid;place-items:center;background:#00000038;color:#ffffff8c;font-family:Georgia,serif;font-size:28px;margin-bottom:8px}.galleryImagePreview img{width:100%;height:100%;object-fit:cover;display:block}.fileUploadLabel input{padding:7px}.galleryImageActions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;margin-top:8px}.timelineStage{--connectorLength: 18px}.slideMenu{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-12px)}.slideMenu.open{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0)}.timelineBanner .connector{display:none}.timelineBanner .wash{inset:auto;left:50%;top:50%;width:calc(var(--bannerHeight) * .464);height:var(--bannerHeight);transform:translate(-50%,-50%) scale(var(--bannerScale, 1.1));transform-origin:center center;mask:url(/master-banner.webp) center / contain no-repeat;-webkit-mask:url(/master-banner.webp) center / contain no-repeat}.timelineBanner .wash:after{background:url(/master-banner.webp) center / contain no-repeat}.timelineBanner.lower .wash{transform:translate(-50%,-50%) rotate(180deg) scale(var(--bannerScale, 1.1))}.noteMarker.editable{cursor:grab;outline:2px solid rgba(124,200,255,.8)}.noteMarker.editable:active{cursor:grabbing}.galleryControls .activeControl{background:#65b7ff42;box-shadow:inset 0 0 0 1px #65b7ff73}.noteCard .noteClose{position:absolute;right:8px;top:8px}.noteEditFields{display:grid;gap:9px;padding-top:8px}.noteEditFields label{display:grid;gap:4px;color:#ffffffa3;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.noteEditFields input,.noteEditFields select,.noteEditFields textarea{width:100%;border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#fff;border-radius:6px;padding:7px;text-transform:none;letter-spacing:0}.noteEditFields select option{color:#1d2528}.noteEditFields textarea{min-height:70px;resize:vertical}.noteDelete{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:7px;background:#a63c329e;color:#fff;padding:8px 10px}.timelineStage{--connectorLength: 8px}.leftNav{gap:14px}.verticalName{margin-top:18px;margin-bottom:auto;letter-spacing:.24em}.verticalCreative,.navThumbs{display:none!important}.navPageIcons{display:flex;flex-direction:column;gap:12px;margin-top:auto;padding-bottom:12px}.navPageIcon{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#ffffffb8;background:#ffffff0f;transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.navPageIcon:hover,.navPageIcon:focus-visible,.navPageIcon.active{color:#fff;background:#ffffff24;box-shadow:0 0 18px #ffffff29;transform:translate(2px)}.portfolioViewport{position:absolute;left:72px;right:0;top:0;bottom:0;overflow:auto;padding:54px 72px 70px}.portfolioHeader{max-width:820px;margin:0 auto 34px;text-align:center;color:#3c3024}.portfolioHeader p{margin:0 0 8px;text-transform:uppercase;letter-spacing:.24em;font-size:12px;color:#3c30249e}.portfolioHeader h1{margin:0;font-family:Georgia,serif;font-size:54px;font-weight:400}.portfolioHeader span{display:block;margin-top:10px;color:#3c3024a6}.portfolioGrid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:28px}.portfolioCard{border:1px solid rgba(93,75,52,.18);background:#ffffff59;box-shadow:0 14px 36px #3b2c1c14;border-radius:14px;padding:14px}.portfolioPlaceholder{aspect-ratio:3 / 4;border-radius:10px;border:1px solid rgba(93,75,52,.18);background:radial-gradient(circle at 50% 28%,rgba(255,255,255,.82),transparent 32%),linear-gradient(145deg,#10375238,#815d7e2e),#eae1d3cc;display:grid;place-items:center}.portfolioPlaceholder span{font-family:Georgia,serif;font-size:56px;color:#3c302459}.portfolioCard h2{margin:12px 0 2px;text-align:center;font-family:Georgia,serif;font-size:20px;color:#3c3024}@media (max-width: 900px){.portfolioViewport{left:58px;padding:34px 24px}.portfolioGrid{grid-template-columns:1fr}}.leftNav{width:72px;padding:16px 8px 18px;gap:0}.hamburger{margin-bottom:18px}.verticalName{margin-top:4px;margin-bottom:auto;letter-spacing:.26em}.verticalCreative,.navThumbs,.navThumb{display:none}.pageNavButtons{margin-top:auto;display:grid;gap:12px;width:100%;justify-items:center}.pageNavButton{width:46px;height:46px;border:1px solid rgba(255,255,255,.28);background:#ffffff14;color:#ffffffc7;border-radius:8px;display:grid;place-items:center;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.pageNavButton:hover,.pageNavButton:focus-visible,.pageNavButton.active{color:#fff;border-color:#ffffff9e;background:#ffffff24;box-shadow:0 0 14px #ffffff1f}.pageNavIcon{display:block;object-fit:contain;pointer-events:none;filter:drop-shadow(0 0 3px rgba(255,255,255,.16))}.timelineNavIcon{width:21px;height:34px}.portfolioNavIcon{width:30px;height:32px}.pageNavButton:hover .pageNavIcon,.pageNavButton:focus-visible .pageNavIcon,.pageNavButton.active .pageNavIcon{filter:drop-shadow(0 0 5px rgba(255,255,255,.28))}.timelineStage{--connectorLength: 75px}.timelineBanner .wash{transform:translate(-50%,-50%) scale(var(--bannerScale, 1.35))}.timelineBanner.lower .wash{transform:translate(-50%,-50%) rotate(180deg) scale(var(--bannerScale, 1.35))}.portfolioViewport{position:absolute;left:72px;right:0;top:0;bottom:0;overflow:auto}.portfolioPage{min-height:100vh;padding:60px 76px 80px}.portfolioHeader{max-width:780px;margin:0 auto 34px;text-align:center;color:#3c3025}.portfolioHeader p{margin:0 0 8px;text-transform:uppercase;letter-spacing:.24em;color:#3c30259e;font-size:12px}.portfolioHeader h1{margin:0 0 10px;font-family:Georgia,serif;font-size:42px;font-weight:400}.portfolioHeader span{color:#3c3025ad}.portfolioGrid{display:grid;grid-template-columns:repeat(3,minmax(220px,310px));gap:30px;justify-content:center}.portfolioCard{display:grid;gap:12px}.portfolioImageButton{aspect-ratio:3 / 4;width:100%;padding:0;overflow:hidden;border:1px solid rgba(85,68,49,.28);background:#ffffff61;border-radius:10px;box-shadow:0 16px 42px #2e271f1f,inset 0 0 0 1px #ffffff5c;color:#3c30258a;font-family:Georgia,serif;font-size:20px;display:grid;place-items:center;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.portfolioImageButton:hover,.portfolioImageButton:focus-visible{transform:translateY(-2px);border-color:#5544317a;box-shadow:0 20px 54px #2e271f2e,0 0 24px #ffffff9e}.portfolioImageButton img{width:100%;height:100%;object-fit:cover;display:block}.portfolioTitleInput{width:100%;border:1px solid rgba(85,68,49,.24);background:#ffffff73;border-radius:8px;padding:10px 12px;text-align:center;color:#3c3025;font-family:Georgia,serif;font-size:17px}.timelineBanner .wash{opacity:1;filter:saturate(1.08) contrast(1.08)}.timelineBanner .wash:after{opacity:.72}.bannerInner{position:relative;text-shadow:0 2px 3px rgba(0,0,0,.55),0 0 14px rgba(0,0,0,.45),0 0 26px rgba(0,0,0,.32)}.bannerInner:before{content:"";position:absolute;z-index:0;left:15px;right:15px;top:38px;bottom:38px;border-radius:120px;pointer-events:none;opacity:var(--contentShade, .42);background:radial-gradient(ellipse at center,#000000e0,#000000ad 42%,#00000057 68%,#0000);box-shadow:0 0 34px #00000057,inset 0 0 44px #00000038}.timelineBanner.upper .bannerInner:before{top:30px;bottom:34px}.timelineBanner.lower .bannerInner:before{top:34px;bottom:30px}.bannerInner>*{position:relative;z-index:1}.bannerLogo,.bannerInner h2,.bannerInner strong,.bannerInner p{filter:drop-shadow(0 3px 8px rgba(0,0,0,.55))}.bannerInner h2{letter-spacing:.02em}.bannerThumbGrid{width:132px;gap:7px;padding:6px;border-radius:9px;background:radial-gradient(circle at 50% 42%,rgba(0,0,0,calc(var(--contentShade, .42) + .14)),rgba(0,0,0,calc(var(--contentShade, .42) * .58)) 72%,#0000);box-shadow:0 14px 28px #00000047,0 0 30px #0000002e}.bannerThumbGrid button{height:58px;border-width:2px;border-color:#ffffffd1;background:#00000038;box-shadow:0 0 0 1px #00000057,0 0 13px #fff3,0 8px 16px #00000061}.bannerThumbGrid img{filter:contrast(1.04) saturate(1.04)}.bannerThumbGrid{position:relative;background:transparent;box-shadow:none;isolation:isolate}.bannerThumbGrid:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:9px;background:radial-gradient(ellipse at 50% 44%,rgba(0,0,0,calc(var(--contentShade, .42) + .12)),rgba(0,0,0,calc(var(--contentShade, .42) * .54)) 72%,#0000);box-shadow:0 10px 22px #00000038,0 0 24px #00000024}.timelineBanner.lower .bannerThumbGrid:before{transform:rotate(180deg)}.bannerThumbGrid button{border-width:1px;border-color:#ffffff94;box-shadow:0 0 0 1px #00000038,0 0 9px #ffffff26,0 6px 12px #0000004d}.bannerThumbGrid button:hover,.bannerThumbGrid button:focus-visible{border-color:#ffffffe0;box-shadow:0 0 0 1px #ffffff2e,0 0 16px #ffffff5c,0 8px 16px #00000057}.portfolioViewport{overflow-x:auto;overflow-y:hidden;cursor:grab;scrollbar-width:thin;overscroll-behavior:contain}.portfolioViewport:active{cursor:grabbing}.portfolioPage{width:max-content;min-width:calc(100vw - 72px);height:100vh;min-height:720px;padding:44px 72px 64px;display:flex;flex-direction:column}.portfolioHeader{flex:0 0 auto;width:calc(100vw - 216px);max-width:900px;margin:0 0 28px;text-align:left}.portfolioHeader h1{font-size:46px}.portfolioGrid{flex:1 1 auto;display:flex;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:28px;max-width:none;width:max-content;margin:0;padding-right:72px}.portfolioCard{width:clamp(280px,28vw,420px);min-width:clamp(280px,28vw,420px);height:100%;max-height:calc(100vh - 220px);display:grid;grid-template-rows:1fr auto;gap:12px}.portfolioImageButton{height:100%;min-height:0;aspect-ratio:auto}.portfolioTitleInput{flex:0 0 auto}.portfolioCard.clean{display:block;grid-template-rows:none;gap:0}.portfolioCard.clean .portfolioImageButton{width:100%;height:100%}.portfolioCard.clean .portfolioImageButton span{display:grid;place-items:center;width:100%;height:100%;color:#453a2d94;font-family:Georgia,serif;font-size:22px}.tapestryHeader,.portfolioHeader{display:none!important}.timelineStage{padding-top:18px}.portfolioPage{padding-top:28px;padding-bottom:46px}.portfolioCard{max-height:calc(100vh - 78px)}.timelineStage{--axisTop: 48%;padding-top:0;padding-bottom:0}.portfolioPage{padding-top:32px;padding-bottom:32px;justify-content:center}.portfolioGrid{flex:0 0 auto;height:calc(100vh - 64px);align-items:center}.portfolioCard,.portfolioCard.clean{height:calc(100vh - 64px);max-height:calc(100vh - 64px)}.portfolioViewport{top:0;bottom:0;padding:0!important;overflow-x:auto;overflow-y:hidden}.portfolioPage{height:100vh;min-height:0!important;padding:28px 72px!important;justify-content:flex-start!important;align-items:flex-start}.portfolioGrid{height:calc(100vh - 56px)!important;min-height:0;align-items:flex-start!important;padding-right:72px}.portfolioCard,.portfolioCard.clean{height:calc(100vh - 56px)!important;max-height:calc(100vh - 56px)!important;min-height:0}.portfolioCard.clean .portfolioImageButton{height:100%!important;min-height:0}.appShell.background-cleanWhite{background:radial-gradient(circle at 28% 18%,rgba(255,255,255,.95),transparent 32%),linear-gradient(90deg,rgba(25,75,104,.035),transparent 9%),#fbfaf6}.appShell.background-cleanWhite:before{opacity:.18;background-image:linear-gradient(rgba(80,65,45,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(80,65,45,.032) 1px,transparent 1px);background-size:42px 42px}.appShell.background-softParchment{background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.82),transparent 30%),radial-gradient(circle at 82% 74%,rgba(204,184,145,.16),transparent 34%),linear-gradient(90deg,rgba(26,80,111,.05),transparent 10%),#eee6d9}.appShell.background-softParchment:before{opacity:.28}.appShell.background-scrollwork{background:radial-gradient(circle at 32% 16%,rgba(255,255,255,.96),transparent 30%),radial-gradient(circle at 72% 84%,rgba(216,205,184,.16),transparent 42%),#fbfaf6}.appShell.background-scrollwork:before{opacity:.16;background-image:linear-gradient(rgba(80,65,45,.038) 1px,transparent 1px),linear-gradient(90deg,rgba(80,65,45,.028) 1px,transparent 1px);background-size:42px 42px}.appShell.background-scrollwork:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.2;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg width='240' height='240' viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23745f43' stroke-width='1.15' stroke-linecap='round' opacity='.42'%3E%3Cpath d='M120 38c-22 24-22 44 0 60 22-16 22-36 0-60Z'/%3E%3Cpath d='M120 202c22-24 22-44 0-60-22 16-22 36 0 60Z'/%3E%3Cpath d='M38 120c24 22 44 22 60 0-16-22-36-22-60 0Z'/%3E%3Cpath d='M202 120c-24-22-44-22-60 0 16 22 36 22 60 0Z'/%3E%3Cpath d='M120 98c-13 7-21 14-24 22 3 8 11 15 24 22 13-7 21-14 24-22-3-8-11-15-24-22Z'/%3E%3Cpath d='M74 74c17 1 29 9 36 24M166 74c-17 1-29 9-36 24M74 166c17-1 29-9 36-24M166 166c-17-1-29-9-36-24'/%3E%3Cpath d='M62 96c-18 1-33 9-44 24 11 15 26 23 44 24M178 96c18 1 33 9 44 24-11 15-26 23-44 24M96 62c1-18 9-33 24-44 15 11 23 26 24 44M96 178c1 18 9 33 24 44 15-11 23-26 24-44'/%3E%3C/g%3E%3C/svg%3E");background-size:240px 240px;background-position:82px 18px}.timelineViewport,.portfolioViewport,.timelineEditor,.galleryOverlay,.editorToggle{z-index:2}.controlGroup{margin-top:18px}.controlGroup input[type=color]{width:100%;height:42px;border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:4px;background:#ffffff14}.controlGroup input[type=range]{width:100%;margin-top:10px}.controlValue{display:block;margin-top:6px;color:#ffffffb8;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.backgroundPicker{margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}.backgroundPicker label{display:block;margin-bottom:8px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:#ffffff9e}.backgroundPicker select{width:100%;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#ffffff14;color:#fff;padding:10px}.backgroundPicker option{color:#17252c}.timelineBanner{transform:translate(-50%) scale(var(--bannerSize, 1));transform-origin:center center}.timelineBanner.upper{transform-origin:center bottom}.timelineBanner.lower{transform-origin:center top}.timelineBanner.selected{transform:translate(-50%) translateY(-4px) scale(var(--bannerSize, 1))}.timelineBanner.lower.selected{transform:translate(-50%) translateY(4px) scale(var(--bannerSize, 1))}.bannerThumbGrid.singleThumb{display:grid;grid-template-columns:1fr;width:132px;height:132px}.bannerThumbGrid.singleThumb button{height:120px;border-radius:7px}.bannerThumbGrid.singleThumb img{object-fit:cover}.bannerThumbGrid.quadThumbs{grid-template-columns:repeat(2,1fr)}.leftNav{background:transparent!important;border-right:none!important;box-shadow:none!important}.controlGroup input[type=file]{width:100%;margin-top:10px;color:#ffffffb8;font-size:12px}.smallMenuButton{margin-top:10px;width:100%;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:#ffffff14;color:#ffffffdb;padding:9px 10px}.smallMenuButton:hover,.smallMenuButton:focus-visible{background:#ffffff24;border-color:#ffffff57}:root{--sidebarDeep: #072d3d}.hamburger{background:#072d3d57!important;border-color:#ffffff2e!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.slideMenu{background:linear-gradient(180deg,#072330eb,#072d3de0)!important}.galleryOverlay{background:radial-gradient(circle at 50% 46%,#090c1014,#090c105c 62%,#04060994)!important;backdrop-filter:blur(12px) brightness(.62) saturate(.8)!important;-webkit-backdrop-filter:blur(12px) brightness(.62) saturate(.8)!important}.galleryViewer.conceptGallery{width:min(1530px,calc(100vw - 46px))!important;height:min(910px,calc(100vh - 34px))!important;grid-template-columns:140px 1fr!important;background:linear-gradient(180deg,#03141efb,#072d3df7)!important;border-radius:0!important;border:1px solid rgba(198,191,178,.4)!important;box-shadow:0 30px 110px #00000094,inset 0 0 0 1px #ffffff0d!important;overflow:hidden}.galleryViewer.conceptGallery:before,.galleryViewer.conceptGallery:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid rgba(161,149,130,.22);pointer-events:none}.galleryViewer.conceptGallery:after{top:2px;right:2px;bottom:2px;left:2px;border-color:#ffffff0f}.galleryViewer.conceptGallery .galleryClose{right:16px;top:14px;color:#f5f1e7f2;width:32px;height:32px;display:grid;place-items:center}.galleryViewer.conceptGallery .galleryThumbStrip{padding:74px 18px 18px!important;background:linear-gradient(180deg,#020d14b8,#03121a61);border-right:1px solid rgba(184,174,156,.18)!important;gap:12px}.galleryViewer.conceptGallery .galleryThumbStrip button{height:94px;border-radius:4px!important;border:1px solid rgba(185,176,159,.28)!important;background:#ffffff0a!important;box-shadow:inset 0 0 0 1px #ffffff08}.galleryViewer.conceptGallery .galleryThumbStrip button.active{border-color:#6eacdff2!important;box-shadow:0 0 0 1px #6eacdf4d,inset 0 0 0 1px #6eacdf2e}.galleryViewer.conceptGallery .galleryMain{padding:20px 28px 20px 22px!important;gap:14px;grid-template-rows:auto 1fr auto}.galleryViewer.conceptGallery .galleryMeta{padding-right:54px!important;align-items:flex-start}.galleryViewer.conceptGallery .galleryMeta h2{font-family:Georgia,Times New Roman,serif;font-size:30px;letter-spacing:.02em;text-transform:uppercase;font-weight:700;margin-bottom:6px}.galleryViewer.conceptGallery .galleryMeta p{font-size:16px;color:#f4f0e8d1}.galleryViewer.conceptGallery .counter{font-family:Georgia,Times New Roman,serif;font-size:20px;letter-spacing:.08em;color:#f5f1e7f2;margin-top:8px}.galleryViewer.conceptGallery .artworkFrame{border-radius:4px!important;border:1px solid rgba(197,188,170,.22)!important;background:#00000047!important;box-shadow:inset 0 0 0 1px #ffffff08}.galleryViewer.conceptGallery .noteMarker{width:24px;height:24px;background:#ffffff38;box-shadow:0 0 0 2px #00000047,inset 0 0 0 6px #ffffff3d}.galleryViewer.conceptGallery .noteCard{background:#0d1214f5;border:1px solid rgba(212,201,183,.24);border-radius:2px}.conceptGalleryControls{display:grid!important;grid-template-columns:64px 1fr 64px;align-items:center;gap:18px!important;padding-top:2px}.galleryArrowControl{border:0!important;background:transparent!important;color:#f4f0e8f2!important;font-family:Georgia,Times New Roman,serif;font-size:42px!important;line-height:1;padding:0 4px 6px!important;min-height:44px}.galleryArrowControl:hover{opacity:.82}.galleryControlCenter{min-height:34px;display:flex;align-items:center;justify-content:center;gap:10px}.galleryTextControl{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(211,201,183,.18)!important;background:#ffffff0b!important;color:#f5f1e7eb!important;padding:8px 12px!important;border-radius:2px!important}.galleryTextControl.activeControl{background:#6da3cd29!important;box-shadow:inset 0 0 0 1px #6da3cd38}.galleryControls button:not(.galleryArrowControl):not(.galleryTextControl){display:none!important}.timelineMarker:before{top:1px!important;right:1px!important;bottom:1px!important;left:1px!important}.timelineMarker:after{display:none!important}@media (max-width: 900px){.galleryViewer.conceptGallery{width:calc(100vw - 18px)!important;height:calc(100vh - 18px)!important;grid-template-columns:82px 1fr!important}.galleryViewer.conceptGallery .galleryMeta h2{font-size:24px}}.decorativeSidebarSoftEdge{position:fixed;left:calc(var(--sidebarArtWidth, 97px) - 18px);top:0;bottom:0;width:44px;z-index:13;pointer-events:none;opacity:var(--sidebarEdgeOpacity, .42);background:linear-gradient(90deg,#fbfaf600,#fbfaf694 52%,#fbfaf600);filter:blur(7px)}.hamburger{background:transparent!important;border-color:#ffffff29!important;overflow:hidden}.hamburger:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--burgerTint, #072d3d);opacity:var(--burgerOpacity, .34);z-index:-1}.hamburger:hover:before,.hamburger:focus-visible:before,.leftNav:focus-within .hamburger:before{opacity:min(calc(var(--burgerOpacity, .34) + .12),.78)}.hamburger svg{position:relative;z-index:1}.decorativeSidebarSoftEdge{display:none!important}.hamburger{background:#072d3d57!important;border-color:#ffffff29!important;overflow:visible!important}.hamburger:before{display:none!important}.hamburger:hover,.hamburger:focus-visible,.leftNav:focus-within .hamburger{background:#072d3d80!important}.slideMenu{background:var(--slideMenuTint, #072d3d)!important;opacity:0;position:absolute;overflow:visible}.slideMenu.open{opacity:var(--slideMenuOpacity, .92)!important}.slideMenu:after{content:"";position:absolute;top:0;right:-34px;bottom:0;width:42px;pointer-events:none;opacity:var(--slideMenuSoftEdge, .55);background:linear-gradient(90deg,var(--slideMenuTint, #072d3d),rgba(7,45,61,0));filter:blur(10px)}.slideMenu:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 18% 14%,rgba(255,255,255,.08),transparent 28%),linear-gradient(90deg,rgba(255,255,255,.05),transparent 42%);opacity:.45}.slideMenu{position:fixed!important;left:72px!important;top:0;bottom:0;width:min(342px,calc(100vw - 72px));height:100vh;padding:42px 32px 32px;color:#f7f1e5;background:transparent!important;opacity:1!important;visibility:hidden;pointer-events:none;transform:translate(calc(-100% - 24px));transition:transform .32s cubic-bezier(.2,.76,.2,1),visibility 0s linear .32s;overflow-x:visible;overflow-y:auto;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;isolation:isolate}.slideMenu.open{opacity:1!important;visibility:visible;pointer-events:auto;transform:translate(0);transition:transform .32s cubic-bezier(.2,.76,.2,1),visibility 0s linear 0s}.slideMenu:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;background:radial-gradient(circle at 18% 14%,rgba(255,255,255,.08),transparent 28%),linear-gradient(90deg,rgba(255,255,255,.05),transparent 42%),var(--slideMenuTint, #072d3d);opacity:var(--slideMenuOpacity, .92);box-shadow:20px 0 64px #0000003d;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.slideMenu:after{content:"";position:absolute;top:0;right:-46px;bottom:0;width:56px;z-index:-1;pointer-events:none;opacity:var(--slideMenuSoftEdge, .55);background:linear-gradient(90deg,var(--slideMenuTint, #072d3d),rgba(7,45,61,0));filter:blur(12px)}.slideMenu>*{position:relative;z-index:1}.galleryOverlay{z-index:95!important;padding:12px!important}.galleryViewer.conceptGallery{width:min(1448px,calc(100vw - 24px))!important;height:min(1086px,calc(100vh - 24px))!important;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);display:grid!important;grid-template-columns:2.15% 11.7% .92% 83% 2.23%;grid-template-rows:1.45% 8.9% 1% 78.6% 1.05% 9%;gap:0;color:#f4eee2;background:url(/gallerybackdrop.webp) center / 100% 100% no-repeat!important;border:0!important;border-radius:0!important;box-shadow:0 28px 118px #000000ad!important;overflow:hidden;isolation:isolate}.galleryViewer.conceptGallery:before,.galleryViewer.conceptGallery:after{display:none!important}.galleryViewer.conceptGallery .galleryClose{right:2.8%;top:2.1%;z-index:5;width:clamp(28px,2.5vw,38px);height:clamp(28px,2.5vw,38px);display:grid;place-items:center;color:#fffffff0;border:0;border-radius:999px;background:#00000014}.galleryViewer.conceptGallery .galleryClose:hover,.galleryViewer.conceptGallery .galleryClose:focus-visible,.galleryViewer.conceptGallery .galleryFullscreenButton:hover,.galleryViewer.conceptGallery .galleryFullscreenButton:focus-visible,.galleryViewer.conceptGallery .galleryArrowControl:hover,.galleryViewer.conceptGallery .galleryArrowControl:focus-visible{color:#fff;background:#ffffff14!important;outline:1px solid rgba(255,255,255,.18)}.galleryViewer.conceptGallery .galleryMeta{grid-column:2 / 5;grid-row:2;z-index:2;display:flex!important;align-items:center;justify-content:flex-start;gap:clamp(14px,2vw,26px);min-width:0;padding:0 6.5% 0 .6%!important}.galleryViewer.conceptGallery .galleryBrandLogo{flex:0 0 clamp(34px,4.3vw,62px);width:clamp(34px,4.3vw,62px);height:clamp(34px,4.3vw,62px);display:grid;place-items:center;color:#ffffffe6;font-family:Georgia,Times New Roman,serif;font-size:clamp(24px,3.4vw,48px);line-height:1;text-shadow:0 2px 14px rgba(0,0,0,.6)}.galleryViewer.conceptGallery .galleryMeta h2{margin:0 0 3px;color:#f8f3e9;font-family:Georgia,Times New Roman,serif;font-size:clamp(20px,2.45vw,35px);font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:0;white-space:nowrap}.galleryViewer.conceptGallery .galleryMeta p{margin:0;color:#f8f3e9d6;font-size:clamp(12px,1.08vw,16px);line-height:1.35;white-space:nowrap}.galleryViewer.conceptGallery .galleryMeta p span{margin:0 .72em;color:#f8f3e98f}.galleryViewer.conceptGallery .galleryThumbStrip{grid-column:2;grid-row:4;z-index:2;min-height:0;display:flex;flex-direction:column;gap:clamp(6px,.9vh,12px);padding:1.8% 6%!important;background:transparent!important;border-right:0!important;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin}.galleryViewer.conceptGallery .galleryThumbStrip button{flex:0 0 calc((100% - 56px) / 6);min-height:54px;max-height:98px;width:100%;padding:2px;border-radius:5px!important;border:1px solid rgba(205,193,170,.32)!important;background:#040a0e70!important;box-shadow:inset 0 0 0 1px #ffffff09,0 8px 18px #00000047}.galleryViewer.conceptGallery .galleryThumbStrip button.active,.galleryViewer.conceptGallery .galleryThumbStrip button:hover,.galleryViewer.conceptGallery .galleryThumbStrip button:focus-visible{border-color:#48b1fff5!important;box-shadow:0 0 0 1px #48b1ff57,0 0 16px #48b1ff2e,inset 0 0 0 1px #ffffff12;outline:0}.galleryViewer.conceptGallery .galleryThumbStrip img{width:100%;height:100%;object-fit:cover;border-radius:3px;filter:contrast(1.04) saturate(1.04)}.galleryViewer.conceptGallery .galleryMain{display:contents!important;padding:0!important}.galleryViewer.conceptGallery .artworkFrame{grid-column:4;grid-row:4;z-index:1;width:100%;height:100%;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.galleryViewer.conceptGallery .artworkFrame.addingNote{outline:2px dashed rgba(122,196,255,.82);outline-offset:-6px}.galleryViewer.conceptGallery .artworkFrame>img{width:100%;height:100%;object-fit:cover;display:block}.galleryViewer.conceptGallery .noteMarker{width:clamp(20px,2.1vw,34px);height:clamp(20px,2.1vw,34px);border:2px solid rgba(255,255,255,.86);background:#ffffff2e;box-shadow:0 0 0 3px #00000057,inset 0 0 0 clamp(5px,.55vw,9px) #ffffff4d,0 8px 16px #00000057}.galleryViewer.conceptGallery .noteMarker.active,.galleryViewer.conceptGallery .noteMarker:hover{background:#3aa4f4eb;box-shadow:0 0 0 3px #00000057,0 0 0 5px #3aa4f459,inset 0 0 0 clamp(5px,.55vw,9px) #ffffff57,0 10px 18px #00000061}.galleryViewer.conceptGallery .noteCard{width:clamp(220px,20vw,300px);z-index:4;padding:clamp(14px,1.5vw,20px);color:#f6f0e4;background:#0a0d0ff0;border:1px solid rgba(219,208,188,.34);border-radius:6px;box-shadow:0 18px 46px #00000075}.galleryViewer.conceptGallery .noteCard h3{margin:0 28px 10px 0;color:#fff;font-size:clamp(12px,.95vw,15px);line-height:1.25;letter-spacing:.03em;text-transform:uppercase}.galleryViewer.conceptGallery .noteCard small{display:none}.galleryViewer.conceptGallery .noteCard p{margin:0;color:#ffffffd1;font-size:clamp(12px,.95vw,15px);line-height:1.52}.galleryViewer.conceptGallery .noteCard .noteClose{right:10px;top:10px;color:#ffffffe6}.galleryViewer.conceptGallery .conceptGalleryControls{grid-column:4;grid-row:6;z-index:3;position:relative;width:100%;height:100%;display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center;justify-items:center;gap:clamp(18px,3vw,46px)!important;padding:0 3.6%!important}.galleryViewer.conceptGallery .galleryControlCenter{grid-column:2;min-height:0;display:flex;align-items:center;justify-content:center;gap:10px}.galleryViewer.conceptGallery .counter{color:#fffffff0;font-family:Georgia,Times New Roman,serif;font-size:clamp(14px,1.35vw,20px);letter-spacing:.04em;white-space:nowrap}.galleryViewer.conceptGallery .galleryArrowControl{width:clamp(40px,4.4vw,64px);height:clamp(34px,4vw,56px);min-height:0;display:grid;place-items:center;padding:0!important;color:#ffffffeb!important;border:0!important;border-radius:999px!important;background:transparent!important}.galleryViewer.conceptGallery .galleryArrowControl:first-child{grid-column:1;justify-self:end}.galleryViewer.conceptGallery .galleryControlCenter+.galleryArrowControl{grid-column:3;justify-self:start}.galleryViewer.conceptGallery .galleryTextControl{border:1px solid rgba(211,201,183,.18)!important;background:#ffffff0e!important;color:#f5f1e7eb!important;padding:8px 12px!important;border-radius:3px!important}.galleryViewer.conceptGallery .galleryFullscreenButton{position:absolute;right:1.1%;top:50%;transform:translateY(-50%);width:clamp(32px,3.4vw,46px);height:clamp(32px,3.4vw,46px);display:grid!important;place-items:center;padding:0;color:#ffffffe6;border:0;border-radius:999px;background:transparent}.galleryViewer.emptyGallery.conceptGallery{place-items:center;padding:7%;text-align:center}.galleryViewer.emptyGallery.conceptGallery h2{margin:0 0 10px;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,4vw,54px)}.galleryViewer.emptyGallery.conceptGallery p{margin:0;color:#ffffffc2}@media (max-width: 900px){.slideMenu{left:58px!important;width:min(320px,calc(100vw - 58px))}.galleryOverlay{padding:8px!important}.galleryViewer.conceptGallery{width:calc(100vw - 16px)!important;height:calc(100vh - 16px)!important;grid-template-columns:2.2% 14% 1.3% 80% 2.5%!important;grid-template-rows:1.2% 9.8% 1% 77.2% 1% 9.8%!important}.galleryViewer.conceptGallery .galleryBrandLogo{display:none}.galleryViewer.conceptGallery .galleryMeta{grid-column:2 / 5;padding-left:1%!important}.galleryViewer.conceptGallery .galleryMeta h2{font-size:clamp(18px,5vw,24px)}.galleryViewer.conceptGallery .galleryMeta p{font-size:clamp(11px,2.9vw,13px);white-space:normal}.galleryViewer.conceptGallery .galleryThumbStrip{gap:6px}.galleryViewer.conceptGallery .galleryTextControl{display:none}}.slideMenu:before{opacity:min(var(--slideMenuOpacity, .7),.7);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 64%,rgba(0,0,0,.86) 72%,rgba(0,0,0,.48) 84%,rgba(0,0,0,.16) 94%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 64%,rgba(0,0,0,.86) 72%,rgba(0,0,0,.48) 84%,rgba(0,0,0,.16) 94%,transparent 100%)}.slideMenu:after{right:-72px;width:96px;opacity:var(--slideMenuSoftEdge, .55);background:linear-gradient(90deg,color-mix(in srgb,var(--slideMenuTint, #072d3d) 54%,transparent),#072d3d00 74%);filter:blur(18px)}.galleryViewer.conceptGallery{grid-template-columns:2.15% 11.65% .95% 83.05% 2.2%!important;grid-template-rows:1.35% 9.1% .95% 78.7% 1% 8.9%!important}.galleryViewer.conceptGallery .galleryMeta{position:absolute;grid-column:1 / -1!important;grid-row:1 / -1!important;left:10.9%;top:2.3%;width:81%;height:7.3%;padding:0!important}.galleryViewer.conceptGallery .galleryThumbStrip{position:absolute;grid-column:1 / -1!important;grid-row:1 / -1!important;left:2.25%;top:11.25%;width:11.55%;height:78.25%;padding:.75% .58%!important}.galleryViewer.conceptGallery .artworkFrame{position:absolute;grid-column:1 / -1!important;grid-row:1 / -1!important;left:14.75%;top:11.25%;width:83.05%;height:78.25%}.galleryViewer.conceptGallery .conceptGalleryControls{position:absolute;grid-column:1 / -1!important;grid-row:1 / -1!important;left:14.75%;top:90.15%;width:83.05%;height:7.6%;padding:0 3.2%!important}.galleryViewer.conceptGallery .galleryFullscreenButton{right:.45%}@media (max-width: 900px){.slideMenu:before{-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 58%,rgba(0,0,0,.78) 70%,rgba(0,0,0,.34) 88%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 58%,rgba(0,0,0,.78) 70%,rgba(0,0,0,.34) 88%,transparent 100%)}.galleryViewer.conceptGallery .galleryMeta{left:5.8%;top:2.4%;width:87.5%;height:7.8%}.galleryViewer.conceptGallery .galleryThumbStrip{left:2.35%;top:12.35%;width:11.45%;height:76.35%;padding:.9% .55%!important}.galleryViewer.conceptGallery .artworkFrame{left:15.1%;top:12.35%;width:82.2%;height:76.35%}.galleryViewer.conceptGallery .conceptGalleryControls{left:15.1%;top:89.6%;width:82.2%;height:8.3%}}.slideMenu:before{-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 72%,rgba(0,0,0,.76) 82%,rgba(0,0,0,.28) 94%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 72%,rgba(0,0,0,.76) 82%,rgba(0,0,0,.28) 94%,transparent 100%)}.slideMenu:after{right:-44px;width:58px;background:linear-gradient(90deg,color-mix(in srgb,var(--slideMenuTint, #072d3d) 46%,transparent),#072d3d00 68%);filter:blur(10px)}.galleryViewer.conceptGallery{background:transparent!important;box-shadow:none!important;overflow:visible;transform:scale(var(--galleryScale, .9));transform-origin:center center}.galleryViewer.conceptGallery:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;display:block!important;pointer-events:none;background:url(/gallerybackdrop.webp) center / 100% 100% no-repeat;filter:drop-shadow(0 22px 54px rgba(0,0,0,.42)) drop-shadow(0 8px 20px rgba(0,0,0,.28))}.galleryViewer.conceptGallery:after{display:none!important}.galleryViewer.conceptGallery .artworkFrame{left:15.18%;top:11.84%;width:82.23%;height:77.02%}@media (max-width: 900px){.galleryViewer.conceptGallery{transform:scale(var(--galleryScale, .9))}.galleryViewer.conceptGallery .artworkFrame{left:15.42%;top:12.85%;width:81.62%;height:75.45%}}.slideMenu{scrollbar-color:rgba(255,255,255,.2) transparent;scrollbar-width:thin}.slideMenu::-webkit-scrollbar{width:5px;height:5px}.slideMenu::-webkit-scrollbar-track{background:transparent}.slideMenu::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}.slideMenu:before{-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 82%,rgba(0,0,0,.78) 90%,rgba(0,0,0,.26) 97%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 82%,rgba(0,0,0,.78) 90%,rgba(0,0,0,.26) 97%,transparent 100%)}.slideMenu:after{right:-32px;width:42px;opacity:calc(var(--slideMenuSoftEdge, .55) * .9);background:linear-gradient(90deg,color-mix(in srgb,var(--slideMenuTint, #072d3d) 42%,transparent),#072d3d00 62%);filter:blur(8px)}.galleryViewer.conceptGallery:before{background:url(/gallerybackdrop.webp) center / calc(100% + 18px) calc(100% + 18px) no-repeat;filter:none!important}.galleryViewer.conceptGallery .artworkFrame{overflow:hidden}.galleryViewer.conceptGallery .artworkFrame:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,#02080b9e,#02080b00 3.2%,#02080b00 96.8%,#02080ba8),linear-gradient(180deg,#02080b99,#02080b00 3.6%,#02080b00 96.4%,#02080bad),radial-gradient(ellipse at center,#fff0 62%,#0000002e);box-shadow:inset 0 0 0 1px #040a0cc2,inset 0 0 18px #00000057}.galleryViewer.conceptGallery .artworkFrame>img{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;width:calc(100% + 8px);height:calc(100% + 8px);max-width:none}.galleryViewer.conceptGallery .noteMarker{z-index:3}.timelineBanner{will-change:transform,filter;transition:transform .28s cubic-bezier(.2,.85,.22,1),filter .28s ease}.timelineBanner.selected{z-index:6;filter:drop-shadow(0 12px 26px rgba(28,43,52,.24))}.timelineBanner:hover,.timelineBanner:focus-within{z-index:8;filter:drop-shadow(0 18px 34px rgba(24,36,43,.28)) drop-shadow(0 0 18px color-mix(in srgb,var(--bannerColor, #7a8a6a) 22%,transparent));transform:translate(-50%) translateY(-10px) scale(calc(var(--bannerSize, 1) * 1.08))}.timelineBanner.lower:hover,.timelineBanner.lower:focus-within{transform:translate(-50%) translateY(10px) scale(calc(var(--bannerSize, 1) * 1.08))}.timelineBanner.selected:hover,.timelineBanner.selected:focus-within{transform:translate(-50%) translateY(-11px) scale(calc(var(--bannerSize, 1) * 1.1))}.timelineBanner.lower.selected:hover,.timelineBanner.lower.selected:focus-within{transform:translate(-50%) translateY(11px) scale(calc(var(--bannerSize, 1) * 1.1))}.galleryViewer.conceptGallery:before{background:url(/gallerybackdrop.webp) center / 100% 100% no-repeat;-webkit-mask-image:url(/gallerybackdrop.webp);mask-image:url(/gallerybackdrop.webp);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;filter:none!important}.galleryViewer.conceptGallery{aspect-ratio:4 / 3;width:min(1900px,calc(100vw - 24px),calc((100vh - 24px) * 1.333333))!important;height:auto!important;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.galleryViewer.conceptGallery .galleryClose{right:8.45%;top:9.8%}.galleryViewer.conceptGallery .galleryMeta{left:16.2%;top:10.35%;width:70.2%;height:8.2%}.galleryViewer.conceptGallery .galleryThumbStrip{left:14.05%;top:19.65%;width:9.3%;height:63.2%;padding:.72% .5%!important}.galleryViewer.conceptGallery .artworkFrame{left:23.95%;top:19.65%;width:65.55%;height:63.2%}.galleryViewer.conceptGallery .conceptGalleryControls{left:23.95%;top:83.25%;width:65.55%;height:7.5%}@media (max-width: 900px){.galleryViewer.conceptGallery{width:min(calc(100vw - 16px),calc((100vh - 16px) * 1.333333))!important;height:auto!important}.galleryViewer.conceptGallery .galleryMeta{left:14.2%;top:9.9%;width:72.8%}.galleryViewer.conceptGallery .galleryThumbStrip{left:13.95%;top:20.1%;width:9.4%;height:62.4%}.galleryViewer.conceptGallery .artworkFrame{left:24.1%;top:20.1%;width:65.2%;height:62.4%}.galleryViewer.conceptGallery .conceptGalleryControls{left:24.1%;top:83.15%;width:65.2%}}.galleryViewer.conceptGallery{aspect-ratio:1448 / 1086;width:min(1448px,calc(100vw - 24px),calc((100vh - 24px) * 1.333333))!important;height:auto!important;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.galleryViewer.conceptGallery .galleryClose{right:10.5%;top:14.4%}.galleryViewer.conceptGallery .galleryMeta{left:16.75%;top:15.7%;width:72.5%;height:7.2%;padding:0!important}.galleryViewer.conceptGallery .galleryThumbStrip{left:2.25%;top:16.2%;width:11.25%;height:68.4%;padding:1% .62%!important}.galleryViewer.conceptGallery .galleryThumbStrip button{flex:0 0 calc((100% - 56px) / 6);min-height:48px;max-height:106px}.galleryViewer.conceptGallery .artworkFrame{left:16.85%;top:24.05%;width:70.15%;height:57.6%}.galleryViewer.conceptGallery .conceptGalleryControls{left:16.85%;top:82.85%;width:70.15%;height:6.9%;padding:0 4.2%!important}.galleryViewer.conceptGallery .galleryFullscreenButton{right:1%}@media (max-width: 900px){.galleryViewer.conceptGallery{width:min(calc(100vw - 16px),calc((100vh - 16px) * 1.333333))!important;height:auto!important}.galleryViewer.conceptGallery .galleryClose{right:8.5%;top:13.7%}.galleryViewer.conceptGallery .galleryMeta{left:15.7%;top:15%;width:73.5%}.galleryViewer.conceptGallery .galleryThumbStrip{left:2.35%;top:16.7%;width:11.1%;height:67%}.galleryViewer.conceptGallery .artworkFrame{left:16.9%;top:24.5%;width:70%;height:56.7%}.galleryViewer.conceptGallery .conceptGalleryControls{left:16.9%;top:82.3%;width:70%}}.galleryViewer.conceptGallery{aspect-ratio:1448 / 1086}.galleryViewer.conceptGallery .galleryThumbStrip{left:2.25%!important;top:16.2%!important;width:11.25%!important;height:68.4%!important;padding:1.25% .7%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:clamp(8px,1.1vh,14px)!important;overflow-x:hidden!important;overflow-y:auto!important}.galleryViewer.conceptGallery .galleryThumbStrip button{width:88%!important;flex:0 0 clamp(62px,10.2%,106px)!important;min-height:58px!important;max-height:110px!important}.galleryViewer.conceptGallery .galleryMeta{left:16.85%!important;top:14.55%!important;width:70.2%!important;height:8.2%!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;padding:0!important}.galleryViewer.conceptGallery .galleryBrandLogo{margin-left:0!important}.galleryViewer.conceptGallery .galleryClose{right:9.05%!important;top:15.9%!important;transform:translateY(-50%)!important;background:transparent!important}.galleryViewer.conceptGallery .artworkFrame{left:16.85%!important;top:24.65%!important;width:70.2%!important;height:56.9%!important}.galleryViewer.conceptGallery .conceptGalleryControls{left:16.85%!important;top:84.35%!important;width:70.2%!important;height:6.4%!important;display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;justify-items:center!important;padding:0 5%!important}.galleryViewer.conceptGallery .galleryControlCenter{grid-column:2!important}.galleryViewer.conceptGallery .galleryArrowControl:first-child{grid-column:1!important;justify-self:end!important}.galleryViewer.conceptGallery .galleryControlCenter+.galleryArrowControl{grid-column:3!important;justify-self:start!important}.galleryViewer.conceptGallery .galleryFullscreenButton{right:.8%!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important}@media (max-width: 900px){.galleryViewer.conceptGallery .galleryMeta{left:15.8%!important;top:14.8%!important;width:72.5%!important}.galleryViewer.conceptGallery .galleryClose{right:8.2%!important;top:15.2%!important}.galleryViewer.conceptGallery .galleryThumbStrip{left:2.45%!important;top:16.9%!important;width:11.4%!important;height:67.1%!important}.galleryViewer.conceptGallery .artworkFrame{left:16.9%!important;top:25%!important;width:70%!important;height:55.9%!important}.galleryViewer.conceptGallery .conceptGalleryControls{left:16.9%!important;top:83.9%!important;width:70%!important}}.galleryLayoutPanel{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);color:#ffffffdb}.galleryLayoutPanel summary{cursor:pointer;text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:#ffffffad;margin-bottom:12px}.compactControl{margin-top:12px}.compactControl label{font-size:12px}.galleryViewer.conceptGallery .galleryMeta{left:var(--galleryTitleX)!important;top:var(--galleryTitleY)!important;width:var(--galleryTitleW)!important;height:var(--galleryTitleH)!important}.galleryViewer.conceptGallery .galleryThumbStrip{left:var(--galleryThumbsX)!important;top:var(--galleryThumbsY)!important;width:var(--galleryThumbsW)!important;height:var(--galleryThumbsH)!important}.galleryViewer.conceptGallery .artworkFrame{left:var(--galleryArtX)!important;top:var(--galleryArtY)!important;width:var(--galleryArtW)!important;height:var(--galleryArtH)!important}.galleryViewer.conceptGallery .conceptGalleryControls{left:var(--galleryControlsX)!important;top:var(--galleryControlsY)!important;width:var(--galleryControlsW)!important;height:var(--galleryControlsH)!important}.galleryViewer.conceptGallery .galleryClose{left:var(--galleryCloseX)!important;right:auto!important;top:var(--galleryCloseY)!important;transform:translate(-50%,-50%)!important}.galleryViewer.conceptGallery .galleryFullscreenButton{position:absolute!important;left:var(--galleryFullscreenX)!important;right:auto!important;top:var(--galleryFullscreenY)!important;bottom:auto!important;transform:translate(-50%,-50%)!important;display:grid!important;place-items:center!important}.galleryPlacementOverlay{position:absolute;right:18px;bottom:18px;z-index:40;width:min(360px,calc(100% - 36px));max-height:min(560px,calc(100% - 36px));overflow:auto;color:#f7f3e9;background:#071c26eb;border:1px solid rgba(218,205,178,.28);box-shadow:0 22px 58px #0000006b;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:12px}.galleryPlacementOverlay details{width:100%}.galleryPlacementOverlay summary{cursor:pointer;font-family:Georgia,Times New Roman,serif;font-size:17px;letter-spacing:.04em;color:#fffaf0;list-style-position:inside}.galleryPlacementTools{display:grid;gap:10px;margin-top:12px}.galleryPlacementTools label{display:grid;grid-template-columns:1fr 92px 46px;align-items:center;gap:8px;font-size:12px;color:#ffffffd1}.galleryPlacementTools input[type=range]{width:100%}.galleryPlacementTools span{text-align:right;color:#ffffffad;font-variant-numeric:tabular-nums}.galleryPlacementTools button{border:1px solid rgba(218,205,178,.24);background:#ffffff14;color:#fff;padding:8px 10px;cursor:pointer}.galleryPlacementTools button:hover{background:#ffffff24}.galleryLayoutPanel{display:none!important}.pageNavButton{width:62px!important;height:75px!important;border:0!important;background:transparent!important;border-radius:0!important;padding:0!important;color:#fff!important;box-shadow:none!important;overflow:visible!important;display:grid!important;place-items:center!important;transition:transform .18s ease,filter .18s ease,opacity .18s ease!important}.pageNavIcon{display:block!important;object-fit:contain!important;pointer-events:none!important;opacity:.86;filter:drop-shadow(0 1px 2px rgba(0,0,0,.36)) drop-shadow(0 0 5px rgba(255,255,255,.12))!important;transition:transform .18s ease,filter .18s ease,opacity .18s ease!important}.timelineNavIcon{width:60px!important;height:85px!important}.portfolioNavIcon{width:56px!important;height:56px!important}.pageNavButton:hover,.pageNavButton:focus-visible,.pageNavButton.active{background:transparent!important;border-color:transparent!important;box-shadow:none!important;transform:translateY(-1px) scale(1.04)}.pageNavButton:hover .pageNavIcon,.pageNavButton:focus-visible .pageNavIcon,.pageNavButton.active .pageNavIcon{opacity:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.42)) drop-shadow(0 0 9px rgba(255,255,255,.36)) drop-shadow(0 0 18px rgba(120,190,230,.18))!important}.pageNavButtons{gap:4px!important}.timelineStage:before{content:"";position:absolute;left:0;right:0;top:7%;bottom:3%;background:url(/rainbowbackgound.webp) center / 100% 100% no-repeat;opacity:.78;pointer-events:none;z-index:0}.bannerLayer,.timelineAxis{z-index:2}.timelineBanner .wash{mask:url(/master-banner.webp) center / contain no-repeat!important;-webkit-mask:url(/master-banner.webp) center / contain no-repeat!important}.timelineBanner .wash:after{background:url(/master-banner.webp) center / contain no-repeat!important}.timelineMarker.coverMarker{width:14px;height:14px;border-radius:2px;transform:translate(-50%,-50%) rotate(45deg);background:#fffcf6f5;border-color:color-mix(in srgb,var(--accent, #735c40) 70%,#60462e)}.timelineMarker.coverMarker.selected{width:18px;height:18px}.gameCoverBanner{position:absolute;left:50%;width:70px;height:110px;transform:translate(-50%) scale(var(--coverScale, 1));transform-origin:center center;pointer-events:auto;z-index:5;transition:transform .18s ease,filter .18s ease}.gameCoverBanner.upper{bottom:6px}.gameCoverBanner.lower{top:6px}.gameCoverBanner.selected,.gameCoverBanner:hover,.gameCoverBanner:focus-within{filter:drop-shadow(0 6px 16px rgba(0,0,0,.32));transform:translate(-50%) translateY(-3px) scale(calc(var(--coverScale, 1) * 1.08))}.gameCoverBanner.lower.selected,.gameCoverBanner.lower:hover,.gameCoverBanner.lower:focus-within{transform:translate(-50%) translateY(3px) scale(calc(var(--coverScale, 1) * 1.08))}.coverConnector{position:absolute;left:50%;width:1px;height:42px;background:linear-gradient(var(--bannerColor),rgba(80,62,42,.42));transform:translate(-50%);pointer-events:none}.gameCoverBanner.upper .coverConnector{bottom:-42px}.gameCoverBanner.lower .coverConnector{top:-42px}.coverImageButton{width:64px;height:92px;padding:0;border:2px solid rgba(255,255,255,.86);border-radius:9px;overflow:hidden;background:color-mix(in srgb,var(--bannerColor, #6d5a42) 22%,rgba(30,25,20,.72));box-shadow:0 5px 12px #00000047,0 0 0 1px #5a463252,0 0 18px color-mix(in srgb,var(--bannerColor, #fff) 22%,transparent);cursor:pointer}.coverImageButton img{display:block;width:100%;height:100%;object-fit:cover}.coverImageButton span{display:grid;place-items:center;width:100%;height:100%;color:#fff;font-family:Georgia,serif;font-size:11px;line-height:1.15;text-align:center;padding:6px}.editorActions+.editorActions{margin-top:6px}.coverConnector{display:none!important}.gameCoverBanner{width:58px!important;height:84px!important;transform:translate(-50%) scale(var(--coverScale, 1))!important;filter:none!important}.gameCoverBanner.upper{bottom:-48px!important}.gameCoverBanner.lower{top:-48px!important}.gameCoverBanner.selected,.gameCoverBanner:hover,.gameCoverBanner:focus-within{filter:none!important;transform:translate(-50%) scale(var(--coverScale, 1))!important}.gameCoverBanner.lower.selected,.gameCoverBanner.lower:hover,.gameCoverBanner.lower:focus-within{transform:translate(-50%) scale(var(--coverScale, 1))!important}.coverImageButton{width:58px!important;height:84px!important;padding:0!important;border:0!important;border-radius:0!important;overflow:visible!important;background:transparent!important;box-shadow:none!important}.coverImageButton img{width:100%!important;height:100%!important;object-fit:contain!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;filter:drop-shadow(0 5px 8px rgba(0,0,0,.28))}.timelineMarker.coverMarker{width:14px!important;height:14px!important;border-radius:2px!important;transform:translate(-50%,-50%) rotate(45deg)!important;background:#fffcf6f5!important;border:2px solid color-mix(in srgb,var(--accent, #735c40) 70%,#60462e)!important;box-shadow:0 0 0 2px #faf6eed1,0 3px 8px #00000029!important}.timelineViewport{overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain;scrollbar-width:thin}.timelineStage{width:max(100%,1680px);min-width:1680px;--timelineResponsiveScale: 1}.timelineBanner{transform:translate(-50%) scale(calc(var(--bannerSize, 1.35) * var(--timelineResponsiveScale, 1)))!important}.timelineBanner.selected{transform:translate(-50%) translateY(-4px) scale(calc(var(--bannerSize, 1.35) * var(--timelineResponsiveScale, 1)))!important}.gameCoverBanner{transform:translate(-50%) scale(calc(var(--coverScale, 1.45) * var(--timelineResponsiveScale, 1)))!important}.gameCoverBanner.selected,.gameCoverBanner:hover,.gameCoverBanner:focus-within,.gameCoverBanner.lower.selected,.gameCoverBanner.lower:hover,.gameCoverBanner.lower:focus-within{transform:translate(-50%) scale(calc(var(--coverScale, 1.45) * var(--timelineResponsiveScale, 1)))!important}@media (max-height: 900px),(max-width: 1500px){.timelineStage{--timelineResponsiveScale: .92}}@media (max-height: 780px),(max-width: 1200px){.timelineStage{--timelineResponsiveScale: .82}}@media (max-height: 680px),(max-width: 760px){.timelineStage{--timelineResponsiveScale: .72;min-width:1500px;width:1500px}}.portfolioImageButton{cursor:zoom-in}.timelineViewport{cursor:grab}.timelineViewport:active{cursor:grabbing}.timelineViewport button,.timelineViewport input,.timelineViewport textarea,.timelineViewport select{cursor:pointer}.timelineBanner{transform:translate(-50%) scale(calc(var(--bannerSize, 1.35) * var(--timelineResponsiveScale, 1)))!important;transition:transform .28s cubic-bezier(.2,.85,.22,1),filter .28s ease!important}.timelineBanner.selected{z-index:6;filter:drop-shadow(0 12px 26px rgba(28,43,52,.24));transform:translate(-50%) translateY(-4px) scale(calc(var(--bannerSize, 1.35) * var(--timelineResponsiveScale, 1)))!important}.timelineBanner.lower.selected{transform:translate(-50%) translateY(4px) scale(calc(var(--bannerSize, 1.35) * var(--timelineResponsiveScale, 1)))!important}.timelineBanner:hover,.timelineBanner:focus-within{z-index:8;filter:drop-shadow(0 18px 34px rgba(24,36,43,.28)) drop-shadow(0 0 18px color-mix(in srgb,var(--bannerColor, #7a8a6a) 22%,transparent));transform:translate(-50%) translateY(-10px) scale(calc(var(--bannerSize, 1.35) * var(--timelineResponsiveScale, 1) * 1.08))!important}.timelineBanner.lower:hover,.timelineBanner.lower:focus-within{transform:translate(-50%) translateY(10px) scale(calc(var(--bannerSize, 1.35) * var(--timelineResponsiveScale, 1) * 1.08))!important}.timelineBanner.selected:hover,.timelineBanner.selected:focus-within{transform:translate(-50%) translateY(-11px) scale(calc(var(--bannerSize, 1.35) * var(--timelineResponsiveScale, 1) * 1.1))!important}.timelineBanner.lower.selected:hover,.timelineBanner.lower.selected:focus-within{transform:translate(-50%) translateY(11px) scale(calc(var(--bannerSize, 1.35) * var(--timelineResponsiveScale, 1) * 1.1))!important}.timelineStage{--connectorLength: 76px}.timelineBanner{transform:translate(-50%) translateY(calc(var(--bannerOffset, 0px) * -1)) scale(calc(var(--bannerSize, 1.05) * var(--timelineResponsiveScale, 1)))!important}.timelineBanner.lower{transform:translate(-50%) translateY(var(--bannerOffset, 0px)) scale(calc(var(--bannerSize, 1.05) * var(--timelineResponsiveScale, 1)))!important}.timelineBanner.selected{transform:translate(-50%) translateY(calc(var(--bannerOffset, 0px) * -1 - 4px)) scale(calc(var(--bannerSize, 1.05) * var(--timelineResponsiveScale, 1)))!important}.timelineBanner.lower.selected{transform:translate(-50%) translateY(calc(var(--bannerOffset, 0px) + 4px)) scale(calc(var(--bannerSize, 1.05) * var(--timelineResponsiveScale, 1)))!important}.timelineBanner:hover,.timelineBanner:focus-within{transform:translate(-50%) translateY(calc(var(--bannerOffset, 0px) * -1 - 10px)) scale(calc(var(--bannerSize, 1.05) * var(--timelineResponsiveScale, 1) * 1.08))!important}.timelineBanner.lower:hover,.timelineBanner.lower:focus-within{transform:translate(-50%) translateY(calc(var(--bannerOffset, 0px) + 10px)) scale(calc(var(--bannerSize, 1.05) * var(--timelineResponsiveScale, 1) * 1.08))!important}.timelineBanner.selected:hover,.timelineBanner.selected:focus-within{transform:translate(-50%) translateY(calc(var(--bannerOffset, 0px) * -1 - 11px)) scale(calc(var(--bannerSize, 1.05) * var(--timelineResponsiveScale, 1) * 1.1))!important}.timelineBanner.lower.selected:hover,.timelineBanner.lower.selected:focus-within{transform:translate(-50%) translateY(calc(var(--bannerOffset, 0px) + 11px)) scale(calc(var(--bannerSize, 1.05) * var(--timelineResponsiveScale, 1) * 1.1))!important}.gameCoverBanner,.gameCoverBanner.upper,.gameCoverBanner.lower,.gameCoverBanner.selected,.gameCoverBanner:hover,.gameCoverBanner:focus-within,.gameCoverBanner.lower.selected,.gameCoverBanner.lower:hover,.gameCoverBanner.lower:focus-within{transform:translate(-50%) scale(calc(var(--coverScale, 1.18) * var(--timelineResponsiveScale, 1)))!important}.gameCoverBanner.upper{bottom:-112px!important}.gameCoverBanner.lower{top:auto!important;bottom:-112px!important}.coverImageButton{display:block!important;text-decoration:none!important}.coverImageButton:hover img,.coverImageButton:focus-visible img{filter:drop-shadow(0 8px 13px rgba(0,0,0,.34));transform:translateY(-2px)}.coverImageButton img{transition:transform .18s ease,filter .18s ease}.rainbowPaintStroke{top:50%!important;bottom:auto!important;height:min(760px,84vh)!important;transform:translateY(-50%);background:url(/rainbowbackgound.webp) center / 100% auto no-repeat!important}.timelineStage:before{background:var(--rainbowBackgroundImage, url(/rainbowbackgound.webp)) center / 100% auto no-repeat!important}.inlineControl{grid-template-columns:1fr auto;align-items:center}.inlineControl input[type=checkbox]{width:22px;height:22px}.gameCoverBanner.upper,.gameCoverBanner.lower{bottom:calc(-112px + var(--bannerOffset, 0px))!important;top:auto!important}.timelineStage:before{top:50%!important;bottom:auto!important;height:min(820px,92vh)!important;transform:translateY(-50%)!important;background-image:var(--rainbowBackgroundImage, url(/rainbowbackgound.webp))!important;background-position:center center!important;background-size:contain!important;background-repeat:no-repeat!important}.timelineEditor header button:after{content:" Hide panel";font-size:11px;letter-spacing:.04em;margin-left:4px}.editorToggle{right:18px!important;top:18px!important}.timelineMarker{min-width:34px!important;min-height:34px!important;margin-left:-8px;margin-top:-8px;background-clip:content-box!important;padding:8px!important}.timelineMarker.coverMarker{min-width:36px!important;min-height:36px!important;margin-left:-9px;margin-top:-9px;padding:9px!important}.timelineMarker.selected{min-width:38px!important;min-height:38px!important;margin-left:-8px;margin-top:-8px}.timelineMarker{width:18px!important;height:18px!important;min-width:0!important;min-height:0!important;margin-left:0!important;margin-top:0!important;padding:0!important;background-clip:border-box!important;transform:translate(-50%,-50%)!important}.timelineMarker.coverMarker{width:14px!important;height:14px!important;min-width:0!important;min-height:0!important;margin-left:0!important;margin-top:0!important;padding:0!important;border-radius:2px!important;transform:translate(-50%,-50%) rotate(45deg)!important}.timelineMarker.selected{width:22px!important;height:22px!important;min-width:0!important;min-height:0!important;margin-left:0!important;margin-top:0!important;padding:0!important}.timelineMarker.coverMarker.selected{width:18px!important;height:18px!important}.timelineMarker:before{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;background:transparent;border:0;pointer-events:auto}.timelineMarker.coverMarker:before{top:-13px;right:-13px;bottom:-13px;left:-13px;transform:rotate(-45deg)}.gameCoverBanner{z-index:8!important}.coverImageButton{pointer-events:auto!important}.timelineStage{--axisTop: 48%;--connectorLength: 70px}.storyBannerLayer{z-index:3}.lowerLayer{display:none!important}.timelineBanner,.timelineBanner.lower{transform:translate(-50%) translateY(calc(var(--bannerOffset, 72px) * -1)) scale(calc(var(--bannerSize, 1.02) * var(--timelineResponsiveScale, 1)))!important;transform-origin:center bottom!important}.timelineBanner.selected,.timelineBanner.lower.selected{transform:translate(-50%) translateY(calc(var(--bannerOffset, 72px) * -1 - 4px)) scale(calc(var(--bannerSize, 1.02) * var(--timelineResponsiveScale, 1)))!important}.timelineBanner:hover,.timelineBanner:focus-within,.timelineBanner.lower:hover,.timelineBanner.lower:focus-within{transform:translate(-50%) translateY(calc(var(--bannerOffset, 72px) * -1 - 10px)) scale(calc(var(--bannerSize, 1.02) * var(--timelineResponsiveScale, 1) * 1.08))!important}.timelineBanner.selected:hover,.timelineBanner.selected:focus-within,.timelineBanner.lower.selected:hover,.timelineBanner.lower.selected:focus-within{transform:translate(-50%) translateY(calc(var(--bannerOffset, 72px) * -1 - 11px)) scale(calc(var(--bannerSize, 1.02) * var(--timelineResponsiveScale, 1) * 1.1))!important}.markerTail{position:absolute;left:50%;top:28px;width:2px;height:var(--tailLength, 88px);transform:translate(-50%) translateY(calc(-100% - 7px));background:linear-gradient(to top,color-mix(in srgb,var(--tailColor, #6d5a42) 70%,transparent),transparent);opacity:.46;z-index:1;pointer-events:none}.markerTail:after{content:"";position:absolute;left:50%;top:-3px;width:8px;height:8px;transform:translate(-50%);border-radius:999px;background:color-mix(in srgb,var(--tailColor, #6d5a42) 45%,transparent);filter:blur(4px)}.gameCoverBanner{display:none!important}.shippedCreditsStrip{position:absolute;left:var(--timelineLeft);right:var(--timelineRight);top:calc(var(--axisTop) + 70px);z-index:4;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 10px;pointer-events:auto}.shippedCredit{width:clamp(46px,3.5vw,58px);min-width:42px;display:grid;justify-items:center;gap:5px;color:#322a22c7;text-decoration:none;font-family:Georgia,Times New Roman,serif;font-size:12px;line-height:1;transition:transform .18s ease,filter .18s ease}.shippedYear{font-size:11px;font-weight:700;letter-spacing:.02em;white-space:nowrap;text-shadow:0 1px 0 rgba(255,255,255,.72)}.shippedCredit img{width:100%;height:auto;aspect-ratio:2 / 3;object-fit:cover;display:block;border-radius:2px;box-shadow:0 5px 10px #00000047;filter:saturate(.98)}.shippedCredit:hover,.shippedCredit:focus-visible{transform:translateY(-4px);filter:drop-shadow(0 8px 12px rgba(0,0,0,.22));outline:none}.shippedCredit:hover .shippedYear,.shippedCredit:focus-visible .shippedYear{color:#1e1914f2}.missingCover{width:100%;aspect-ratio:2 / 3;display:grid;place-items:center;border-radius:2px;background:#50463c2e;font-size:9px;text-align:center;padding:4px}@media (max-height: 780px),(max-width: 1200px){.shippedCreditsStrip{top:calc(var(--axisTop) + 56px)}.shippedCredit{width:42px}}.yearTick{display:none!important}.markerDateLabel{position:absolute;top:28px;transform:translate(-50%,18px);color:#2b2219d1;font-family:Georgia,Times New Roman,serif;font-size:12px;font-weight:700;letter-spacing:.01em;text-shadow:0 1px 0 rgba(255,255,255,.76);white-space:nowrap;z-index:3;pointer-events:none}.timelineStage:before{opacity:var(--rainbowBackgroundOpacity, .78)!important;height:min(var(--rainbowBackgroundHeight, 820px),96vh)!important;background-image:var(--rainbowBackgroundImage, url(/rainbowbackgound.webp))!important;background-position:center center!important;background-size:var(--rainbowBackgroundScale, 118% auto)!important;background-repeat:no-repeat!important}.appShell.rainbowBackgroundOff .timelineStage:before{display:none!important}.timelineStage:before{height:var(--rainbowBackgroundHeight, 1200px)!important;max-height:none!important;background-size:var(--rainbowBackgroundScale, 118% auto)!important;overflow:visible!important}.bannerLayer,.timelineAxis,.shippedCreditsStrip{transform:translateY(var(--timelineVerticalOffset, 40px))!important}.shippedCredit{width:clamp(64px,4.7vw,84px)!important;min-width:60px!important;gap:6px!important}.markerDateLabel,.shippedYear{color:#fffffff5!important;text-shadow:0 1px 2px rgba(0,0,0,.72),0 0 5px rgba(0,0,0,.42),0 0 10px rgba(0,0,0,.25)!important}.markerDateLabel,.shippedYear{font-size:12px!important;font-weight:700!important}.shippedCredit{align-items:center!important;gap:8px!important}.shippedYear{order:2;margin-top:1px;line-height:1.1}.shippedCredit img,.shippedCredit .missingCover{order:1}.galleryOverlay{z-index:95!important;padding:clamp(18px,3vw,46px)!important;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.12),transparent 36%),linear-gradient(120deg,#08212e3d,#4e1c5c38),#080c1257!important;backdrop-filter:blur(16px) brightness(.78) saturate(1.18)!important;-webkit-backdrop-filter:blur(16px) brightness(.78) saturate(1.18)!important}.galleryViewer.conceptGallery{position:relative!important;aspect-ratio:auto!important;width:min(1540px,calc(100vw - 92px))!important;height:min(890px,calc(100vh - 76px))!important;max-width:calc(100vw - 40px)!important;max-height:calc(100vh - 40px)!important;display:grid!important;grid-template-columns:clamp(128px,12vw,178px) minmax(0,1fr)!important;grid-template-rows:clamp(88px,10vh,120px) minmax(0,1fr) clamp(68px,8vh,86px)!important;column-gap:clamp(22px,2.6vw,38px)!important;row-gap:clamp(14px,1.7vh,22px)!important;padding:clamp(24px,3vw,42px) clamp(28px,3.4vw,54px) clamp(18px,2.3vw,34px) clamp(26px,3.1vw,46px)!important;overflow:hidden!important;isolation:isolate!important;color:#fff!important;border-radius:clamp(20px,2.1vw,34px)!important;border:1px solid rgba(255,255,255,.62)!important;background:linear-gradient(135deg,#ffffff4d,#ffffff1a 44%,#ffffff2e),#ffffff21!important;box-shadow:0 32px 110px #00000057,inset 0 0 0 1px #ffffff38,inset 0 1px 22px #ffffff24!important;transform:scale(var(--galleryScale, .9))!important;transform-origin:center center!important}.galleryViewer.conceptGallery:before{content:""!important;position:absolute!important;top:-18%!important;right:-12%!important;bottom:-18%!important;left:-12%!important;z-index:0!important;display:block!important;pointer-events:none!important;background:linear-gradient(90deg,rgba(255,255,255,.16),transparent 18%,transparent 82%,rgba(255,255,255,.12)),url(/rainbowbackgound.webp) center / 126% auto no-repeat!important;-webkit-mask-image:none!important;mask-image:none!important;opacity:.38!important;filter:saturate(1.2) blur(.2px)!important;mix-blend-mode:normal!important}.galleryViewer.conceptGallery:after{content:""!important;position:absolute!important;top:1px!important;right:1px!important;bottom:1px!important;left:1px!important;display:block!important;z-index:0!important;pointer-events:none!important;border-radius:inherit!important;background:linear-gradient(180deg,rgba(255,255,255,.28),transparent 16%,transparent 78%,rgba(255,255,255,.12)),radial-gradient(circle at 16% 12%,rgba(255,255,255,.22),transparent 24%)!important;opacity:.76!important}.galleryViewer.conceptGallery .galleryMeta{position:relative!important;grid-column:1 / 3!important;grid-row:1!important;left:auto!important;top:auto!important;width:auto!important;height:auto!important;z-index:2!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:clamp(16px,2vw,28px)!important;padding:0 clamp(50px,5vw,74px) 0 0!important;min-width:0!important}.galleryViewer.conceptGallery .galleryBrandLogo{flex:0 0 auto!important;width:auto!important;height:auto!important;display:block!important;color:#fffffffa!important;font-family:Georgia,Times New Roman,serif!important;font-size:clamp(58px,6vw,92px)!important;line-height:.88!important;text-shadow:0 3px 20px rgba(0,0,0,.45)!important}.galleryViewer.conceptGallery .galleryMeta h2{margin:0 0 8px!important;color:#fffffffa!important;font-family:Georgia,Times New Roman,serif!important;font-size:clamp(28px,3.1vw,48px)!important;font-weight:700!important;line-height:.95!important;text-transform:uppercase!important;letter-spacing:.02em!important;white-space:nowrap!important;text-shadow:0 2px 18px rgba(0,0,0,.42)!important}.galleryViewer.conceptGallery .galleryMeta p{margin:0!important;color:#ffffffe0!important;font-size:clamp(14px,1.25vw,19px)!important;line-height:1.25!important;white-space:nowrap!important;text-shadow:0 2px 10px rgba(0,0,0,.34)!important}.galleryViewer.conceptGallery .galleryMeta p span{margin:0 .8em!important;color:#ffffffa8!important}.galleryViewer.conceptGallery .galleryClose{position:absolute!important;right:clamp(18px,2.2vw,32px)!important;top:clamp(18px,2.2vw,32px)!important;z-index:6!important;width:clamp(42px,4.2vw,62px)!important;height:clamp(42px,4.2vw,62px)!important;display:grid!important;place-items:center!important;color:#fffffff0!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:999px!important;background:#ffffff1a!important;box-shadow:inset 0 0 0 1px #ffffff1a,0 10px 24px #00000029!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important}.galleryViewer.conceptGallery .galleryClose:hover,.galleryViewer.conceptGallery .galleryClose:focus-visible,.galleryViewer.conceptGallery .galleryFullscreenButton:hover,.galleryViewer.conceptGallery .galleryFullscreenButton:focus-visible,.galleryViewer.conceptGallery .galleryArrowControl:hover,.galleryViewer.conceptGallery .galleryArrowControl:focus-visible{background:#ffffff2e!important;outline:1px solid rgba(255,255,255,.42)!important}.galleryViewer.conceptGallery .galleryThumbStrip{position:relative!important;grid-column:1!important;grid-row:2 / 4!important;left:auto!important;top:auto!important;width:auto!important;height:auto!important;z-index:2!important;min-height:0!important;display:flex!important;flex-direction:column!important;gap:clamp(12px,1.7vh,20px)!important;padding:clamp(12px,1.4vw,18px)!important;overflow-x:hidden!important;overflow-y:auto!important;border:1px solid rgba(255,255,255,.34)!important;border-radius:clamp(16px,1.5vw,24px)!important;background:#ffffff1f!important;box-shadow:inset 0 0 0 1px #ffffff1a,0 18px 48px #00000029!important;backdrop-filter:blur(12px) saturate(1.1)!important;-webkit-backdrop-filter:blur(12px) saturate(1.1)!important;scrollbar-width:thin!important}.galleryViewer.conceptGallery .galleryThumbStrip button{flex:1 1 0!important;min-height:clamp(70px,11vh,120px)!important;max-height:none!important;width:100%!important;padding:4px!important;overflow:hidden!important;border-radius:clamp(10px,1vw,16px)!important;border:1px solid rgba(255,255,255,.48)!important;background:#ffffff21!important;box-shadow:inset 0 0 0 1px #ffffff29,0 10px 24px #0003!important}.galleryViewer.conceptGallery .galleryThumbStrip button.active{border-color:#cdff9efa!important;box-shadow:0 0 0 2px #cdff9e6b,0 0 22px #88ff6e6b,inset 0 0 0 1px #ffffff47,0 12px 28px #0000003d!important}.galleryViewer.conceptGallery .galleryThumbStrip img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:calc(clamp(10px,1vw,16px) - 4px)!important;display:block!important}.galleryViewer.conceptGallery .galleryMain{position:relative!important;grid-column:2!important;grid-row:2 / 4!important;left:auto!important;top:auto!important;width:auto!important;height:auto!important;z-index:2!important;min-width:0!important;min-height:0!important;display:grid!important;grid-template-rows:minmax(0,1fr) clamp(58px,7vh,78px)!important;gap:clamp(14px,1.8vh,22px)!important;padding:0!important}.galleryViewer.conceptGallery .artworkFrame{position:relative!important;grid-column:auto!important;grid-row:1!important;left:auto!important;top:auto!important;width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important;border-radius:clamp(16px,1.45vw,24px)!important;border:1px solid rgba(255,255,255,.48)!important;background:#ffffff14!important;box-shadow:0 22px 62px #00000047,inset 0 0 0 1px #ffffff29,inset 0 0 32px #ffffff12!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important}.galleryViewer.conceptGallery .artworkFrame:after{content:""!important;position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;z-index:2!important;pointer-events:none!important;border-radius:inherit!important;background:linear-gradient(90deg,rgba(255,255,255,.26),transparent 4%,transparent 96%,rgba(255,255,255,.18)),linear-gradient(180deg,rgba(255,255,255,.26),transparent 5%,transparent 94%,rgba(255,255,255,.16)),radial-gradient(ellipse at center,transparent 62%,rgba(0,0,0,.1) 100%)!important;box-shadow:inset 0 0 0 1px #ffffff52,inset 0 0 24px #ffffff1f!important}.galleryViewer.conceptGallery .artworkFrame>img{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;display:block!important}.galleryViewer.conceptGallery .conceptGalleryControls{position:relative!important;grid-column:auto!important;grid-row:2!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;z-index:3!important;display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;gap:clamp(16px,2vw,28px)!important;padding:0 clamp(110px,10vw,168px)!important;margin:0!important}.galleryViewer.conceptGallery .galleryArrowControl{width:clamp(48px,4.5vw,68px)!important;height:clamp(40px,4vw,58px)!important;min-height:0!important;display:grid!important;place-items:center!important;padding:0!important;color:#fffffff5!important;border:0!important;border-radius:999px!important;background:#ffffff12!important;box-shadow:inset 0 0 0 1px #ffffff14!important;justify-self:end!important}.galleryViewer.conceptGallery .galleryControlCenter+.galleryArrowControl{justify-self:start!important}.galleryViewer.conceptGallery .galleryControlCenter{min-height:0!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important}.galleryViewer.conceptGallery .counter{color:#fffffff5!important;font-family:Georgia,Times New Roman,serif!important;font-size:clamp(18px,1.8vw,26px)!important;font-weight:700!important;letter-spacing:.08em!important;white-space:nowrap!important;text-shadow:0 2px 14px rgba(0,0,0,.38)!important}.galleryViewer.conceptGallery .galleryTextControl{border:1px solid rgba(255,255,255,.22)!important;background:#ffffff1a!important;color:#ffffffeb!important;padding:8px 12px!important;border-radius:999px!important}.galleryViewer.conceptGallery .galleryFullscreenButton{position:absolute!important;right:clamp(22px,2.6vw,42px)!important;bottom:clamp(22px,2.5vw,38px)!important;top:auto!important;transform:none!important;z-index:6!important;width:clamp(42px,4.2vw,60px)!important;height:clamp(42px,4.2vw,60px)!important;display:grid!important;place-items:center!important;padding:0!important;color:#fffffff0!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:999px!important;background:#ffffff1f!important;box-shadow:inset 0 0 0 1px #ffffff1a,0 12px 28px #0000002e!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important}.galleryViewer.conceptGallery .galleryControls button.galleryFullscreenButton{display:grid!important}.galleryViewer.conceptGallery .noteCard{z-index:5!important;color:#f6f0e4!important;background:#0c1216f0!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:14px!important;box-shadow:0 18px 46px #0006!important}.galleryViewer.conceptGallery .noteMarker{z-index:4!important}.galleryPlacementOverlay{z-index:9!important}@media (max-width: 900px){.galleryViewer.conceptGallery{width:calc(100vw - 18px)!important;height:calc(100vh - 18px)!important;grid-template-columns:86px minmax(0,1fr)!important;grid-template-rows:74px minmax(0,1fr) 60px!important;gap:10px!important;padding:14px!important;border-radius:18px!important;transform:none!important}.galleryViewer.conceptGallery .galleryBrandLogo{font-size:40px!important}.galleryViewer.conceptGallery .galleryMeta h2{font-size:20px!important;white-space:normal!important}.galleryViewer.conceptGallery .galleryMeta p{font-size:12px!important;white-space:normal!important}.galleryViewer.conceptGallery .galleryThumbStrip{gap:8px!important;padding:8px!important}.galleryViewer.conceptGallery .conceptGalleryControls{padding:0 52px!important}.galleryViewer.conceptGallery .galleryTextControl{display:none!important}}.galleryOverlay{background:#080c1238!important;backdrop-filter:blur(18px) brightness(.74) saturate(1.12)!important;-webkit-backdrop-filter:blur(18px) brightness(.74) saturate(1.12)!important}.galleryViewer.conceptGallery{background:linear-gradient(135deg,#ffffff29,#ffffff12 44%,#ffffff1a),#ffffff14!important;border:1px solid rgba(255,255,255,.28)!important;box-shadow:0 28px 96px #00000047,inset 0 0 0 1px #ffffff17,inset 0 1px 16px #ffffff17!important}.galleryViewer.conceptGallery:after{background:linear-gradient(180deg,rgba(255,255,255,.16),transparent 18%,transparent 82%,rgba(255,255,255,.08)),radial-gradient(circle at 14% 12%,rgba(255,255,255,.14),transparent 24%)!important;opacity:.68!important}.galleryViewer.conceptGallery .galleryThumbStrip{background:#ffffff0d!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:inset 0 0 0 1px #ffffff0f,0 16px 40px #0000001f!important}.galleryViewer.conceptGallery .galleryThumbStrip button{position:relative!important;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;overflow:visible!important}.galleryViewer.conceptGallery .galleryThumbStrip button:before{content:""!important;position:absolute!important;top:-6px!important;right:-6px!important;bottom:-6px!important;left:-6px!important;border-radius:clamp(12px,1vw,18px)!important;background:#ffffff0f!important;box-shadow:inset 0 0 0 1px #ffffff14,0 10px 24px #0000001f!important;backdrop-filter:blur(6px)!important;-webkit-backdrop-filter:blur(6px)!important;z-index:-1!important}.galleryViewer.conceptGallery .galleryThumbStrip button img{border-radius:clamp(10px,1vw,16px)!important;box-shadow:0 8px 18px #00000038!important}.galleryViewer.conceptGallery .galleryThumbStrip button:nth-child(1) img{box-shadow:0 0 0 1px #e2ffb826,0 0 18px #b2ff587a,0 8px 18px #00000038!important}.galleryViewer.conceptGallery .galleryThumbStrip button:nth-child(2) img{box-shadow:0 0 0 1px #9cf4ff26,0 0 18px #53c4ff75,0 8px 18px #00000038!important}.galleryViewer.conceptGallery .galleryThumbStrip button:nth-child(3) img{box-shadow:0 0 0 1px #dbb6ff29,0 0 18px #b568ff75,0 8px 18px #00000038!important}.galleryViewer.conceptGallery .galleryThumbStrip button:nth-child(4) img{box-shadow:0 0 0 1px #ffbee629,0 0 18px #ff62b670,0 8px 18px #00000038!important}.galleryViewer.conceptGallery .galleryThumbStrip button:nth-child(5) img{box-shadow:0 0 0 1px #ffd8b629,0 0 18px #ff9b5270,0 8px 18px #00000038!important}.galleryViewer.conceptGallery .galleryThumbStrip button:nth-child(6) img{box-shadow:0 0 0 1px #fff3b629,0 0 18px #ffd65270,0 8px 18px #00000038!important}.galleryViewer.conceptGallery .galleryThumbStrip button.active{box-shadow:none!important}.galleryViewer.conceptGallery .galleryThumbStrip button.active:before{background:#ffffff14!important;box-shadow:inset 0 0 0 1px #ffffff1f,0 0 0 1px #ffffff1a,0 10px 26px #00000024!important}.galleryViewer.conceptGallery .galleryThumbStrip button.active img{transform:translateY(-1px);box-shadow:0 0 0 1px #ffffff2e,0 0 26px #d2ffa294,0 12px 22px #0000003d!important}.galleryViewer.conceptGallery .artworkFrame{border:1px solid rgba(255,255,255,.26)!important;background:#ffffff0d!important;box-shadow:0 22px 58px #00000038,inset 0 0 0 1px #ffffff1a,inset 0 0 24px #ffffff0d!important}.galleryViewer.conceptGallery .artworkFrame:after{background:linear-gradient(90deg,rgba(255,255,255,.14),transparent 5%,transparent 95%,rgba(255,255,255,.1)),linear-gradient(180deg,rgba(255,255,255,.14),transparent 6%,transparent 94%,rgba(255,255,255,.08))!important;box-shadow:inset 0 0 0 1px #ffffff29,inset 0 0 16px #ffffff0f!important}.galleryViewer.conceptGallery .galleryClose,.galleryViewer.conceptGallery .galleryFullscreenButton,.galleryViewer.conceptGallery .galleryArrowControl{background:#ffffff14!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:inset 0 0 0 1px #ffffff0d,0 10px 24px #0000001f!important}.galleryOverlay{background:#05080c24!important;backdrop-filter:blur(12px) brightness(.78) saturate(1.06)!important;-webkit-backdrop-filter:blur(12px) brightness(.78) saturate(1.06)!important}.galleryViewer.conceptGallery{background:transparent!important;border:1px solid rgba(255,255,255,.5)!important;box-shadow:0 30px 90px #00000038,inset 0 0 0 1px #ffffff14,0 0 0 1px #ffffff1a!important}.galleryViewer.conceptGallery:before{background:none!important;opacity:0!important}.galleryViewer.conceptGallery:after{background:linear-gradient(180deg,rgba(255,255,255,.13),transparent 16%,transparent 84%,rgba(255,255,255,.07)),linear-gradient(90deg,rgba(255,255,255,.09),transparent 10%,transparent 90%,rgba(255,255,255,.07))!important;opacity:.9!important}.galleryViewer.conceptGallery .galleryThumbStrip{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:0!important}.galleryViewer.conceptGallery .galleryThumbStrip button{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;overflow:visible!important}.galleryViewer.conceptGallery .galleryThumbStrip button:before{content:""!important;position:absolute!important;top:-5px!important;right:-5px!important;bottom:-5px!important;left:-5px!important;border-radius:18px!important;background:transparent!important;border:1px solid rgba(255,255,255,.34)!important;box-shadow:inset 0 0 0 1px #ffffff0f,0 0 24px #ffffff17,0 14px 28px #0003!important;z-index:-1!important}.galleryViewer.conceptGallery .galleryThumbStrip img{border-radius:14px!important;box-shadow:0 12px 28px #0000003d!important}.galleryViewer.conceptGallery .galleryThumbStrip button:nth-child(1):before{box-shadow:inset 0 0 0 1px #ffffff14,0 0 26px #a1ff5f94,0 14px 28px #0003!important}.galleryViewer.conceptGallery .galleryThumbStrip button:nth-child(2):before{box-shadow:inset 0 0 0 1px #ffffff14,0 0 26px #68b6ff8a,0 14px 28px #0003!important}.galleryViewer.conceptGallery .galleryThumbStrip button:nth-child(3):before{box-shadow:inset 0 0 0 1px #ffffff14,0 0 26px #b876ff85,0 14px 28px #0003!important}.galleryViewer.conceptGallery .galleryThumbStrip button:nth-child(4):before{box-shadow:inset 0 0 0 1px #ffffff14,0 0 26px #ffa94c80,0 14px 28px #0003!important}.galleryViewer.conceptGallery .galleryThumbStrip button:nth-child(5):before{box-shadow:inset 0 0 0 1px #ffffff14,0 0 26px #ff5ea880,0 14px 28px #0003!important}.galleryViewer.conceptGallery .galleryThumbStrip button:nth-child(6):before{box-shadow:inset 0 0 0 1px #ffffff14,0 0 26px #ffe45c80,0 14px 28px #0003!important}.galleryViewer.conceptGallery .galleryThumbStrip button.active:before{border-color:#ffffff8f!important;box-shadow:inset 0 0 0 1px #ffffff1a,0 0 34px #c7ff9ec7,0 0 8px #ffffff42,0 16px 30px #0000003d!important}.galleryViewer.conceptGallery .galleryThumbStrip button.active img{transform:translateY(-1px)!important}.galleryViewer.conceptGallery .artworkFrame{border:1px solid rgba(255,255,255,.4)!important;background:transparent!important;box-shadow:inset 0 0 0 1px #ffffff0f,0 0 34px #adff8b24,0 22px 54px #0000003d!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.galleryViewer.conceptGallery .artworkFrame:after{background:linear-gradient(90deg,rgba(255,255,255,.2),transparent 4%,transparent 96%,rgba(255,255,255,.12)),linear-gradient(180deg,rgba(255,255,255,.2),transparent 5%,transparent 95%,rgba(255,255,255,.1))!important;box-shadow:inset 0 0 0 1px #fff3,0 0 32px #b3eaff2e!important}.galleryViewer.conceptGallery .galleryClose,.galleryViewer.conceptGallery .galleryFullscreenButton,.galleryViewer.conceptGallery .galleryArrowControl{background:transparent!important;border:1px solid rgba(255,255,255,.28)!important;box-shadow:inset 0 0 0 1px #ffffff0a,0 0 18px #ffffff14,0 10px 22px #00000029!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.galleryViewer.conceptGallery .galleryClose:hover,.galleryViewer.conceptGallery .galleryClose:focus-visible,.galleryViewer.conceptGallery .galleryFullscreenButton:hover,.galleryViewer.conceptGallery .galleryFullscreenButton:focus-visible,.galleryViewer.conceptGallery .galleryArrowControl:hover,.galleryViewer.conceptGallery .galleryArrowControl:focus-visible{background:#ffffff0a!important;box-shadow:0 0 22px #dcffb62e,0 10px 22px #0000002e!important}.galleryViewer.conceptGallery .galleryMeta{text-shadow:0 2px 16px rgba(0,0,0,.32)!important}.galleryViewer.conceptGallery .galleryMeta p{color:#ffffffeb!important}.galleryViewer.conceptGallery{grid-template-columns:clamp(112px,10.5vw,160px) minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr)!important;column-gap:clamp(20px,2.2vw,34px)!important;row-gap:clamp(14px,1.6vh,20px)!important}.galleryViewer.conceptGallery .galleryMeta{grid-column:1 / 3!important;grid-row:1!important}.galleryViewer.conceptGallery .galleryThumbStrip{grid-column:1!important;grid-row:2!important;align-self:start!important;height:100%!important;overflow-y:auto!important;overflow-x:visible!important;padding:6px 10px 6px 2px!important;gap:18px!important}.galleryViewer.conceptGallery .galleryThumbStrip button{flex:0 0 auto!important;min-height:0!important;height:clamp(92px,13vh,136px)!important;margin:0!important}.galleryViewer.conceptGallery .galleryThumbStrip button:before{top:-7px!important;right:-7px!important;bottom:-7px!important;left:-7px!important}.galleryViewer.conceptGallery .galleryMain{grid-column:2!important;grid-row:2!important;position:relative!important;display:block!important;min-height:0!important;height:100%!important}.galleryViewer.conceptGallery .conceptGalleryControls{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;z-index:7!important;display:block!important;padding:0!important;pointer-events:none!important}.galleryViewer.conceptGallery .galleryControlCenter{position:absolute!important;left:50%!important;bottom:18px!important;transform:translate(-50%)!important;min-height:0!important;gap:10px!important;pointer-events:auto!important}.galleryViewer.conceptGallery .galleryArrowControl{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;width:auto!important;height:auto!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#ffffffeb!important;opacity:.92!important;pointer-events:auto!important}.galleryViewer.conceptGallery .galleryArrowControl:first-child{left:18px!important}.galleryViewer.conceptGallery .galleryControlCenter+.galleryArrowControl{right:18px!important;left:auto!important}.galleryViewer.conceptGallery .galleryArrowControl svg{width:34px!important;height:34px!important;filter:drop-shadow(0 2px 8px rgba(0,0,0,.42))}.galleryViewer.conceptGallery .galleryArrowControl:hover,.galleryViewer.conceptGallery .galleryArrowControl:focus-visible{color:#fff!important;background:transparent!important;box-shadow:none!important;outline:none!important;opacity:1!important}.galleryViewer.conceptGallery .galleryFullscreenButton{top:16px!important;right:16px!important;bottom:auto!important;left:auto!important;transform:none!important;width:36px!important;height:36px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#ffffffeb!important;pointer-events:auto!important}.galleryViewer.conceptGallery .galleryFullscreenButton svg{width:22px!important;height:22px!important;filter:drop-shadow(0 2px 8px rgba(0,0,0,.42))}.galleryViewer.conceptGallery .galleryFullscreenButton:hover,.galleryViewer.conceptGallery .galleryFullscreenButton:focus-visible{background:transparent!important;box-shadow:none!important;outline:none!important;color:#fff!important}.galleryViewer.conceptGallery .artworkFrame>img{object-fit:contain!important;background:transparent!important}@media (max-width: 900px){.galleryViewer.conceptGallery{grid-template-columns:82px minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr)!important}.galleryViewer.conceptGallery .galleryThumbStrip{gap:12px!important;padding-right:6px!important}.galleryViewer.conceptGallery .galleryThumbStrip button{height:76px!important}.galleryViewer.conceptGallery .galleryArrowControl:first-child{left:10px!important}.galleryViewer.conceptGallery .galleryControlCenter+.galleryArrowControl{right:10px!important}}.galleryViewer.conceptGallery{width:min(1600px,calc(100vw - 96px),calc((100vh - 84px)*1.6))!important;aspect-ratio:16 / 10!important;height:auto!important;max-width:none!important;max-height:none!important;display:grid!important;grid-template-columns:14% 86%!important;grid-template-rows:16% 84%!important;column-gap:0!important;row-gap:0!important;padding:0!important;overflow:visible!important;transform:none!important}.galleryViewer.conceptGallery .galleryMeta{grid-column:1 / 3!important;grid-row:1!important;align-self:stretch!important;position:relative!important;left:auto!important;top:auto!important;width:auto!important;height:auto!important;padding:3.6% 7.5% 0 3.4%!important}.galleryViewer.conceptGallery .galleryThumbStrip{grid-column:1!important;grid-row:2!important;position:relative!important;left:auto!important;top:auto!important;width:auto!important;height:auto!important;align-self:stretch!important;justify-self:stretch!important;padding:1.6% 13% 8.8%!important;gap:4.2%!important;overflow:visible!important;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.galleryViewer.conceptGallery .galleryThumbStrip button{position:relative!important;flex:1 1 0!important;height:auto!important;min-height:0!important;max-height:none!important;width:100%!important;padding:0!important;overflow:visible!important;border:0!important;background:transparent!important;box-shadow:none!important}.galleryViewer.conceptGallery .galleryThumbStrip button:before{content:""!important;position:absolute!important;top:-8px!important;right:-8px!important;bottom:-8px!important;left:-8px!important;z-index:-1!important;border-radius:15px!important;border:1px solid rgba(255,255,255,.28)!important;background:transparent!important;pointer-events:none!important}.galleryViewer.conceptGallery .galleryThumbStrip img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;border-radius:12px!important;box-shadow:0 10px 22px #0000003d!important}.galleryViewer.conceptGallery .galleryMain{grid-column:2!important;grid-row:2!important;position:relative!important;display:block!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;padding:0 3.2% 8.8% 0!important;overflow:visible!important}.galleryViewer.conceptGallery .artworkFrame{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:100%!important;overflow:hidden!important}.galleryViewer.conceptGallery .artworkFrame>img{object-fit:contain!important}.galleryViewer.conceptGallery .conceptGalleryControls{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;z-index:8!important;display:block!important;width:auto!important;height:auto!important;padding:0!important;margin:0!important;pointer-events:none!important;background:transparent!important}.galleryViewer.conceptGallery .galleryControlCenter{position:absolute!important;left:50%!important;bottom:4.2%!important;transform:translate(-50%)!important;display:flex!important;gap:10px!important;pointer-events:auto!important}.galleryViewer.conceptGallery .galleryArrowControl{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;position:absolute!important;top:58%!important;transform:translateY(-50%)!important;width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;max-width:46px!important;max-height:46px!important;display:grid!important;place-items:center!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#fffffff0!important;pointer-events:auto!important}.galleryViewer.conceptGallery .galleryArrowControl:first-child{left:15.7%!important;right:auto!important}.galleryViewer.conceptGallery .galleryControlCenter+.galleryArrowControl{right:4.9%!important;left:auto!important}.galleryViewer.conceptGallery .galleryArrowControl svg{width:36px!important;height:36px!important;filter:drop-shadow(0 2px 7px rgba(0,0,0,.55))!important}.galleryViewer.conceptGallery .galleryFullscreenButton{position:absolute!important;top:18.2%!important;right:5%!important;bottom:auto!important;left:auto!important;transform:none!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;padding:0!important;display:grid!important;place-items:center!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#fffffff0!important;z-index:9!important}.galleryViewer.conceptGallery .galleryFullscreenButton svg{width:23px!important;height:23px!important;filter:drop-shadow(0 2px 7px rgba(0,0,0,.55))!important}.galleryViewer.conceptGallery .galleryClose{right:2.8%!important;top:4.3%!important}@media (max-width: 900px){.galleryViewer.conceptGallery{width:min(calc(100vw - 18px),calc((100vh - 18px)*1.6))!important;aspect-ratio:16 / 10!important;grid-template-columns:15% 85%!important;grid-template-rows:18% 82%!important}.galleryViewer.conceptGallery .galleryThumbStrip{padding:2% 10% 7% 12%!important;gap:3.4%!important}.galleryViewer.conceptGallery .galleryMain{padding:0 2.8% 7% 0!important}.galleryViewer.conceptGallery .galleryArrowControl:first-child{left:16.2%!important}.galleryViewer.conceptGallery .galleryControlCenter+.galleryArrowControl{right:4.4%!important}}.galleryViewer.conceptGallery{width:min(1600px,calc(100vw - 96px),calc((100vh - 84px)*1.6))!important;aspect-ratio:16 / 10!important;height:auto!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:15% 85%!important;padding:0!important;overflow:visible!important;background:transparent!important;border:1px solid rgba(255,255,255,.46)!important;border-radius:28px!important;box-shadow:0 30px 90px #0000003d,inset 0 0 0 1px #ffffff14!important}.galleryViewer.conceptGallery .galleryMeta{grid-column:1!important;grid-row:1!important;position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:clamp(12px,1.5vw,24px)!important;padding:0 clamp(76px,8vw,132px)!important;min-width:0!important}.galleryViewer.conceptGallery .galleryBrandLogo{flex:0 0 auto!important;font-size:clamp(42px,4.6vw,74px)!important;line-height:.92!important}.galleryViewer.conceptGallery .galleryMeta h2{max-width:72vw!important;margin:0 0 6px!important;font-size:clamp(26px,3vw,48px)!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.galleryViewer.conceptGallery .galleryMeta p{font-size:clamp(13px,1.15vw,18px)!important;white-space:nowrap!important}.galleryViewer.conceptGallery .galleryThumbStrip{display:none!important}.galleryViewer.conceptGallery .galleryMain{grid-column:1!important;grid-row:2!important;position:relative!important;display:block!important;width:100%!important;height:100%!important;padding:0 clamp(44px,4vw,72px) clamp(34px,3.3vw,56px) clamp(44px,4vw,72px)!important;overflow:visible!important}.galleryViewer.conceptGallery .artworkFrame{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:100%!important;border-radius:18px!important;overflow:hidden!important;background:transparent!important;border:1px solid rgba(255,255,255,.4)!important;box-shadow:inset 0 0 0 1px #ffffff12,0 0 34px #b3eaff29,0 22px 54px #0000003d!important}.galleryViewer.conceptGallery .artworkFrame>img{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;object-fit:contain!important;background:transparent!important}.galleryViewer.conceptGallery .conceptGalleryControls{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;z-index:9!important;display:block!important;width:auto!important;height:auto!important;padding:0!important;pointer-events:none!important;background:transparent!important}.galleryViewer.conceptGallery .galleryControlCenter{position:absolute!important;left:50%!important;bottom:clamp(42px,4.7vw,74px)!important;transform:translate(-50%)!important;pointer-events:auto!important}.galleryViewer.conceptGallery .galleryControlCenter:empty{display:none!important}.galleryViewer.conceptGallery .galleryArrowControl{position:absolute!important;top:58%!important;transform:translateY(-50%)!important;z-index:10!important;width:44px!important;height:64px!important;min-width:44px!important;min-height:64px!important;max-width:44px!important;max-height:64px!important;display:grid!important;place-items:center!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#fffffff0!important;pointer-events:auto!important}.galleryViewer.conceptGallery .galleryArrowControl:first-child{left:clamp(58px,5.5vw,92px)!important;right:auto!important}.galleryViewer.conceptGallery .galleryControlCenter+.galleryArrowControl{right:clamp(58px,5.5vw,92px)!important;left:auto!important}.galleryViewer.conceptGallery .galleryArrowControl svg{width:38px!important;height:38px!important;filter:drop-shadow(0 2px 8px rgba(0,0,0,.62))!important}.galleryViewer.conceptGallery .galleryArrowControl:hover,.galleryViewer.conceptGallery .galleryArrowControl:focus-visible{background:transparent!important;box-shadow:none!important;outline:none!important;color:#fff!important}.galleryViewer.conceptGallery .galleryFullscreenButton{position:absolute!important;top:calc(15% + clamp(12px,1.2vw,20px))!important;right:clamp(60px,5.8vw,96px)!important;bottom:auto!important;left:auto!important;transform:none!important;z-index:11!important;width:40px!important;height:40px!important;padding:0!important;display:grid!important;place-items:center!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#fffffff0!important}.galleryViewer.conceptGallery .galleryFullscreenButton svg{width:24px!important;height:24px!important;filter:drop-shadow(0 2px 8px rgba(0,0,0,.62))!important}.galleryViewer.conceptGallery .galleryClose{right:clamp(20px,2vw,34px)!important;top:clamp(18px,1.8vw,30px)!important}.galleryViewer.conceptGallery:after{opacity:.48!important}@media (max-width: 900px){.galleryViewer.conceptGallery{width:min(calc(100vw - 18px),calc((100vh - 18px)*1.6))!important;aspect-ratio:16 / 10!important;grid-template-rows:18% 82%!important}.galleryViewer.conceptGallery .galleryMeta{padding:0 58px!important}.galleryViewer.conceptGallery .galleryBrandLogo{font-size:34px!important}.galleryViewer.conceptGallery .galleryMeta h2{font-size:18px!important}.galleryViewer.conceptGallery .galleryMeta p{font-size:11px!important}.galleryViewer.conceptGallery .galleryMain{padding:0 30px 28px!important}.galleryViewer.conceptGallery .galleryArrowControl:first-child{left:36px!important}.galleryViewer.conceptGallery .galleryControlCenter+.galleryArrowControl{right:36px!important}.galleryViewer.conceptGallery .galleryFullscreenButton{top:calc(18% + 10px)!important;right:36px!important}}.galleryViewer.conceptGallery{width:min(1600px,calc(100vw - 64px),calc((100vh - 48px)*1.6))!important;aspect-ratio:16 / 10!important;display:grid!important;grid-template-columns:170px minmax(0,1fr)!important;grid-template-rows:118px minmax(0,1fr)!important;gap:0!important;padding:0!important}.galleryViewer.conceptGallery .galleryMeta{grid-column:1 / 3!important;grid-row:1!important;width:100%!important;height:100%!important;padding:12px 78px 0!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:18px!important}.galleryViewer.conceptGallery .galleryMeta h2{max-width:none!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.galleryViewer.conceptGallery .galleryThumbStrip{display:flex!important;grid-column:1!important;grid-row:2!important;padding:10px 14px 24px 18px!important;gap:16px!important;overflow:visible!important;align-self:stretch!important;justify-self:stretch!important}.galleryViewer.conceptGallery .galleryThumbStrip button{height:calc((100% - 48px)/4)!important;min-height:0!important;width:100%!important}.galleryViewer.conceptGallery .galleryMain{grid-column:2!important;grid-row:2!important;position:relative!important;width:100%!important;height:100%!important;padding:10px 18px 24px 4px!important;overflow:visible!important}.galleryViewer.conceptGallery .artworkFrame{width:100%!important;height:100%!important}.galleryViewer.conceptGallery .artworkFrame>img{width:100%!important;height:100%!important;object-fit:cover!important}.galleryViewer.conceptGallery .conceptGalleryControls{position:absolute!important;top:10px!important;right:18px!important;bottom:24px!important;left:4px!important;display:block!important;padding:0!important;margin:0!important;pointer-events:none!important;background:transparent!important}.galleryViewer.conceptGallery .galleryControlCenter{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;pointer-events:none!important;display:block!important}.galleryViewer.conceptGallery .counter{display:none!important}.galleryViewer.conceptGallery .galleryArrowControl{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;pointer-events:auto!important;color:#fffffff5!important}.galleryViewer.conceptGallery .galleryArrowControl:first-child{left:14px!important;right:auto!important}.galleryViewer.conceptGallery .galleryControlCenter+.galleryArrowControl{right:14px!important;left:auto!important}.galleryViewer.conceptGallery .galleryArrowControl svg{width:34px!important;height:34px!important;filter:drop-shadow(0 2px 8px rgba(0,0,0,.58))!important}.galleryViewer.conceptGallery .galleryFullscreenButton{top:12px!important;right:14px!important;width:36px!important;height:36px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;pointer-events:auto!important}.galleryViewer.conceptGallery .galleryFullscreenButton svg{width:22px!important;height:22px!important;filter:drop-shadow(0 2px 8px rgba(0,0,0,.58))!important}.galleryViewer.conceptGallery .galleryClose{right:22px!important;top:20px!important}@media (max-width: 900px){.galleryViewer.conceptGallery{width:min(calc(100vw - 16px),calc((100vh - 16px)*1.6))!important;grid-template-columns:98px minmax(0,1fr)!important;grid-template-rows:84px minmax(0,1fr)!important}.galleryViewer.conceptGallery .galleryMeta{padding:10px 52px 0!important;gap:10px!important}.galleryViewer.conceptGallery .galleryThumbStrip{padding:8px 10px 18px 12px!important;gap:10px!important}.galleryViewer.conceptGallery .galleryMain{padding:8px 12px 18px 2px!important}.galleryViewer.conceptGallery .conceptGalleryControls{top:8px!important;right:12px!important;bottom:18px!important;left:2px!important}}.galleryViewer.conceptGallery{overflow:hidden!important}.galleryViewer.conceptGallery .galleryThumbStrip{padding:14px 16px 24px 18px!important;gap:20px!important;overflow-y:auto!important;overflow-x:visible!important;scrollbar-width:thin!important;scrollbar-color:rgba(255,255,255,.34) transparent!important;overscroll-behavior:contain!important}.galleryViewer.conceptGallery .galleryThumbStrip::-webkit-scrollbar{width:6px}.galleryViewer.conceptGallery .galleryThumbStrip::-webkit-scrollbar-track{background:transparent}.galleryViewer.conceptGallery .galleryThumbStrip::-webkit-scrollbar-thumb{background:#ffffff3d;border-radius:999px}.galleryViewer.conceptGallery .galleryThumbStrip button{flex:0 0 auto!important;height:clamp(104px,12.5vh,132px)!important;width:100%!important;margin:0!important;overflow:visible!important}.galleryViewer.conceptGallery .galleryThumbStrip button:before{top:-3px!important;right:-3px!important;bottom:-3px!important;left:-3px!important;border-radius:14px!important;border-color:#ffffff42!important;box-shadow:inset 0 0 0 1px #ffffff0d,0 0 12px #ffffff1a,0 8px 16px #0000002e!important}.galleryViewer.conceptGallery .galleryThumbStrip button img{border-radius:11px!important;box-shadow:0 7px 14px #00000038!important}.galleryViewer.conceptGallery .galleryThumbStrip button:nth-child(1):before{box-shadow:inset 0 0 0 1px #ffffff0f,0 0 15px #a1ff5f80,0 8px 16px #0000002e!important}.galleryViewer.conceptGallery .galleryThumbStrip button:nth-child(2):before{box-shadow:inset 0 0 0 1px #ffffff0f,0 0 15px #68b6ff7a,0 8px 16px #0000002e!important}.galleryViewer.conceptGallery .galleryThumbStrip button:nth-child(3):before{box-shadow:inset 0 0 0 1px #ffffff0f,0 0 15px #b876ff75,0 8px 16px #0000002e!important}.galleryViewer.conceptGallery .galleryThumbStrip button:nth-child(4):before{box-shadow:inset 0 0 0 1px #ffffff0f,0 0 15px #ffa94c75,0 8px 16px #0000002e!important}.galleryViewer.conceptGallery .galleryThumbStrip button:nth-child(5):before{box-shadow:inset 0 0 0 1px #ffffff0f,0 0 15px #ff5ea875,0 8px 16px #0000002e!important}.galleryViewer.conceptGallery .galleryThumbStrip button:nth-child(6):before{box-shadow:inset 0 0 0 1px #ffffff0f,0 0 15px #ffe45c75,0 8px 16px #0000002e!important}.galleryViewer.conceptGallery .galleryThumbStrip button.active:before{top:-4px!important;right:-4px!important;bottom:-4px!important;left:-4px!important;border-color:#ffffff75!important;box-shadow:inset 0 0 0 1px #ffffff1a,0 0 18px #cdff9ead,0 0 5px #ffffff38,0 10px 20px #00000038!important}.galleryViewer.conceptGallery .galleryClose{right:24px!important;top:22px!important;width:48px!important;height:48px!important;border-radius:999px!important}.galleryViewer.conceptGallery .galleryFullscreenButton{top:28px!important;right:84px!important;width:42px!important;height:42px!important;border-radius:999px!important}.galleryViewer.conceptGallery .galleryFullscreenButton,.galleryViewer.conceptGallery .galleryClose{position:absolute!important;z-index:12!important;background:#ffffff0f!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 8px 20px #00000024,inset 0 0 0 1px #ffffff0a!important}.galleryViewer.conceptGallery .galleryMain{padding-right:24px!important}@media (max-width: 900px){.galleryViewer.conceptGallery .galleryThumbStrip{padding:10px 10px 18px 12px!important;gap:12px!important}.galleryViewer.conceptGallery .galleryThumbStrip button{height:78px!important}.galleryViewer.conceptGallery .galleryClose{right:12px!important;top:12px!important;width:36px!important;height:36px!important}.galleryViewer.conceptGallery .galleryFullscreenButton{right:54px!important;top:14px!important;width:34px!important;height:34px!important}}.galleryViewer.conceptGallery .galleryClose,.galleryViewer.conceptGallery .galleryFullscreenButton{top:22px!important;bottom:auto!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;max-width:44px!important;max-height:44px!important;padding:0!important;display:grid!important;place-items:center!important;border-radius:999px!important;background:#ffffff12!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 8px 20px #00000024,inset 0 0 0 1px #ffffff0a!important;color:#fffffff2!important;z-index:20!important;transform:none!important}.galleryViewer.conceptGallery .galleryFullscreenButton{right:78px!important;left:auto!important}.galleryViewer.conceptGallery .galleryClose{right:24px!important;left:auto!important}.galleryViewer.conceptGallery .galleryClose svg,.galleryViewer.conceptGallery .galleryFullscreenButton svg{width:22px!important;height:22px!important;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45))!important}.galleryViewer.conceptGallery .galleryFullscreenButton:hover,.galleryViewer.conceptGallery .galleryFullscreenButton:focus-visible,.galleryViewer.conceptGallery .galleryClose:hover,.galleryViewer.conceptGallery .galleryClose:focus-visible{background:#ffffff1f!important;outline:1px solid rgba(255,255,255,.26)!important;box-shadow:0 10px 24px #00000029,inset 0 0 0 1px #ffffff0f!important}@media (max-width: 900px){.galleryViewer.conceptGallery .galleryClose,.galleryViewer.conceptGallery .galleryFullscreenButton{top:12px!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;max-width:34px!important;max-height:34px!important}.galleryViewer.conceptGallery .galleryFullscreenButton{right:52px!important}.galleryViewer.conceptGallery .galleryClose{right:12px!important}.galleryViewer.conceptGallery .galleryClose svg,.galleryViewer.conceptGallery .galleryFullscreenButton svg{width:18px!important;height:18px!important}}.editorHint{margin:8px 0 0;font-size:11px;line-height:1.35;color:#ffffff9e}.backgroundTextureArt{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;overflow:hidden!important}.backgroundTextureArt:before,.backgroundTextureArt:after{top:-2px!important;right:-2px!important;bottom:-2px!important;left:-2px!important;width:auto!important;height:auto!important;background-position:center center!important;background-size:cover!important;-webkit-mask-position:center center!important;mask-position:center center!important;-webkit-mask-size:cover!important;mask-size:cover!important}.timelineStage:before{top:0!important;bottom:0!important;height:auto!important;max-height:none!important;transform:none!important;background-position:center center!important;background-size:cover!important}.bannerLayer,.timelineAxis,.shippedCreditsStrip{transform:translateY(var(--timelineVerticalOffset, 160px))!important}@media (max-width: 780px),(pointer: coarse) and (max-width: 940px){.galleryOverlay{align-items:stretch!important;justify-content:stretch!important;padding:0!important}.galleryViewer.conceptGallery{width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:74px minmax(0,1fr) 102px!important;border-radius:0!important;border-left:0!important;border-right:0!important;padding:0!important;overflow:hidden!important}.galleryViewer.conceptGallery .galleryMeta{grid-column:1!important;grid-row:1!important;width:100%!important;height:74px!important;padding:8px 94px 6px 18px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:8px!important;min-width:0!important}.galleryViewer.conceptGallery .galleryBrandLogo{display:none!important}.galleryViewer.conceptGallery .galleryMeta h2{max-width:100%!important;margin:0 0 2px!important;font-size:clamp(17px,5vw,24px)!important;line-height:1.03!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.galleryViewer.conceptGallery .galleryMeta p{margin:0!important;font-size:11px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.galleryViewer.conceptGallery .galleryThumbStrip{grid-column:1!important;grid-row:3!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;height:102px!important;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px))!important;gap:14px!important;overflow-x:auto!important;overflow-y:visible!important;overscroll-behavior-x:contain!important;scrollbar-width:none!important;background:linear-gradient(to top,#0000002e,#0000)!important}.galleryViewer.conceptGallery .galleryThumbStrip::-webkit-scrollbar{display:none!important}.galleryViewer.conceptGallery .galleryThumbStrip button{flex:0 0 78px!important;width:78px!important;height:70px!important;min-width:78px!important;min-height:70px!important;max-width:78px!important;max-height:70px!important;overflow:visible!important}.galleryViewer.conceptGallery .galleryThumbStrip button:before{top:-3px!important;right:-3px!important;bottom:-3px!important;left:-3px!important;border-radius:12px!important;box-shadow:inset 0 0 0 1px #ffffff12,0 0 10px #ffffff29,0 6px 14px #0003!important}.galleryViewer.conceptGallery .galleryThumbStrip button.active:before{top:-4px!important;right:-4px!important;bottom:-4px!important;left:-4px!important;box-shadow:inset 0 0 0 1px #ffffff1f,0 0 16px #cdff9eb3,0 8px 18px #00000042!important}.galleryViewer.conceptGallery .galleryThumbStrip img{border-radius:10px!important}.galleryViewer.conceptGallery .galleryMain{grid-column:1!important;grid-row:2!important;width:100%!important;height:100%!important;min-height:0!important;padding:6px 10px 8px!important;overflow:visible!important}.galleryViewer.conceptGallery .artworkFrame{width:100%!important;height:100%!important;border-radius:14px!important}.galleryViewer.conceptGallery .artworkFrame>img{width:100%!important;height:100%!important;object-fit:contain!important}.galleryViewer.conceptGallery .conceptGalleryControls{position:absolute!important;top:6px!important;right:10px!important;bottom:8px!important;left:10px!important;width:auto!important;height:auto!important;padding:0!important;pointer-events:none!important;background:transparent!important}.galleryViewer.conceptGallery .galleryArrowControl{top:50%!important;width:48px!important;height:64px!important;min-width:48px!important;min-height:64px!important;color:#fffffff5!important;pointer-events:auto!important}.galleryViewer.conceptGallery .galleryArrowControl:first-child{left:10px!important}.galleryViewer.conceptGallery .galleryControlCenter+.galleryArrowControl{right:10px!important}.galleryViewer.conceptGallery .galleryArrowControl svg{width:36px!important;height:36px!important}.galleryViewer.conceptGallery .galleryClose,.galleryViewer.conceptGallery .galleryFullscreenButton{top:calc(12px + env(safe-area-inset-top,0px))!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;max-width:36px!important;max-height:36px!important;border-radius:999px!important;z-index:30!important}.galleryViewer.conceptGallery .galleryClose{right:12px!important}.galleryViewer.conceptGallery .galleryFullscreenButton{right:54px!important}.galleryViewer.conceptGallery .galleryClose svg,.galleryViewer.conceptGallery .galleryFullscreenButton svg{width:18px!important;height:18px!important}}@media (max-height: 520px) and (pointer: coarse){.galleryViewer.conceptGallery{grid-template-rows:46px minmax(0,1fr) 76px!important}.galleryViewer.conceptGallery .galleryMeta{height:46px!important;padding-top:4px!important;padding-bottom:4px!important}.galleryViewer.conceptGallery .galleryMeta h2{font-size:16px!important}.galleryViewer.conceptGallery .galleryMeta p{display:none!important}.galleryViewer.conceptGallery .galleryThumbStrip{height:76px!important;padding-top:7px!important;padding-bottom:7px!important}.galleryViewer.conceptGallery .galleryThumbStrip button{flex-basis:64px!important;width:64px!important;height:56px!important;min-width:64px!important;min-height:56px!important}}@media (max-width: 780px),(pointer: coarse) and (max-width: 940px){:root{--mobileBottomBarHeight: 76px}html,body,#root{width:100%;height:100%;min-height:100dvh;overflow:hidden!important}body{position:fixed;top:0;right:0;bottom:0;left:0}.appShell{width:100vw!important;height:100dvh!important;min-height:100dvh!important;overflow:hidden!important}.decorativeSidebarArt{display:none!important}.leftNav{position:fixed!important;z-index:80!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;width:100vw!important;height:calc(var(--mobileBottomBarHeight) + env(safe-area-inset-bottom,0px))!important;display:grid!important;grid-template-columns:48px 1fr auto!important;grid-template-rows:1fr!important;align-items:center!important;gap:10px!important;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px))!important;color:#f8f4ea!important;background:linear-gradient(180deg,#081f2bc7,#05151ff5)!important;border-top:1px solid rgba(255,255,255,.16)!important;box-shadow:0 -16px 42px #00000038!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important}.leftNav .hamburger{grid-column:1!important;grid-row:1!important;width:44px!important;height:44px!important;margin:0!important;border-radius:999px!important;background:#ffffff14!important;border:1px solid rgba(255,255,255,.2)!important;color:#fff!important;display:grid!important;place-items:center!important}.leftNav .verticalName{grid-column:2!important;grid-row:1!important;writing-mode:horizontal-tb!important;transform:none!important;margin:0!important;justify-self:center!important;align-self:center!important;font-family:Georgia,Times New Roman,serif!important;font-size:15px!important;letter-spacing:.18em!important;white-space:nowrap!important;color:#fffffff0!important;text-shadow:0 2px 10px rgba(0,0,0,.4)!important}.leftNav .pageNavButtons{grid-column:3!important;grid-row:1!important;width:auto!important;margin:0!important;display:flex!important;flex-direction:row!important;gap:8px!important;justify-self:end!important;align-items:center!important}.leftNav .pageNavButton{width:40px!important;height:40px!important;border-radius:999px!important;background:#ffffff12!important}.leftNav .timelineNavIcon{width:18px!important;height:29px!important}.leftNav .portfolioNavIcon{width:25px!important;height:27px!important}.leftNav .slideMenu{position:fixed!important;z-index:79!important;left:0!important;right:0!important;top:auto!important;bottom:calc(var(--mobileBottomBarHeight) + env(safe-area-inset-bottom,0px))!important;width:100vw!important;height:auto!important;max-height:min(72dvh,620px)!important;overflow-y:auto!important;overscroll-behavior:contain!important;padding:22px 22px calc(24px + env(safe-area-inset-bottom,0px))!important;border-radius:22px 22px 0 0!important;border:1px solid rgba(255,255,255,.16)!important;border-bottom:0!important;background:linear-gradient(180deg,#0a2736f5,#061722fa)!important;box-shadow:0 -20px 64px #00000057!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;transform:translateY(calc(100% + var(--mobileBottomBarHeight)))!important;transition:transform .25s ease!important}.leftNav .slideMenu.open{transform:translateY(0)!important}.leftNav .slideMenu h2{font-size:28px!important;margin:0 0 8px!important;text-align:center!important}.leftNav .slideMenu p{margin:0 0 12px!important;text-align:center!important;font-size:13px!important}.leftNav .slideMenu a{padding:12px 0!important;text-align:center!important}.leftNav .slideMenu .controlGroup,.leftNav .slideMenu .backgroundPicker{margin-top:14px!important}.leftNav .slideMenu input[type=range]{width:100%!important}.timelineViewport{left:0!important;right:0!important;top:0!important;bottom:calc(var(--mobileBottomBarHeight) + env(safe-area-inset-bottom,0px))!important;height:auto!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important}.timelineStage{height:calc(100dvh - var(--mobileBottomBarHeight) - env(safe-area-inset-bottom,0px))!important;min-height:0!important;padding-top:0!important;padding-bottom:0!important;--axisTop: 47% !important}.bannerLayer,.timelineAxis,.shippedCreditsStrip{transform:translateY(76px)!important}.tapestryHeader{display:none!important}.portfolioViewport{left:0!important;right:0!important;top:0!important;bottom:calc(var(--mobileBottomBarHeight) + env(safe-area-inset-bottom,0px))!important;height:auto!important;padding:18px 14px!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important}.portfolioPage{height:calc(100dvh - var(--mobileBottomBarHeight) - env(safe-area-inset-bottom,0px))!important;min-height:0!important;padding:14px 16px!important;display:flex!important;align-items:stretch!important}.portfolioHeader{display:none!important}.portfolioGrid{height:100%!important;min-height:0!important;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:18px!important;align-items:stretch!important;justify-content:flex-start!important;padding:0 14px 0 0!important}.portfolioCard,.portfolioCard.clean{flex:0 0 74vw!important;width:74vw!important;max-width:360px!important;height:100%!important;min-height:0!important;max-height:none!important}.portfolioImageButton{height:100%!important;min-height:0!important}.portfolioCard h2,.portfolioCard p{display:none!important}.editorToggle{top:12px!important;right:12px!important;bottom:auto!important}}@media (max-width: 430px){:root{--mobileBottomBarHeight: 70px}.leftNav{grid-template-columns:44px 1fr auto!important;padding-left:10px!important;padding-right:10px!important}.leftNav .verticalName{font-size:13px!important;letter-spacing:.14em!important}.leftNav .pageNavButton{width:36px!important;height:36px!important}.portfolioCard,.portfolioCard.clean{flex-basis:82vw!important;width:82vw!important}}


/* banner-option-b-visual-template:
   Banner content becomes visual-only:
   logo image/fallback emblem + alpha hero image + 4 gallery thumbs.
   No title, role, or date copy inside the banner. Dates remain on the timeline. */

.timelineBanner .bannerInner {
  justify-content: flex-start !important;
  gap: 10px !important;
  padding: 34px 18px 20px !important;
}

.timelineBanner.lower .bannerInner {
  justify-content: flex-start !important;
  padding: 34px 18px 20px !important;
}

.bannerInner h2,
.bannerInner strong,
.bannerInner p {
  display: none !important;
}

.bannerLogoImage {
  display: block !important;
  width: auto !important;
  max-width: 126px !important;
  max-height: 42px !important;
  object-fit: contain !important;
  margin: 0 auto 4px !important;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.42)) drop-shadow(0 0 10px rgba(255,255,255,.16)) !important;
}

.bannerLogo {
  display: grid !important;
  place-items: center !important;
  min-height: 42px !important;
  margin: 0 auto 4px !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 42px !important;
  line-height: .9 !important;
  letter-spacing: .01em !important;
  color: rgba(255,255,255,.96) !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.52), 0 0 12px rgba(255,255,255,.16) !important;
}

.timelineBanner.lower .bannerLogo {
  margin: 0 auto 4px !important;
}

.bannerHeroImageButton {
  display: grid !important;
  place-items: center !important;
  width: 132px !important;
  height: 82px !important;
  margin: 0 auto 4px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  cursor: pointer !important;
}

.bannerHeroImage {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 132px !important;
  max-height: 82px !important;
  object-fit: contain !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: drop-shadow(0 8px 13px rgba(0,0,0,.34)) drop-shadow(0 0 9px rgba(255,255,255,.10)) !important;
  pointer-events: none !important;
}

.bannerThumbGrid {
  width: 128px !important;
  gap: 8px !important;
  margin-top: 4px !important;
}

.bannerThumbGrid button {
  height: 60px !important;
  border-radius: 7px !important;
  border: 1px solid rgba(255,255,255,.52) !important;
  background: rgba(255,255,255,.12) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16), 0 6px 12px rgba(0,0,0,.22) !important;
}

.bannerThumbGrid img {
  border-radius: 5px !important;
}

/* Slightly more compact where the timeline already scales down on phones. */
@media (max-width: 900px) {
  .timelineBanner .bannerInner,
  .timelineBanner.lower .bannerInner {
    padding: 30px 16px 18px !important;
    gap: 8px !important;
  }

  .bannerLogoImage {
    max-width: 118px !important;
    max-height: 38px !important;
  }

  .bannerLogo {
    min-height: 38px !important;
    font-size: 38px !important;
  }

  .bannerHeroImageButton {
    width: 126px !important;
    height: 78px !important;
  }

  .bannerHeroImage {
    max-width: 126px !important;
    max-height: 78px !important;
  }

  .bannerThumbGrid {
    width: 124px !important;
    gap: 7px !important;
  }

  .bannerThumbGrid button {
    height: 58px !important;
  }
}


/* banner-data-split-square-thumbs */
.timelineBanner .bannerInner,
.timelineBanner.lower .bannerInner {
  justify-content: flex-start !important;
  gap: 0 !important;
  padding: 30px 18px 20px !important;
}
.bannerHeroImageButton {
  width: 132px !important;
  height: 98px !important;
  margin: 0 auto -1px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.bannerHeroImage {
  max-width: 132px !important;
  max-height: 110px !important;
  object-fit: contain !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.bannerThumbGrid {
  width: 132px !important;
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 8px !important;
  margin: 0 auto !important;
}
.bannerThumbGrid button {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  border-radius: 7px !important;
  overflow: hidden !important;
}
.bannerThumbGrid img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.bannerLogoImage,
.bannerLogo {
  margin-bottom: 2px !important;
}
@media (max-width: 900px) {
  .timelineBanner .bannerInner,
  .timelineBanner.lower .bannerInner {
    padding: 28px 16px 18px !important;
    gap: 0 !important;
  }
  .bannerHeroImageButton {
    width: 128px !important;
    height: 94px !important;
    margin-bottom: -1px !important;
  }
  .bannerHeroImage {
    max-width: 128px !important;
    max-height: 106px !important;
  }
  .bannerThumbGrid {
    width: 128px !important;
    gap: 7px !important;
  }
}


/* banner-overlay-depth-pass:
   - move hero + square thumbs together slightly lower
   - soften the logo glow behind image/text logos
   - support optional per-banner overlay art using bannerOverlayImageUrl in timeline.json */

.timelineBanner {
  overflow: visible !important;
}

.timelineBanner::before {
  content: "" !important;
  position: absolute !important;
  inset: -16px -22px !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background-image: var(--bannerOverlayImage, none) !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 100% 100% !important;
  opacity: var(--bannerOverlayOpacity, .62) !important;
  mix-blend-mode: soft-light !important;
  -webkit-mask: url('/master-banner.webp') center / 100% 100% no-repeat !important;
  mask: url('/master-banner.webp') center / 100% 100% no-repeat !important;
}

.timelineBanner .wash::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    radial-gradient(ellipse at 50% 30%, rgba(255,255,255,.22) 0%, rgba(255,255,255,.10) 28%, rgba(255,255,255,0) 58%),
    radial-gradient(ellipse at 50% 78%, rgba(0,0,0,.20) 0%, rgba(0,0,0,.10) 38%, rgba(0,0,0,0) 68%),
    linear-gradient(90deg, rgba(0,0,0,.20), rgba(0,0,0,0) 18%, rgba(0,0,0,0) 82%, rgba(0,0,0,.20)),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,0,0,0) 34%, rgba(0,0,0,.18) 100%) !important;
  mix-blend-mode: soft-light !important;
  opacity: .95 !important;
}

.bannerLogo,
.bannerLogoImage {
  position: relative !important;
  z-index: 3 !important;
}

.bannerInner::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 48px !important;
  width: 132px !important;
  height: 74px !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
  z-index: 1 !important;
  background:
    radial-gradient(ellipse at center,
      rgba(255,255,255,.25) 0%,
      rgba(255,255,255,.12) 36%,
      rgba(255,255,255,.04) 58%,
      rgba(255,255,255,0) 78%) !important;
  filter: blur(10px) !important;
  border-radius: 999px !important;
}

.bannerHeroImageButton,
.bannerThumbGrid {
  position: relative !important;
  z-index: 3 !important;
  transform: translateY(6px) !important;
}

.bannerHeroImageButton {
  margin-bottom: -1px !important;
}

.bannerThumbGrid button {
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
}

@media (max-width: 900px) {
  .bannerHeroImageButton,
  .bannerThumbGrid {
    transform: translateY(6px) !important;
  }

  .bannerInner::before {
    top: 44px !important;
    width: 124px !important;
    height: 70px !important;
  }
}


/* banner-overlay-alignment-fix-v5:
   Based on the working v4 overlay behavior, plus logo readability improvements.
   - Overlay stays on .timelineBanner::before with inset: 0 for 1:1 alignment.
   - Original banner wash/texture remains untouched.
   - Logo gets larger and gains a stronger readable shadow/glow.
*/

.timelineBanner::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 2 !important;

  background-image: var(--bannerOverlayImage, none) !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 100% 100% !important;

  opacity: var(--bannerOverlayOpacity, .62) !important;
  mix-blend-mode: multiply !important;

  -webkit-mask: none !important;
  mask: none !important;
}

/* Keep original banner wash/texture stack untouched. */
.timelineBanner .wash::before,
.timelineBanner .wash::after {
  /* intentionally no background overrides here */
}

/* Keep all readable/banner content above the overlay. */
.timelineBanner .bannerInner,
.timelineBanner .connector,
.timelineBanner .bannerHeroImageButton,
.timelineBanner .bannerThumbGrid,
.timelineBanner .bannerLogo,
.timelineBanner .bannerLogoImage {
  position: relative !important;
  z-index: 5 !important;
}

/* Bigger logo, with stronger separation from the new darker overlay. */
.bannerLogoImage {
  max-width: 146px !important;
  max-height: 52px !important;
  filter:
    drop-shadow(0 2px 2px rgba(0,0,0,.75))
    drop-shadow(0 0 8px rgba(0,0,0,.72))
    drop-shadow(0 0 14px rgba(255,255,255,.28)) !important;
}

/* Fallback text logo also gets clearer if an entry does not have logoImageUrl. */
.bannerLogo {
  font-size: 1.08em !important;
  text-shadow:
    0 2px 2px rgba(0,0,0,.85),
    0 0 8px rgba(0,0,0,.75),
    0 0 14px rgba(255,255,255,.32) !important;
}

/* Strengthen and slightly enlarge the soft glow behind the logo,
   but keep it diffused rather than a hard circle. */
.bannerInner::before {
  top: 45px !important;
  width: 156px !important;
  height: 84px !important;
  background:
    radial-gradient(ellipse at center,
      rgba(255,255,255,.32) 0%,
      rgba(255,255,255,.16) 34%,
      rgba(0,0,0,.12) 56%,
      rgba(0,0,0,0) 82%) !important;
  filter: blur(12px) !important;
  opacity: .95 !important;
}

@media (max-width: 900px) {
  .bannerLogoImage {
    max-width: 140px !important;
    max-height: 50px !important;
  }

  .bannerInner::before {
    top: 42px !important;
    width: 148px !important;
    height: 80px !important;
  }
}
/* Banner logo transparency */
.bannerLogoImage {
  opacity: 0.60 !important;
}
.bannerHeroImage {
  opacity: 0.90 !important;
}
/* Banner thumbnail transparency */
.bannerThumbGrid img {
  opacity: 0.82 !important;
}
.bannerThumbGrid {
  width: 125px !important;
  gap: 15px !important;
}

.bannerThumbGrid button {
  width: 50px !important;
  height: 50px !important;
}
.bannerThumbGrid {
  transform: translateY(9px) !important;
}
/* Banner logo sizing */
.bannerLogoImage {
  transform: scale(1.25) !important;
  transform-origin: center center !important;
  transform: translateY(9px) !important;
  opacity: 0.50
  !important;
}


/* premium-banner-simplification-pass:
   The banner is now a quiet project marker: dark color field, one hero image,
   one logo, and no competing thumbnail grid. Timeline dates remain outside. */

.timelineStage {
  --bannerWidth: 196px !important;
  --bannerHeight: 360px !important;
  --connectorLength: 54px !important;
  --bannerHeroWidth: 148px !important;
  --bannerHeroHeight: 230px !important;
}

.timelineBanner {
  width: var(--bannerWidth) !important;
  height: var(--bannerHeight) !important;
  filter: drop-shadow(0 18px 30px rgba(42,33,24,.18)) !important;
}

.timelineBanner.selected {
  filter:
    drop-shadow(0 20px 34px rgba(23,32,38,.24))
    drop-shadow(0 0 18px rgba(255,255,255,.18)) !important;
}

.timelineBanner .wash {
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  width: var(--bannerWidth) !important;
  height: var(--bannerHeight) !important;
  transform: translate(-50%, -50%) !important;
  transform-origin: center center !important;
  opacity: 1 !important;
  background:
    radial-gradient(ellipse at 50% 20%, rgba(255,255,255,.16), rgba(255,255,255,0) 42%),
    linear-gradient(180deg, rgba(255,255,255,.09), rgba(0,0,0,.18) 44%, rgba(0,0,0,.42)),
    var(--bannerColor) !important;
  filter: brightness(.58) saturate(.78) contrast(1.08) !important;
  mask-size: 100% 100% !important;
  -webkit-mask-size: 100% 100% !important;
}

.timelineBanner.lower .wash {
  transform: translate(-50%, -50%) rotate(180deg) !important;
}

.timelineBanner .wash::before {
  background:
    linear-gradient(90deg, rgba(0,0,0,.36), rgba(0,0,0,0) 22%, rgba(0,0,0,0) 78%, rgba(0,0,0,.36)),
    radial-gradient(ellipse at 50% 72%, rgba(0,0,0,.24), rgba(0,0,0,0) 62%) !important;
  mix-blend-mode: multiply !important;
  opacity: .72 !important;
}

.timelineBanner .wash::after {
  opacity: .22 !important;
  mix-blend-mode: soft-light !important;
}

.timelineBanner::before {
  inset: 22px 20px 24px !important;
  z-index: 1 !important;
  border-radius: 26px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.025)),
    var(--bannerOverlayImage, none) center / cover no-repeat !important;
  opacity: var(--bannerOverlayOpacity, .20) !important;
  mix-blend-mode: soft-light !important;
  -webkit-mask: none !important;
  mask: none !important;
}

.bannerInner,
.timelineBanner.lower .bannerInner {
  position: relative !important;
  z-index: 4 !important;
  height: 100% !important;
  padding: 34px 20px 28px !important;
  display: grid !important;
  grid-template-rows: 54px minmax(0, 1fr) !important;
  align-items: center !important;
  justify-items: center !important;
  gap: 12px !important;
  text-align: center !important;
  text-shadow: none !important;
}

.bannerInner::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 54% !important;
  width: 150px !important;
  height: 190px !important;
  transform: translate(-50%, -50%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
  border-radius: 34px !important;
  background:
    radial-gradient(ellipse at 50% 36%, rgba(255,255,255,.16), rgba(255,255,255,.05) 42%, rgba(0,0,0,.22) 100%) !important;
  filter: blur(14px) !important;
  opacity: .72 !important;
}

.bannerInner h2,
.bannerInner strong,
.bannerInner p,
.bannerThumbGrid {
  display: none !important;
}

.bannerLogo,
.bannerLogoImage,
.bannerHeroImageButton {
  position: relative !important;
  z-index: 5 !important;
}

.bannerLogoImage {
  display: block !important;
  width: auto !important;
  max-width: 146px !important;
  max-height: 48px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  opacity: .82 !important;
  transform: none !important;
  filter:
    drop-shadow(0 2px 4px rgba(0,0,0,.64))
    drop-shadow(0 0 10px rgba(255,255,255,.12)) !important;
}

.bannerLogo {
  min-height: 48px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 auto !important;
  color: rgba(255,255,255,.88) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 34px !important;
  line-height: .95 !important;
  letter-spacing: .02em !important;
  text-shadow: 0 2px 7px rgba(0,0,0,.58) !important;
  filter: none !important;
}

.timelineBanner.lower .bannerLogo {
  margin: 0 auto !important;
}

.bannerHeroImageButton {
  width: var(--bannerHeroWidth) !important;
  height: var(--bannerHeroHeight) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  transform: none !important;
  align-self: end !important;
  justify-self: center !important;
  align-items: end !important;
}

.bannerHeroImage {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  opacity: .96 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter:
    drop-shadow(0 16px 18px rgba(0,0,0,.34))
    drop-shadow(0 3px 4px rgba(0,0,0,.30)) !important;
  pointer-events: none !important;
}

.shippedCreditsStrip {
  opacity: .88 !important;
}

.shippedCreditsStrip img {
  filter: saturate(.92) contrast(.96) !important;
}

@media (max-width: 900px) {
  .timelineStage {
    --bannerWidth: 184px !important;
    --bannerHeight: 340px !important;
    --connectorLength: 42px !important;
    --bannerHeroWidth: 140px !important;
    --bannerHeroHeight: 214px !important;
  }

  .timelineBanner {
    width: 184px !important;
  }

  .bannerInner,
  .timelineBanner.lower .bannerInner {
    padding: 30px 18px 24px !important;
    grid-template-rows: 50px minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  .bannerLogoImage {
    max-width: 136px !important;
    max-height: 44px !important;
  }

  .bannerLogo {
    min-height: 44px !important;
    font-size: 31px !important;
  }

  .bannerHeroImageButton {
    width: var(--bannerHeroWidth) !important;
    height: var(--bannerHeroHeight) !important;
  }
}


/* clean-banner-rebuild:
   Replace the old masked/painted banner stack with one predictable rectangle.
   Coordinate system:
   - Full banner body: 196 x 360
   - Logo slot: centered 132 x 54 at y=78
   - Hero slot: centered 160 x 202 at y=142
   Export hero art at 320 x 404 for a 2x pixel-perfect source. */

.timelineStage {
  --bannerWidth: 196px !important;
  --bannerHeight: 360px !important;
  --bannerLogoWidth: 132px !important;
  --bannerLogoHeight: 54px !important;
  --bannerLogoTop: 78px !important;
  --bannerHeroWidth: 160px !important;
  --bannerHeroHeight: 202px !important;
  --bannerHeroBottom: 16px !important;
}

.timelineBanner {
  width: var(--bannerWidth) !important;
  height: var(--bannerHeight) !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0) 38%, rgba(0,0,0,.20) 100%),
    radial-gradient(ellipse at 50% 38%, rgba(255,255,255,.08), rgba(255,255,255,0) 54%),
    var(--bannerColor) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -42px 60px rgba(0,0,0,.22),
    inset 0 0 70px rgba(0,0,0,.15),
    0 18px 34px rgba(34,27,20,.18) !important;
  filter: none !important;
}

.timelineBanner.selected {
  filter: none !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 -42px 60px rgba(0,0,0,.22),
    inset 0 0 70px rgba(0,0,0,.15),
    0 20px 38px rgba(34,27,20,.22),
    0 0 0 1px rgba(255,255,255,.12) !important;
}

.timelineBanner .wash,
.timelineBanner .wash::before,
.timelineBanner .wash::after,
.timelineBanner::before,
.bannerInner::before,
.timelineBanner .connector {
  display: none !important;
}

.timelineBanner.lower {
  transform: translate(-50%) !important;
}

.timelineBanner.lower.selected {
  transform: translate(-50%) translateY(4px) !important;
}

.bannerInner,
.timelineBanner.lower .bannerInner {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
  color: #fff !important;
  text-shadow: none !important;
}

.bannerInner h2,
.bannerInner strong,
.bannerInner p,
.bannerThumbGrid {
  display: none !important;
}

.bannerLogo,
.bannerLogoImage {
  position: absolute !important;
  z-index: 4 !important;
  left: 50% !important;
  top: var(--bannerLogoTop) !important;
  width: var(--bannerLogoWidth) !important;
  height: var(--bannerLogoHeight) !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  transform: translateX(-50%) !important;
}

.bannerLogoImage {
  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;
  opacity: .82 !important;
  filter:
    drop-shadow(0 2px 3px rgba(0,0,0,.58))
    drop-shadow(0 0 8px rgba(255,255,255,.13)) !important;
}

.bannerLogo {
  display: grid !important;
  place-items: center !important;
  color: rgba(255,255,255,.88) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 32px !important;
  line-height: .95 !important;
  letter-spacing: .02em !important;
  text-shadow: 0 2px 7px rgba(0,0,0,.54) !important;
}

.bannerHeroImageButton {
  position: absolute !important;
  z-index: 3 !important;
  left: 50% !important;
  top: auto !important;
  bottom: var(--bannerHeroBottom) !important;
  width: var(--bannerHeroWidth) !important;
  height: var(--bannerHeroHeight) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
  transform: translateX(-50%) !important;
}

.bannerHeroImage {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  opacity: .94 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  pointer-events: none !important;
}

@media (max-width: 900px) {
  .timelineStage {
    --bannerWidth: 184px !important;
    --bannerHeight: 340px !important;
    --bannerLogoWidth: 124px !important;
    --bannerLogoHeight: 50px !important;
    --bannerLogoTop: 72px !important;
    --bannerHeroWidth: 150px !important;
    --bannerHeroHeight: 190px !important;
    --bannerHeroBottom: 16px !important;
  }

  .timelineBanner {
    width: var(--bannerWidth) !important;
    height: var(--bannerHeight) !important;
  }
}


/* image-based-timeline-banners-v1
   Single precomposited banner image per project.
   Add/update `bannerImageUrl` in timeline.json for each gallery banner.
   Default working asset size: 392 x 1188px, displayed at 196 x 594px. */
.timelineStage {
  --bannerHeight: 594px !important;
  --connectorLength: 12px !important;
}

.timelineBanner.imageTimelineBanner,
.timelineBanner.imageTimelineBanner.upper,
.timelineBanner.imageTimelineBanner.lower {
  width: 196px !important;
  height: 594px !important;
  padding: 0 !important;
  overflow: visible !important;
  isolation: isolate !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: drop-shadow(0 10px 22px rgba(0,0,0,.26)) !important;
  transform-origin: center bottom !important;
  transform: translate(-50%) translateY(calc(var(--bannerOffset, 0px) * -1)) scale(var(--timelineResponsiveScale, 1)) !important;
  transition: transform .18s ease, filter .18s ease !important;
}

.timelineBanner.imageTimelineBanner.selected,
.timelineBanner.imageTimelineBanner.lower.selected {
  transform: translate(-50%) translateY(calc(var(--bannerOffset, 0px) * -1 - 4px)) scale(var(--timelineResponsiveScale, 1)) !important;
  filter: drop-shadow(0 14px 28px rgba(0,0,0,.32)) !important;
}

.timelineBanner.imageTimelineBanner:hover,
.timelineBanner.imageTimelineBanner:focus-within,
.timelineBanner.imageTimelineBanner.lower:hover,
.timelineBanner.imageTimelineBanner.lower:focus-within {
  transform: translate(-50%) translateY(calc(var(--bannerOffset, 0px) * -1 - 8px)) scale(var(--timelineResponsiveScale, 1)) !important;
  filter: drop-shadow(0 18px 34px rgba(0,0,0,.34)) !important;
}

.timelineBanner.imageTimelineBanner .wash,
.timelineBanner.imageTimelineBanner .connector,
.timelineBanner.imageTimelineBanner .bannerInner,
.timelineBanner.imageTimelineBanner .bannerThumbGrid,
.timelineBanner.imageTimelineBanner .bannerHeroImageButton,
.timelineBanner.imageTimelineBanner .bannerLogo,
.timelineBanner.imageTimelineBanner .bannerLogoImage,
.timelineBanner.imageTimelineBanner::before,
.timelineBanner.imageTimelineBanner::after {
  display: none !important;
  content: none !important;
}

.timelineBannerImageButton {
  display: block !important;
  width: 90% !important;
  height: 90% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.timelineBannerImage {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  border: 0 !important;
  border-radius: 0 !important;
  max-width: none !important;
  max-height: none !important;
  transform: none !important;
  opacity: 1 !important;
  filter: none !important;
}

.timelineBannerImageButton.missingBannerImage {
  display: grid !important;
  place-items: center !important;
  color: #fff !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--bannerColor, #1b2430) 60%, #000), #05070a) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  text-align: center !important;
  padding: 18px !important;
}

@media (max-height: 900px),(max-width: 1500px){
  .timelineStage{--timelineResponsiveScale:.82 !important;}
}
@media (max-height: 780px),(max-width: 1200px){
  .timelineStage{--timelineResponsiveScale:.72 !important;}
}
@media (max-height: 680px),(max-width: 760px){
  .timelineStage{--timelineResponsiveScale:.62 !important;min-width:1500px;width:1500px;}
}
/* Center image-based banners on the timeline marker */
.imageTimelineBanner {
  --bannerDisplayWidth: 196px;
  --bannerDisplayHeight: 594px;
  --bannerImageScale: 0.92;
  --bannerImageNudgeX: 0px;
  --bannerImageLift: 32px;

  width: var(--bannerDisplayWidth) !important;
  height: var(--bannerDisplayHeight) !important;

  left: var(--x, 50%);
  transform: translateX(-50%) !important;

  overflow: visible !important;
  background: transparent !important;
}

.imageTimelineBanner .timelineBannerImage {
  position: absolute !important;
  left: 50% !important;
  bottom: var(--bannerImageLift) !important;

  width: 100% !important;
  height: 100% !important;

  object-fit: contain !important;
  object-position: center bottom !important;

  transform:
    translateX(calc(-50% + var(--bannerImageNudgeX)))
    scale(var(--bannerImageScale)) !important;

  transform-origin: center bottom !important;
  display: block !important;
}
/* =========================================
   CLEAN PREMIUM TIMELINE PASS
   Solid black axis, markers, and tails
   ========================================= */

.timelineAxis {
  z-index: 2;
}

.axisLine {
  top: 28px !important;
  height: 2px !important;
  background: #000 !important;
  opacity: 1 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Year labels */
.yearTick {
  color: #111 !important;
}

.yearTick strong {
  color: #111 !important;
  font-family: Georgia, serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
}

/* Remove the old decorative diamond tick style */
.tickOrnament {
  width: 10px !important;
  height: 10px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #000 !important;
  box-shadow: none !important;
  transform: translate(-50%, -50%) !important;
}

.tickOrnament:after {
  display: none !important;
}

/* Main timeline markers */
.timelineMarker {
  width: 16px !important;
  height: 16px !important;
  top: 28px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: #000 !important;
  box-shadow:
    0 0 0 3px rgba(255,255,255,0.92),
    0 4px 10px rgba(0,0,0,0.14) !important;
}

.timelineMarker:before,
.timelineMarker:after {
  display: none !important;
}

.timelineMarker.selected {
  width: 18px !important;
  height: 18px !important;
  background: #000 !important;
  box-shadow:
    0 0 0 4px rgba(255,255,255,0.96),
    0 6px 14px rgba(0,0,0,0.18) !important;
}

/* Optional subtle hover polish */
.timelineBanner:hover + .timelineMarker,
.timelineMarker:hover {
  box-shadow:
    0 0 0 4px rgba(255,255,255,0.96),
    0 8px 18px rgba(0,0,0,0.18) !important;
}

/* Bring back clean connector tails */
.timelineBanner .connector {
  display: block !important;
  left: 50% !important;
  width: 2px !important;
  height: var(--connectorLength) !important;
  margin-left: -1px !important;
  background: #000 !important;
  opacity: 1 !important;
  box-shadow: none !important;
  z-index: -1 !important;
}

.timelineBanner.upper .connector {
  bottom: calc(var(--connectorLength) * -1) !important;
  top: auto !important;
}

.timelineBanner.lower .connector {
  top: calc(var(--connectorLength) * -1) !important;
  bottom: auto !important;
}

/* Make connector length feel a little more intentional */
.timelineStage {
  --connectorLength: 28px !important;
}

/* If you want banner stems to visually tuck into the image banners a bit */
.imageTimelineBanner .connector {
  opacity: 1 !important;
}

/* Keep dates and markers clean over the background */
.timelineAxis,
.yearTick,
.timelineMarker {
  filter: none !important;
}
/* =========================================
   FINAL MARKER + TAIL CLEANUP
   Remove white rings, force black tails
   ========================================= */

/* Solid black timeline line */
.axisLine {
  background: #000 !important;
  height: 2px !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

/* Solid black markers, no white outer circle */
.timelineMarker,
.timelineMarker.selected {
  width: 18px !important;
  height: 18px !important;
  background: #000 !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Remove any pseudo-ring or old ornament */
.timelineMarker::before,
.timelineMarker::after {
  display: none !important;
  content: none !important;
}

/* Force the vertical tails to black */
.markerTail {
  width: 2px !important;
  background: #000 !important;
  opacity: 1 !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Remove the little glow/dot at the top of the tail */
.markerTail::after {
  display: none !important;
  content: none !important;
}

/* If any old connector system is still rendering, force it black too */
.timelineBanner .connector,
.imageTimelineBanner .connector,
.cleanTimelineBanner .connector {
  display: block !important;
  width: 2px !important;
  background: #000 !important;
  opacity: 1 !important;
  box-shadow: none !important;
  filter: none !important;
}
/* =========================================
   PREMIUM FADED TIMELINE + TAILS
   Black center with soft faded ends
   ========================================= */

/* Horizontal timeline with faded left/right ends */
.axisLine {
  background: linear-gradient(
    90deg,
    transparent 0%,
    #000 5%,
    #000 95%,
    transparent 100%
  ) !important;
}

/* Vertical banner tails with soft fade at the top */
/* Softer vertical tail fade */
.markerTail {
  width: 2px !important;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,0.08) 12%,
    rgba(0,0,0,0.28) 28%,
    rgba(0,0,0,0.65) 48%,
    rgba(0,0,0,1) 72%,
    rgba(0,0,0,1) 100%
  ) !important;
  opacity: 1 !important;
}
/* Remove any old tail glow/dot */
.markerTail::after {
  display: none !important;
  content: none !important;
}

/* If any connector tails are still rendering instead of markerTail */
.timelineBanner .connector,
.imageTimelineBanner .connector,
.cleanTimelineBanner .connector {
  width: 2px !important;
  opacity: 1 !important;
  box-shadow: none !important;
  filter: none !important;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    rgba(0,0,0,0.18) 10%,
    #000 28%,
    #000 100%
  ) !important;
}
/* =========================================
   FORCE TAIL FADE WITH MASK
   Works even if background is overridden
   ========================================= */

.markerTail,
.timelineBanner .connector,
.imageTimelineBanner .connector,
.cleanTimelineBanner .connector {
  width: 2px !important;
  background: #000 !important;
  opacity: 1 !important;
  box-shadow: none !important;
  filter: none !important;

  /* fade the visible shape itself */
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 45%,
    black 100%
  ) !important;
  mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 45%,
    black 100%
  ) !important;
}

/* Remove old glow/dot */
.markerTail::after,
.timelineBanner .connector::after,
.imageTimelineBanner .connector::after,
.cleanTimelineBanner .connector::after {
  display: none !important;
  content: none !important;
}
/* =========================================
   FORCE REMOVE COVER BOX / GLASS / SHADOW
   ========================================= */

/* Shipped cover wrapper */
.shippedCredit,
.shippedCredit:hover,
.shippedCredit:focus-visible {
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Remove wrapper pseudo-elements */
.shippedCredit::before,
.shippedCredit::after {
  display: none !important;
  content: none !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Actual cover image */
.shippedCredit img,
.shippedCredit:hover img,
.shippedCredit:focus-visible img {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  outline: 0 !important;
}

/* If the old game-cover system is still being rendered anywhere */
.gameCoverBanner,
.gameCoverBanner:hover,
.gameCoverBanner:focus-within,
.coverImageButton,
.coverImageButton:hover,
.coverImageButton:focus-visible {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  outline: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Old cover image styling */
.coverImageButton img,
.coverImageButton:hover img,
.coverImageButton:focus-visible img {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}
/* =========================================
   COVER DATE CLEANUP
   Bring dates closer + make text black
   ========================================= */

.shippedCredit {
  gap: 3px !important;
  color: #000 !important;
}

.shippedYear {
  order: 2 !important;
  margin-top: 2px !important;
  color: #000 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-shadow: none !important;
}

/* Make all shipped cover text black */
.shippedCredit,
.shippedCredit span,
.shippedCredit .shippedYear {
  color: #000 !important;
  text-shadow: none !important;
}

/* If the date still feels too far away, pull it upward */
.shippedYear {
  transform: translateY(-20px) !important;
}
/* =========================================
   TIMELINE DATE COLOR CLEANUP
   Make timeline dates black
   ========================================= */

.markerDateLabel,
.yearTick,
.yearTick strong,
.timelineAxis .markerDateLabel,
.timelineAxis .yearTick,
.timelineAxis .yearTick strong {
  color: #000 !important;
  text-shadow: none !important;
  filter: none !important;
}

/* If any date is inside/near markers as a span */
.timelineMarker + span,
.timelineMarker ~ span {
  color: #000 !important;
  text-shadow: none !important;
}
/* =========================================
   GALLERY POPUP SIZE CONTROL
   Adjust one variable to scale the whole popup
   ========================================= */

.galleryViewer,
.galleryViewer.conceptGallery {
  --galleryPopupScale: 0.65;

  transform: scale(var(--galleryPopupScale)) !important;
  transform-origin: center center !important;
}
/* =========================================
   REMOVE WHITE FADE FROM GALLERY ART VIEW
   ========================================= */

.galleryViewer.conceptGallery .artworkFrame::after,
.galleryViewer.conceptGallery .artworkFrame:after,
.artworkFrame::after,
.artworkFrame:after {
  display: none !important;
  content: none !important;
  background: none !important;
  box-shadow: none !important;
  opacity: 0 !important;
}
.galleryViewer.conceptGallery .artworkFrame,
.artworkFrame {
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

.galleryViewer.conceptGallery .artworkFrame > img,
.artworkFrame > img {
  filter: none !important;
  opacity: 1 !important;
}
/* =========================================
   SOFT BANNER SHADOW
   Adds depth to image-based timeline banners
   ========================================= */

.imageTimelineBanner,
.cleanTimelineBanner {
  filter:
    drop-shadow(0 14px 22px rgba(0, 0, 0, 0.22))
    drop-shadow(0 4px 8px rgba(0, 0, 0, 0.14)) !important;
}
/* =========================================
   SMALLER PREMIUM TIMELINE MARKERS
   ========================================= */

.timelineMarker,
.timelineMarker.selected {
  width: 11px !important;
  height: 11px !important;
  background: #000 !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Keep marker centered on the timeline line */
.timelineMarker {
  top: 28px !important;
  transform: translate(-50%, -50%) !important;
}

/* Remove any old pseudo-circle/ring */
.timelineMarker::before,
.timelineMarker::after {
  display: none !important;
  content: none !important;
}

/* Slightly larger selected state, still restrained */
.timelineMarker.selected {
  width: 13px !important;
  height: 13px !important;
}

/* Optional: make the vertical tail match the smaller marker */
.markerTail {
  width: 1.5px !important;
  transform: translate(-50%) translateY(calc(-100% - 4px)) !important;
}

/* If connector tails are also rendering */
.timelineBanner .connector,
.imageTimelineBanner .connector,
.cleanTimelineBanner .connector {
  width: 1.5px !important;
}
@media (max-width: 780px), (pointer: coarse) and (max-width: 940px) {
  .bannerLayer,
  .timelineAxis,
  .shippedCreditsStrip {
    transform: translateY(120px) !important;
  }
}
/* =========================================
   PORTFOLIO PAGE CENTERING PASS
   Centers portfolio cards in the viewport
   ========================================= */

.portfolioViewport {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.portfolioPage {
  min-width: 100% !important;
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding-left: 72px !important;
  padding-right: 72px !important;
}

.portfolioGrid {
  margin: 0 auto !important;
  justify-content: center !important;
  align-items: center !important;
}
/* =========================================
   LEFT NAV: TEXT BUTTONS IN SMALL BOXES
   ========================================= */

/* Hide only the old nav icons */
.pageNavButton .pageNavIcon,
.pageNavButton .timelineNavIcon,
.pageNavButton .portfolioNavIcon {
  display: none !important;
}

/* Keep the nav buttons centered inside the sidebar */
.pageNavButtons {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  align-items: center !important;
  justify-content: center !important;
  padding-bottom: 10px !important;
}

/* Small contained text boxes */
.pageNavButton {
  width: 58px !important;
  height: 30px !important;
  padding: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 5px !important;
  background: rgba(255,255,255,.08) !important;
  box-shadow: none !important;

  overflow: hidden !important;
  opacity: .78 !important;
  transform: none !important;
}

/* Text style */
.pageNavButton::after {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 8px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.9) !important;
  text-shadow: 0 1px 4px rgba(0,0,0,.45) !important;
  white-space: nowrap !important;
}

/* Labels */
.pageNavButton:nth-child(1)::after {
  content: "TIMELINE" !important;
}

.pageNavButton:nth-child(2)::after {
  content: "PORTFOLIO" !important;
}

/* Hover / active */
.pageNavButton:hover,
.pageNavButton:focus-visible,
.pageNavButton.active {
  opacity: 1 !important;
  background: rgba(255,255,255,.16) !important;
  border-color: rgba(255,255,255,.45) !important;
  box-shadow: 0 0 10px rgba(255,255,255,.14) !important;
  transform: none !important;
}

/* Remove underline from previous version */
.pageNavButton.active::after {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.pageNavButton {
  width: 62px !important;
  height: 30px !important;
}
/* =========================================
   MOBILE: MATCH DESKTOP TEXT NAV BUTTONS
   ========================================= */

@media (max-width: 780px), (pointer: coarse) and (max-width: 940px) {
  .leftNav .pageNavButtons {
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    padding-bottom: 0 !important;
  }

  .leftNav .pageNavButton {
    width: 62px !important;
    height: 30px !important;
    min-width: 62px !important;
    min-height: 30px !important;

    padding: 0 !important;
    border-radius: 5px !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    background: rgba(255,255,255,.08) !important;
    box-shadow: none !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    overflow: hidden !important;
    opacity: .78 !important;
    transform: none !important;
  }

  .leftNav .pageNavButton::after {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 7px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,.9) !important;
    text-shadow: 0 1px 4px rgba(0,0,0,.45) !important;
    white-space: nowrap !important;
  }

  .leftNav .pageNavButton:hover,
  .leftNav .pageNavButton:focus-visible,
  .leftNav .pageNavButton.active {
    opacity: 1 !important;
    background: rgba(255,255,255,.16) !important;
    border-color: rgba(255,255,255,.45) !important;
    box-shadow: 0 0 10px rgba(255,255,255,.14) !important;
    transform: none !important;
  }

  .leftNav .pageNavButton.active::after {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}
.portfolioViewport {
  position: absolute !important;
  isolation: isolate !important;
  overflow: auto !important;
}


/* =========================================
   PORTFOLIO PAGE: USE JSON RAINBOW SETTINGS
   ========================================= */

.portfolioViewport {
  position: absolute !important;
  isolation: isolate !important;
  background: transparent !important;
}

.portfolioViewport::before {
  content: "" !important;
  position: fixed !important;
  left: 72px !important;
  right: 0 !important;
  top: 50% !important;

  height: var(--rainbowBackgroundHeight, 1200px) !important;
  transform: translateY(-50%) !important;

  z-index: 0 !important;
  pointer-events: none !important;

  background-image: var(--rainbowBackgroundImage, url(/rainbowbackgound.webp)) !important;
  background-position: center center !important;
  background-size: var(--rainbowBackgroundScale, 118% auto) !important;
  background-repeat: no-repeat !important;

  opacity: var(--rainbowBackgroundOpacity, .78) !important;
  mix-blend-mode: multiply !important;
}

/* Hide portfolio rainbow if rainbow is disabled */
.appShell.rainbowBackgroundOff .portfolioViewport::before {
  display: none !important;
}

/* Keep portfolio content above the rainbow */
.portfolioPage,
.portfolioGrid,
.portfolioCard {
  position: relative !important;
  z-index: 1 !important;
}
/* Replace existing timeline header text visually */

.tapestryHeader p,
.tapestryHeader h1 {
  font-size: 0 !important;
}

.tapestryHeader p::after {
  content: "CAREER TIMELINE" !important;
  font-size: 11px !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: rgba(0,0,0,.72) !important;
}

.tapestryHeader h1::after {
  content: "A career spent building worlds, guiding teams, and shaping the visual language of memorable games. " !important;
  font-size: 18px !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  color: rgba(0,0,0,.66) !important;
}
/* =========================================
   GALLERY FIX v6
   - Main image auto-fits inside the art frame.
   - Thumbnail rail keeps all 71 thumbnails in one normal vertical scroll list.
   - Does not move the decorative gallery layout.
   ========================================= */

.galleryViewer.conceptGallery .galleryThumbStrip {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  padding-left: 6px !important;
  padding-right: 6px !important;
  box-sizing: border-box !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  scroll-padding-top: 12px !important;
  scroll-padding-bottom: 12px !important;
  scrollbar-width: thin !important;
}

.galleryViewer.conceptGallery .galleryThumbStrip button {
  flex: 0 0 76px !important;
  width: 100% !important;
  height: 76px !important;
  min-height: 76px !important;
  max-height: 76px !important;
  padding: 2px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.galleryViewer.conceptGallery .galleryThumbStrip button:first-child {
  margin-top: 2px !important;
}

.galleryViewer.conceptGallery .galleryThumbStrip button:last-child {
  margin-bottom: 2px !important;
}

.galleryViewer.conceptGallery .galleryThumbStrip img,
.galleryViewer.conceptGallery .galleryThumbStrip button img {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 3px !important;
}

.galleryViewer.conceptGallery .artworkFrame {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

.galleryViewer.conceptGallery .artworkFrame > img,
.galleryViewer.conceptGallery .artworkFrame>img,
.artworkFrame > img,
.artworkFrame>img {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
}
/* Gallery thumbnail rail: square thumbnails */
.galleryViewer.conceptGallery .galleryThumbStrip button {
  flex: 0 0 auto !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  max-height: none !important;
}

.galleryViewer.conceptGallery .galleryThumbStrip img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}
/* Gallery image area: dark backing behind non-matching image ratios */
.galleryViewer.conceptGallery .artworkFrame {
  background: #020202 !important;
}

/* Main artwork stays fully visible */
.galleryViewer.conceptGallery .artworkFrame > img {
  object-fit: contain !important;
  object-position: center !important;
}

/* Remove/lighten the inner edge haze over the black background */
.galleryViewer.conceptGallery .artworkFrame:after {
  background:
    linear-gradient(90deg, #02020266, #02020200 3.2%, #02020200 96.8%, #02020266),
    linear-gradient(180deg, #02020266, #02020200 3.6%, #02020200 96.4%, #02020266),
    radial-gradient(ellipse at center, #fff0 68%, #00000026) !important;
}
/* Stronger blur/dimming behind the gallery popup */
.galleryOverlay {
  backdrop-filter: blur(34px) brightness(.42) saturate(.7) !important;
  -webkit-backdrop-filter: blur(34px) brightness(.42) saturate(.7) !important;
  background: rgba(0, 0, 0, .34) !important;
}
/* Desktop left nav layout:
   Burger menu first, page buttons underneath, Chad Hamlet below buttons */
@media (min-width: 901px) {
  .leftNav {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
  }

  .hamburger {
    order: 1 !important;
    margin-bottom: 0 !important;
  }

  .pageNavButtons,
  .navPageIcons {
    order: 2 !important;
    margin-top: 0 !important;
    margin-bottom: 18px !important;
  }

  .verticalName {
    order: 3 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .verticalCreative,
  .navThumbs,
  .navThumb {
    display: none !important;
  }
}
/* Desktop left nav: restore uniform text buttons, then scale the whole button group */
@media (min-width: 901px) {
  .leftNav {
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 0 !important;
  }

  .hamburger {
    order: 1 !important;
    margin-bottom: 12px !important;
  }

  .pageNavButtons {
    order: 2 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 9px !important;

    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 4px !important;

    /* Scale the two buttons together as one unit */
    transform: scale(0.95) !important;
    transform-origin: top center !important;
  }

.pageNavButton {
  width: 66px !important;
  height: 36px !important;
  min-width: 66px !important;
  min-height: 36px !important;
  max-width: 66px !important;
  max-height: 36px !important;

  padding: 0 4px !important;

    padding: 0 4px !important;
    box-sizing: border-box !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    writing-mode: horizontal-tb !important;
    transform: none !important;

    overflow: hidden !important;
    white-space: nowrap !important;

    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
  }

  .pageNavButton:hover,
  .pageNavButton:focus-visible,
  .pageNavButton.active {
    transform: none !important;
  }

  .verticalName {
    order: 3 !important;
    margin-top: 2px !important;
    margin-bottom: 0 !important;
  }
}

/* =========================================================
   TIMELINE TITLE REAL ELEMENT PASS v18
   Clean rebuild:
   - Removed the old pseudo-element title experiments entirely.
   - Leaves the original timeline/rainbow/cover positioning untouched.
   - Adds title/subtitle as a real DOM element.
   - Adds Shipped Titles label without wrapping or moving covers.
   ========================================================= */

/* Keep the old hidden header hidden. */
.tapestryHeader,
.tapestryHeader p,
.tapestryHeader h1 {
  display: none !important;
}

/* Real, non-conflicting timeline title. */
.timelinePageTitle {
  position: fixed !important;
  left: 118px !important;
  top: 34px !important;
  z-index: 120 !important;
  pointer-events: none !important;
  width: min(780px, calc(100vw - 210px)) !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.72), 0 8px 22px rgba(255,255,255,.42) !important;
}

.timelinePageTitle h1 {
  margin: 0 !important;
  padding: 0 !important;
  font-family: "Cormorant Garamond", "Palatino Linotype", "Book Antiqua", Georgia, serif !important;
  font-size: clamp(30px, 2.7vw, 48px) !important;
  line-height: 1 !important;
  font-weight: 300 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: rgba(92, 88, 82, .58) !important;
}

.timelinePageTitle p {
  margin: 12px 0 0 !important;
  padding: 0 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(14px, 1.02vw, 18px) !important;
  line-height: 1.38 !important;
  font-weight: 400 !important;
  letter-spacing: .018em !important;
  color: rgba(92, 88, 82, .54) !important;
}

/* Shipped Titles label: no wrapper, no layout movement. */
.shippedCreditsStrip {
  overflow: visible !important;
}

.shippedCreditsStrip::after {
  content: "Shipped Titles" !important;
  position: absolute !important;
  left: 50% !important;
  top: calc(100% + 26px) !important;
  transform: translateX(-50%) !important;
  z-index: 200 !important;
  display: block !important;
  pointer-events: none !important;
  color: rgba(25, 21, 17, .66) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.82), 0 8px 18px rgba(255,255,255,.42) !important;
}

/* Mobile: title hides so it does not overlap banners. */
@media (max-width: 780px), (pointer: coarse) and (max-width: 940px) {
  .timelinePageTitle {
    display: none !important;
  }

  .shippedCreditsStrip::after {
    top: calc(100% + 18px) !important;
    font-size: 12px !important;
    letter-spacing: .18em !important;
  }
}
@media (max-width: 780px), (pointer: coarse) and (max-width: 940px) {
  .markerDateLabel,
  .timelineAxis .markerDateLabel {
    transform: translate(-50%, 6px) !important;
  }
}

/* =========================================================
   SOLID BLUE GALLERY VIEWER TEST PASS
   Purpose:
   - Removes the see-through/glassy gallery shell feeling.
   - Keeps the blue mood from the sidebar.
   - Makes the gallery frame a solid dark display case.
   - Darkens/softens the page behind the modal so thumbnails
     and the main collage do not visually blend into the site.
   ========================================================= */

.galleryOverlay {
  background:
    radial-gradient(circle at 50% 45%,
      rgba(7, 45, 61, 0.42),
      rgba(3, 20, 29, 0.82) 58%,
      rgba(1, 8, 12, 0.96) 100%) !important;

  backdrop-filter: blur(26px) brightness(.42) saturate(.58) !important;
  -webkit-backdrop-filter: blur(26px) brightness(.42) saturate(.58) !important;
}

/* Keep the viewer layout, but make the shell itself feel solid. */
.galleryViewer.conceptGallery {
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

/* This replaces the current transparent/gallerybackdrop shell with a solid navy panel. */
.galleryViewer.conceptGallery:before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  pointer-events: none !important;

  background:
    radial-gradient(circle at 50% 0%,
      rgba(34, 76, 96, 0.34),
      rgba(7, 28, 42, 0.98) 42%,
      rgba(2, 10, 16, 1) 100%) !important;

  border: 1px solid rgba(220, 226, 226, 0.34) !important;
  border-radius: 26px !important;

  box-shadow:
    0 34px 120px rgba(0, 0, 0, .72),
    0 0 0 1px rgba(255,255,255,.055) inset,
    0 0 42px rgba(78, 170, 255, .10) inset !important;

  -webkit-mask-image: none !important;
  mask-image: none !important;
  filter: none !important;
}

/* Prevent any older pseudo-shell from adding extra visual noise. */
.galleryViewer.conceptGallery:after {
  display: none !important;
}

/* Give the title/header a cleaner calm field to sit on. */
.galleryViewer.conceptGallery .galleryMeta {
  z-index: 3 !important;
}

/* Make the thumbnail rail a distinct dark tray instead of floating over the artwork. */
.galleryViewer.conceptGallery .galleryThumbStrip {
  z-index: 3 !important;
  background:
    linear-gradient(180deg,
      rgba(1, 9, 15, .72),
      rgba(1, 12, 20, .82)) !important;
  border-right: 1px solid rgba(180, 205, 220, .16) !important;
  box-shadow:
    inset -1px 0 0 rgba(255,255,255,.045),
    12px 0 28px rgba(0,0,0,.18) !important;
}

/* Calm inactive thumbs so the active thumb and main image read better. */
.galleryViewer.conceptGallery .galleryThumbStrip button {
  opacity: .58 !important;
  background: rgba(0,0,0,.35) !important;
  border-color: rgba(215, 224, 226, .24) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.05),
    0 8px 18px rgba(0,0,0,.34) !important;
}

.galleryViewer.conceptGallery .galleryThumbStrip button.active,
.galleryViewer.conceptGallery .galleryThumbStrip button:hover,
.galleryViewer.conceptGallery .galleryThumbStrip button:focus-visible {
  opacity: 1 !important;
  border-color: rgba(96, 190, 255, .95) !important;
  box-shadow:
    0 0 0 1px rgba(96, 190, 255, .42),
    0 0 18px rgba(96, 190, 255, .32),
    inset 0 0 0 1px rgba(255,255,255,.12) !important;
}

/* Keep the artwork area clean and separated from the UI shell. */
.galleryViewer.conceptGallery .artworkFrame {
  z-index: 2 !important;
  background: #03080c !important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.42),
    0 0 0 1px rgba(255,255,255,.08) !important;
}

/* Make arrows feel part of the solid shell, not part of the image. */
.galleryViewer.conceptGallery .galleryArrowControl {
  background: rgba(4, 20, 31, .82) !important;
  border: 1px solid rgba(165, 205, 230, .22) !important;
  box-shadow:
    0 0 18px rgba(75, 165, 235, .16),
    inset 0 0 0 1px rgba(255,255,255,.06) !important;
}

.galleryViewer.conceptGallery .galleryArrowControl:hover,
.galleryViewer.conceptGallery .galleryArrowControl:focus-visible {
  background: rgba(8, 40, 58, .92) !important;
  border-color: rgba(120, 205, 255, .44) !important;
}



/* =========================================================
   JUST IMAGE GALLERY PASS
   Direction:
   - No backing canvas.
   - No visible/invisible artwork frame.
   - No arrows.
   - No X button.
   - No fullscreen button.
   - Main image only, scaled down.
   - Empty space around image remains clickable to close the gallery.
   - Thumbnails remain clickable below the image.
   ========================================================= */

/* The overlay itself is the clickable close area. */
.galleryOverlay {
  padding: 0 !important;
  background:
    radial-gradient(circle at 50% 42%,
      rgba(7, 45, 61, 0.34),
      rgba(3, 20, 29, 0.82) 58%,
      rgba(1, 8, 12, 0.96) 100%) !important;
  backdrop-filter: blur(24px) brightness(.42) saturate(.55) !important;
  -webkit-backdrop-filter: blur(24px) brightness(.42) saturate(.55) !important;
}

/* Remove all extra gallery UI controls. */
.galleryViewer.conceptGallery .galleryClose,
.galleryViewer.conceptGallery .galleryFullscreenButton,
.galleryViewer.conceptGallery .galleryArrowControl,
.galleryViewer.conceptGallery .conceptGalleryControls,
.galleryViewer.conceptGallery .galleryControlCenter,
.galleryViewer.conceptGallery .counter,
.galleryViewer.conceptGallery .galleryTextControl {
  display: none !important;
}

/* The viewer is layout-only and DOES NOT catch clicks.
   This is the important part: blank space passes through to .galleryOverlay. */
.galleryViewer.conceptGallery {
  pointer-events: none !important;

  width: 100vw !important;
  height: 100vh !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;

  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows:
    minmax(32px, 8vh)
    auto
    84px
    auto
    minmax(32px, 8vh) !important;

  gap: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  transform: none !important;
  isolation: isolate !important;
}

/* Remove decorative shell/backdrop/pseudo elements. */
.galleryViewer.conceptGallery:before,
.galleryViewer.conceptGallery:after {
  display: none !important;
  content: none !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

/* Flatten wrapper. */
.galleryViewer.conceptGallery .galleryMain {
  display: contents !important;
  padding: 0 !important;
  pointer-events: none !important;
}

/* Artwork frame is not a frame anymore.
   It is only a placement wrapper and does not receive clicks. */
.galleryViewer.conceptGallery .artworkFrame {
  pointer-events: none !important;

  position: relative !important;
  grid-column: 1 !important;
  grid-row: 2 !important;

  left: auto !important;
  top: auto !important;
  width: 100% !important;
  height: auto !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* Remove any old inner vignette/edge treatment. */
.galleryViewer.conceptGallery .artworkFrame:before,
.galleryViewer.conceptGallery .artworkFrame:after {
  display: none !important;
  content: none !important;
  background: none !important;
  box-shadow: none !important;
}

/* The image itself is the only thing in the artwork area that catches clicks. */
.galleryViewer.conceptGallery .artworkFrame > img {
  pointer-events: auto !important;

  position: static !important;
  inset: auto !important;

  width: 65vw !important;
  height: auto !important;
  max-width: 65vw !important;
  max-height: 68vh !important;

  object-fit: contain !important;
  display: block !important;

  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Horizontal thumbnails below the image.
   The strip itself and buttons remain clickable. */
.galleryViewer.conceptGallery .galleryThumbStrip {
  pointer-events: auto !important;

  position: relative !important;
  grid-column: 1 !important;
  grid-row: 3 !important;

  left: auto !important;
  top: auto !important;
  width: min(65vw, 1100px) !important;
  height: 84px !important;
  margin: 0 auto !important;

  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;

  gap: 14px !important;
  padding: 10px 12px !important;

  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: thin !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.galleryViewer.conceptGallery .galleryThumbStrip button {
  pointer-events: auto !important;

  flex: 0 0 70px !important;
  width: 70px !important;
  height: 54px !important;
  min-width: 70px !important;
  min-height: 54px !important;
  max-width: 70px !important;
  max-height: 54px !important;

  padding: 2px !important;
  border-radius: 4px !important;
  border: 1px solid rgba(200, 220, 230, .22) !important;
  background: rgba(1, 8, 12, .35) !important;
  opacity: .34 !important;

  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    0 8px 18px rgba(0,0,0,.22) !important;

  transition:
    opacity .18s ease,
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease !important;
}

.galleryViewer.conceptGallery .galleryThumbStrip button.active,
.galleryViewer.conceptGallery .galleryThumbStrip button:hover,
.galleryViewer.conceptGallery .galleryThumbStrip button:focus-visible {
  opacity: 1 !important;
  transform: translateY(-2px) !important;
  border-color: rgba(90, 190, 255, .95) !important;
  box-shadow:
    0 0 0 1px rgba(90, 190, 255, .42),
    0 0 18px rgba(90, 190, 255, .30),
    0 10px 22px rgba(0,0,0,.32),
    inset 0 0 0 1px rgba(255,255,255,.10) !important;
  outline: 0 !important;
}

.galleryViewer.conceptGallery .galleryThumbStrip img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 2px !important;
  display: block !important;
}

/* Metadata below thumbnails. */
.galleryViewer.conceptGallery .galleryMeta {
  pointer-events: none !important;

  position: relative !important;
  grid-column: 1 !important;
  grid-row: 4 !important;

  left: auto !important;
  top: auto !important;
  width: min(65vw, 1100px) !important;
  height: auto !important;
  margin: 0 auto !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  gap: 4px !important;
  padding: 0 24px !important;
  text-align: center !important;
}

.galleryViewer.conceptGallery .galleryBrandLogo {
  display: none !important;
}

.galleryViewer.conceptGallery .galleryMeta h2 {
  margin: 0 !important;
  color: rgba(244, 242, 236, .82) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(23px, 2.4vw, 40px) !important;
  line-height: 1.05 !important;
  font-weight: 400 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  white-space: normal !important;
  text-shadow: 0 2px 18px rgba(0,0,0,.55) !important;
}

.galleryViewer.conceptGallery .galleryMeta p {
  margin: 0 !important;
  color: rgba(220, 230, 234, .62) !important;
  font-size: clamp(12px, 1vw, 15px) !important;
  line-height: 1.4 !important;
  letter-spacing: .20em !important;
  text-transform: uppercase !important;
  white-space: normal !important;
}

/* Mobile tuning. */
@media (max-width: 900px) {
  .galleryViewer.conceptGallery {
    grid-template-rows:
      18px
      auto
      72px
      auto
      18px !important;
  }

  .galleryViewer.conceptGallery .artworkFrame > img {
    width: 88vw !important;
    max-width: 88vw !important;
    max-height: 68vh !important;
  }

  .galleryViewer.conceptGallery .galleryThumbStrip {
    width: 88vw !important;
    height: 72px !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    padding: 8px 4px !important;
  }

  .galleryViewer.conceptGallery .galleryThumbStrip button {
    flex-basis: 58px !important;
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
  }

  .galleryViewer.conceptGallery .galleryMeta {
    width: 88vw !important;
  }

  .galleryViewer.conceptGallery .galleryMeta h2 {
    font-size: clamp(20px, 7vw, 32px) !important;
    letter-spacing: .09em !important;
  }

  .galleryViewer.conceptGallery .galleryMeta p {
    font-size: 11px !important;
    letter-spacing: .12em !important;
  }
}



/* =========================================================
   CAREER TIMELINE PREMIUM HEADER + SINGLE-PAGE SIDEBAR PASS
   ========================================================= */

/* The Career Timeline is currently the sole destination. */
.pageNavButtons,
.navPageIcons {
  display: none !important;
}

.timelinePageTitle {
  left: clamp(104px, 6.4vw, 132px) !important;
  top: clamp(24px, 3.1vh, 42px) !important;
  width: min(760px, calc(100vw - 190px)) !important;
  display: grid !important;
  grid-template-columns: auto 1px minmax(280px, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: clamp(22px, 2.2vw, 38px) !important;
  row-gap: 8px !important;
  align-items: center !important;
  text-shadow: none !important;
}

.timelinePageTitle::before {
  content: "";
  grid-column: 2 !important;
  grid-row: 1 / 3 !important;
  width: 1px !important;
  height: 78px !important;
  align-self: center !important;
  background: linear-gradient(180deg, transparent, rgba(117, 101, 79, .34) 16%, rgba(117, 101, 79, .34) 84%, transparent) !important;
}

.timelinePageEyebrow {
  grid-column: 1 !important;
  grid-row: 1 !important;
  margin: 0 0 5px !important;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif !important;
  font-size: clamp(9px, .65vw, 12px) !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
  color: rgba(83, 77, 69, .68) !important;
  white-space: nowrap !important;
}

.timelinePageTitle h1 {
  grid-column: 1 !important;
  grid-row: 2 !important;
  margin: 0 !important;
  font-family: "Cormorant Garamond", "Palatino Linotype", "Book Antiqua", Georgia, serif !important;
  font-size: clamp(34px, 3.15vw, 58px) !important;
  line-height: .92 !important;
  font-weight: 400 !important;
  letter-spacing: -.018em !important;
  text-transform: none !important;
  color: rgba(42, 42, 40, .86) !important;
  white-space: nowrap !important;
}

.timelinePageTitle p {
  grid-column: 3 !important;
  grid-row: 1 / 3 !important;
  max-width: 360px !important;
  margin: 0 !important;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif !important;
  font-size: clamp(12px, .86vw, 15px) !important;
  line-height: 1.52 !important;
  font-weight: 400 !important;
  letter-spacing: .012em !important;
  color: rgba(70, 66, 60, .68) !important;
}

.galleryViewer.conceptGallery .artworkFrame {
  touch-action: pan-y pinch-zoom !important;
  overscroll-behavior: contain !important;
}

@media (max-width: 900px) {
  .timelinePageTitle {
    left: 24px !important;
    top: 20px !important;
    width: calc(100vw - 48px) !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    row-gap: 5px !important;
  }

  .timelinePageTitle::before {
    display: none !important;
  }

  .timelinePageEyebrow,
  .timelinePageTitle h1,
  .timelinePageTitle p {
    grid-column: 1 !important;
  }

  .timelinePageEyebrow { grid-row: 1 !important; }
  .timelinePageTitle h1 { grid-row: 2 !important; font-size: clamp(30px, 9vw, 44px) !important; }
  .timelinePageTitle p {
    grid-row: 3 !important;
    max-width: 430px !important;
    font-size: 12px !important;
    line-height: 1.42 !important;
  }
}



/* =========================================================
   About popup
   ========================================================= */
.aboutOverlay{
  position:fixed;
  inset:0;
  z-index:120;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(3,10,14,.64);
  -webkit-backdrop-filter:blur(14px) brightness(.7);
  backdrop-filter:blur(14px) brightness(.7);
  opacity:0;
  visibility:hidden;
  transition:opacity .22s ease,visibility 0s linear .22s;
}
.aboutOverlay.open{
  opacity:1;
  visibility:visible;
  transition:opacity .22s ease,visibility 0s;
}
.aboutPopup{
  position:relative;
  width:min(760px,calc(100vw - 40px));
  max-height:calc(100vh - 48px);
  overflow:auto;
  padding:54px 58px 46px;
  color:#f5efe4;
  background:
    radial-gradient(circle at 18% 12%,rgba(255,255,255,.07),transparent 30%),
    linear-gradient(180deg,rgba(9,42,56,.98),rgba(5,26,36,.98));
  border:1px solid rgba(221,210,190,.34);
  box-shadow:0 30px 100px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.04);
  transform:translateY(14px) scale(.985);
  transition:transform .22s ease;
}
.aboutOverlay.open .aboutPopup{
  transform:translateY(0) scale(1);
}
.aboutPopup:before{
  content:"";
  position:absolute;
  inset:10px;
  pointer-events:none;
  border:1px solid rgba(214,203,184,.13);
}
.aboutPopupClose{
  position:absolute;
  top:18px;
  right:20px;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:999px;
  color:#fff;
  background:transparent;
}
.aboutPopupClose:hover,
.aboutPopupClose:focus-visible{
  background:rgba(255,255,255,.1);
  outline:1px solid rgba(255,255,255,.18);
}
.aboutPopupEyebrow{
  margin-bottom:12px;
  color:rgba(245,239,228,.62);
  font-size:11px;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.aboutPopup h2{
  margin:0;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(34px,5vw,54px);
  font-weight:400;
  line-height:1.02;
}
.aboutPopupRule{
  width:92px;
  height:1px;
  margin:22px 0 26px;
  background:linear-gradient(90deg,rgba(216,194,157,.88),rgba(216,194,157,0));
}
.aboutPopupBody{
  position:relative;
  z-index:1;
}
.aboutPopupBody p{
  margin:0 0 18px;
  color:rgba(248,243,234,.82);
  font-size:15px;
  line-height:1.72;
}
.aboutPopupBody p:last-child{
  margin-bottom:0;
}
.aboutPopupLinks{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:30px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.12);
}
.aboutPopupLinks a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 14px;
  color:#f7f1e7;
  text-decoration:none;
  border:1px solid rgba(214,203,184,.25);
  background:rgba(255,255,255,.05);
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.aboutPopupLinks a:hover,
.aboutPopupLinks a:focus-visible{
  background:rgba(255,255,255,.11);
  border-color:rgba(214,203,184,.48);
  transform:translateY(-1px);
}
@media (max-width:700px){
  .aboutOverlay{padding:12px}
  .aboutPopup{
    width:calc(100vw - 24px);
    max-height:calc(100vh - 24px);
    padding:46px 26px 30px;
  }
  .aboutPopupBody p{
    font-size:14px;
    line-height:1.62;
  }
  .aboutPopupLinks{
    display:grid;
    grid-template-columns:1fr;
  }
}


/* About popup portrait */
.aboutPopupIntro{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:116px minmax(0,1fr);
  align-items:center;
  gap:26px;
  margin-bottom:26px;
}
.aboutPopupPortrait{
  width:116px;
  height:116px;
  display:block;
  object-fit:cover;
  border-radius:10px;
  border:1px solid rgba(220,209,190,.34);
  box-shadow:0 14px 34px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.06);
}
.aboutPopupHeading{
  min-width:0;
}
.aboutPopupHeading .aboutPopupEyebrow{
  margin-bottom:10px;
}
.aboutPopupHeading .aboutPopupRule{
  margin:18px 0 0;
}
@media (max-width:600px){
  .aboutPopupIntro{
    grid-template-columns:82px minmax(0,1fr);
    gap:16px;
    align-items:start;
  }
  .aboutPopupPortrait{
    width:82px;
    height:82px;
    border-radius:8px;
  }
  .aboutPopup h2{
    font-size:clamp(28px,9vw,40px);
  }
}

@media (max-width:700px), (pointer: coarse) and (max-width:940px){
  .aboutOverlay{
    height:100dvh;
    min-height:100dvh;
    align-items:stretch;
    justify-items:center;
    place-items:stretch center;
    padding:max(10px, env(safe-area-inset-top, 0px)) 10px max(10px, env(safe-area-inset-bottom, 0px));
    overflow:hidden;
  }
  .aboutPopup{
    width:min(100%, 560px);
    max-height:100%;
    margin:0 auto;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:54px 20px 24px;
  }
  .aboutPopupClose{
    position:fixed;
    top:max(12px, env(safe-area-inset-top, 0px));
    right:max(12px, env(safe-area-inset-right, 0px));
    z-index:122;
    width:42px;
    height:42px;
    background:rgba(8,29,40,.82);
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 8px 24px rgba(0,0,0,.35);
  }
}


/* Hide the timeline page title on mobile so it does not overlap the banners. */
@media (max-width: 900px) {
  .timelinePageTitle {
    display: none !important;
  }
}


/* =========================================================
   MOBILE GALLERY METADATA + DARK BROWSER UI
   ========================================================= */

/* Tell supported mobile browsers and native controls that this site uses
   a dark interface. The HTML theme-color meta tag is still recommended. */
:root {
  color-scheme: dark;
}

@media (max-width: 900px), (pointer: coarse) {
  /* Keep the project title, date range, and role/project line visible. */
  .galleryViewer.conceptGallery .galleryMeta {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: 64px !important;
    height: auto !important;
    width: calc(100% - 104px) !important;
    margin: 0 !important;
    padding:
      calc(8px + env(safe-area-inset-top, 0px))
      6px
      6px
      14px !important;
    align-items: flex-start !important;
    justify-content: center !important;
    text-align: left !important;
    overflow: visible !important;
  }

  .galleryViewer.conceptGallery .galleryMeta > div:last-child {
    min-width: 0 !important;
    width: 100% !important;
  }

  .galleryViewer.conceptGallery .galleryMeta h2 {
    display: block !important;
    margin: 0 0 4px !important;
    font-size: clamp(16px, 4.8vw, 23px) !important;
    line-height: 1.05 !important;
    letter-spacing: .07em !important;
    white-space: normal !important;
  }

  .galleryViewer.conceptGallery .galleryMeta p {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 !important;
    color: rgba(235, 241, 243, .78) !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
    letter-spacing: .08em !important;
    white-space: normal !important;
    overflow: visible !important;
  }
}

/* The earlier compact-landscape rule hid this line entirely. Keep it. */
@media (max-height: 520px) and (pointer: coarse) {
  .galleryViewer.conceptGallery .galleryMeta p {
    display: block !important;
  }
}


/* =========================================================
   MOBILE GALLERY — artwork-first full-screen layout
   ========================================================= */
@media (max-width: 700px) {
  .galleryOverlay {
    padding: 0 !important;
    place-items: stretch !important;
    background: #061722 !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  .galleryViewer.conceptGallery {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-width: none !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    transform: none !important;
    overflow: hidden !important;
    background: #061722 !important;
    display: block !important;
  }

  .galleryViewer.conceptGallery::before,
  .galleryViewer.conceptGallery::after {
    display: none !important;
  }

  .galleryViewer.conceptGallery .galleryClose {
    position: fixed !important;
    top: max(12px, env(safe-area-inset-top)) !important;
    right: 12px !important;
    width: 38px !important;
    height: 38px !important;
    z-index: 20 !important;
    background: rgba(0,0,0,.28) !important;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }

  .galleryViewer.conceptGallery .galleryMeta {
    position: fixed !important;
    left: 16px !important;
    top: max(12px, env(safe-area-inset-top)) !important;
    width: calc(100vw - 76px) !important;
    height: 58px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    z-index: 12 !important;
    pointer-events: none;
  }

  .galleryViewer.conceptGallery .galleryBrandLogo {
    display: none !important;
  }

  .galleryViewer.conceptGallery .galleryMeta h2 {
    margin: 0 0 3px !important;
    font-size: clamp(18px, 5.6vw, 25px) !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .galleryViewer.conceptGallery .galleryMeta p {
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .galleryViewer.conceptGallery .artworkFrame {
    position: fixed !important;
    left: 0 !important;
    top: calc(max(12px, env(safe-area-inset-top)) + 66px) !important;
    width: 100vw !important;
    height: calc(
      100dvh
      - max(12px, env(safe-area-inset-top))
      - max(8px, env(safe-area-inset-bottom))
      - 170px
    ) !important;
    margin: 0 !important;
    background: #02080b !important;
    border: 0 !important;
    overflow: hidden !important;
    z-index: 2 !important;
  }

  .galleryViewer.conceptGallery .artworkFrame::after {
    display: none !important;
  }

  .galleryViewer.conceptGallery .artworkFrame > img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  .galleryViewer.conceptGallery .galleryThumbStrip {
    position: fixed !important;
    left: 0 !important;
    top: auto !important;
    bottom: max(0px, env(safe-area-inset-bottom)) !important;
    width: 100vw !important;
    height: 94px !important;
    padding: 10px 14px 14px !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    background: linear-gradient(180deg, rgba(6,23,34,.82), #061722) !important;
    border: 0 !important;
    z-index: 14 !important;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .galleryViewer.conceptGallery .galleryThumbStrip::-webkit-scrollbar {
    display: none;
  }

  .galleryViewer.conceptGallery .galleryThumbStrip button {
    flex: 0 0 92px !important;
    width: 92px !important;
    height: 66px !important;
    min-height: 66px !important;
    max-height: 66px !important;
    padding: 2px !important;
    border-radius: 5px !important;
  }

  .galleryViewer.conceptGallery .conceptGalleryControls {
    position: fixed !important;
    left: 0 !important;
    top: calc(max(12px, env(safe-area-inset-top)) + 66px) !important;
    width: 100vw !important;
    height: calc(
      100dvh
      - max(12px, env(safe-area-inset-top))
      - max(8px, env(safe-area-inset-bottom))
      - 170px
    ) !important;
    padding: 0 8px !important;
    display: grid !important;
    grid-template-columns: 52px 1fr 52px !important;
    align-items: center !important;
    z-index: 10 !important;
    pointer-events: none !important;
  }

  .galleryViewer.conceptGallery .galleryArrowControl {
    width: 46px !important;
    height: 58px !important;
    min-height: 0 !important;
    display: grid !important;
    place-items: center !important;
    pointer-events: auto !important;
    background: rgba(0,0,0,.22) !important;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }

  .galleryViewer.conceptGallery .galleryArrowControl:first-child {
    grid-column: 1 !important;
    justify-self: start !important;
  }

  .galleryViewer.conceptGallery .galleryControlCenter + .galleryArrowControl {
    grid-column: 3 !important;
    justify-self: end !important;
  }

  .galleryViewer.conceptGallery .galleryControlCenter {
    position: fixed !important;
    left: 50% !important;
    bottom: calc(max(0px, env(safe-area-inset-bottom)) + 96px) !important;
    transform: translateX(-50%) !important;
    min-height: 0 !important;
    z-index: 16 !important;
    pointer-events: auto !important;
  }

  .galleryViewer.conceptGallery .counter {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 62px !important;
    height: 32px !important;
    padding: 0 10px !important;
    color: #fff !important;
    font-size: 15px !important;
    background: rgba(0,0,0,.36) !important;
    border-radius: 999px !important;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }

  .galleryViewer.conceptGallery .galleryTextControl,
  .galleryViewer.conceptGallery .galleryFullscreenButton {
    display: none !important;
  }

  .galleryViewer.conceptGallery .noteMarker {
    z-index: 6 !important;
  }

  .galleryViewer.conceptGallery .noteCard {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    bottom: calc(max(0px, env(safe-area-inset-bottom)) + 104px) !important;
    width: auto !important;
    max-height: 42dvh !important;
    overflow-y: auto !important;
    z-index: 30 !important;
  }
}


/* =========================================================
   MOBILE GALLERY — FULL-WIDTH ARTWORK LAYOUT
   Replaces the scaled desktop frame on phones.
   ========================================================= */
@media (max-width: 700px) {
  .galleryOverlay {
    padding: 0 !important;
    place-items: stretch !important;
    overflow: hidden;
  }

  .galleryViewer.conceptGallery {
    box-sizing: border-box;
    width: 100vw !important;
    height: 100dvh !important;
    max-width: none !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    transform: none !important;
    transform-origin: center !important;
    display: flex !important;
    flex-direction: column;
    gap: 0;
    padding:
      max(8px, env(safe-area-inset-top))
      8px
      max(8px, env(safe-area-inset-bottom));
    color: #f4eee2;
    background:
      radial-gradient(circle at 50% 22%, rgba(19, 65, 84, .34), transparent 42%),
      #061722 !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  .galleryViewer.conceptGallery::before,
  .galleryViewer.conceptGallery::after {
    display: none !important;
  }

  .galleryViewer.conceptGallery .galleryMain {
    display: contents !important;
  }

  .galleryViewer.conceptGallery .galleryClose {
    position: absolute !important;
    top: max(12px, env(safe-area-inset-top)) !important;
    right: 12px !important;
    width: 36px !important;
    height: 36px !important;
    z-index: 20 !important;
  }

  .galleryViewer.conceptGallery .galleryMeta {
    position: relative !important;
    inset: auto !important;
    order: 1;
    flex: 0 0 auto;
    width: 100% !important;
    height: auto !important;
    min-height: 62px;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    padding: 7px 48px 9px 8px !important;
  }

  .galleryViewer.conceptGallery .galleryBrandLogo {
    display: none !important;
  }

  .galleryViewer.conceptGallery .galleryMeta h2 {
    margin: 0 0 4px !important;
    font-size: clamp(18px, 5.6vw, 24px) !important;
    line-height: 1.05 !important;
    white-space: normal !important;
  }

  .galleryViewer.conceptGallery .galleryMeta p {
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
  }

  .galleryViewer.conceptGallery .galleryMeta p span {
    margin: 0 .45em !important;
  }

  .galleryViewer.conceptGallery .artworkFrame {
    position: relative !important;
    inset: auto !important;
    order: 2;
    flex: 1 1 auto;
    width: 100% !important;
    height: auto !important;
    min-height: 0;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 4px !important;
    background: #02080b !important;
    box-shadow:
      inset 0 0 0 1px rgba(255,255,255,.08),
      0 10px 28px rgba(0,0,0,.28) !important;
    overflow: hidden !important;
  }

  .galleryViewer.conceptGallery .artworkFrame::after {
    background:
      linear-gradient(90deg, rgba(2,8,11,.36), transparent 2.5%, transparent 97.5%, rgba(2,8,11,.36)),
      linear-gradient(180deg, rgba(2,8,11,.30), transparent 3%, transparent 97%, rgba(2,8,11,.30)) !important;
    box-shadow: inset 0 0 0 1px rgba(4,10,12,.56) !important;
  }

  .galleryViewer.conceptGallery .artworkFrame > img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: contain !important;
  }

  .galleryViewer.conceptGallery .galleryThumbStrip {
    position: relative !important;
    inset: auto !important;
    order: 3;
    flex: 0 0 82px;
    width: 100% !important;
    height: 82px !important;
    min-height: 82px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 8px !important;
    padding: 8px 4px !important;
    background: transparent !important;
    border: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .galleryViewer.conceptGallery .galleryThumbStrip::-webkit-scrollbar {
    display: none;
  }

  .galleryViewer.conceptGallery .galleryThumbStrip button {
    flex: 0 0 88px !important;
    width: 88px !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    padding: 2px !important;
  }

  .galleryViewer.conceptGallery .conceptGalleryControls {
    position: relative !important;
    inset: auto !important;
    order: 4;
    flex: 0 0 48px;
    width: 100% !important;
    height: 48px !important;
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    padding: 0 8px !important;
    gap: 12px !important;
  }

  .galleryViewer.conceptGallery .galleryArrowControl {
    position: relative !important;
    width: 48px !important;
    height: 42px !important;
    min-height: 42px !important;
    font-size: 34px !important;
    pointer-events: auto;
  }

  .galleryViewer.conceptGallery .galleryArrowControl:first-child {
    justify-self: end !important;
  }

  .galleryViewer.conceptGallery .galleryControlCenter + .galleryArrowControl {
    justify-self: start !important;
  }

  .galleryViewer.conceptGallery .galleryControlCenter {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    min-height: 0 !important;
  }

  .galleryViewer.conceptGallery .counter {
    font-size: 15px !important;
  }

  .galleryViewer.conceptGallery .galleryTextControl,
  .galleryViewer.conceptGallery .galleryFullscreenButton {
    display: none !important;
  }

  .galleryViewer.conceptGallery .noteCard {
    width: min(270px, calc(100vw - 40px)) !important;
  }
}

/* Landscape phones can devote almost the entire screen to the artwork. */
@media (max-height: 520px) and (orientation: landscape) {
  .galleryViewer.conceptGallery .galleryMeta {
    min-height: 48px;
    padding-top: 3px !important;
    padding-bottom: 5px !important;
  }

  .galleryViewer.conceptGallery .galleryMeta h2 {
    font-size: 18px !important;
  }

  .galleryViewer.conceptGallery .galleryMeta p {
    display: none;
  }

  .galleryViewer.conceptGallery .galleryThumbStrip {
    flex-basis: 66px;
    height: 66px !important;
    min-height: 66px !important;
    padding: 5px 4px !important;
  }

  .galleryViewer.conceptGallery .galleryThumbStrip button {
    flex-basis: 76px !important;
    width: 76px !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
  }

  .galleryViewer.conceptGallery .conceptGalleryControls {
    flex-basis: 40px;
    height: 40px !important;
  }
}


/* =========================================================
   SAFARI DOCUMENT CANVAS / BROWSER CHROME
   Restores the dark Safari UI while preserving the mobile gallery.
   ========================================================= */
html,
body,
#root {
  width: 100%;
  min-height: 100%;
  background-color: #061722 !important;
}

html {
  color-scheme: dark;
}

body {
  margin: 0;
}

/* =========================================================
   Continuous horizontal gallery experiment
   The existing JSON gallery array is rendered as one long strip.
   ========================================================= */
.galleryViewer.conceptGallery.horizontalGalleryMode {
  width: 100vw !important;
  height: 100dvh !important;
  max-width: none !important;
  max-height: none !important;
  display: block !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.galleryViewer.conceptGallery.horizontalGalleryMode::before,
.galleryViewer.conceptGallery.horizontalGalleryMode::after,
.galleryViewer.conceptGallery.horizontalGalleryMode .galleryThumbStrip,
.galleryViewer.conceptGallery.horizontalGalleryMode .galleryControls,
.galleryViewer.conceptGallery.horizontalGalleryMode .galleryMeta {
  display: none !important;
}

.galleryOverlay:has(.horizontalGalleryMode) {
  display: block !important;
  padding: 0 !important;
  background:
    radial-gradient(circle at 50% 46%, rgba(10, 36, 49, .34), rgba(3, 15, 22, .82) 68%, rgba(1, 8, 12, .96)),
    #03141e !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.galleryViewer.conceptGallery.horizontalGalleryMode .galleryClose {
  position: fixed !important;
  top: max(16px, env(safe-area-inset-top)) !important;
  right: max(18px, env(safe-area-inset-right)) !important;
  z-index: 100 !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 999px !important;
  background: rgba(2, 14, 21, .56) !important;
  border: 1px solid rgba(255, 255, 255, .24) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

.galleryViewer.conceptGallery.horizontalGalleryMode .galleryMain {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  padding: 0 !important;
}

.galleryViewer.conceptGallery.horizontalGalleryMode .artworkFrame {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.25) transparent;
  overscroll-behavior-x: contain;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
}

.galleryViewer.conceptGallery.horizontalGalleryMode .artworkFrame::-webkit-scrollbar {
  height: 7px;
}
.galleryViewer.conceptGallery.horizontalGalleryMode .artworkFrame::-webkit-scrollbar-track {
  background: transparent;
}
.galleryViewer.conceptGallery.horizontalGalleryMode .artworkFrame::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.24);
  border-radius: 999px;
}

.horizontalGalleryTrack {
  width: max-content;
  min-width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: clamp(18px, 2.25vw, 44px);
  padding:
    max(30px, env(safe-area-inset-top))
    clamp(24px, 4vw, 76px)
    max(30px, env(safe-area-inset-bottom));
}

.horizontalGalleryPanel {
  flex: 0 0 auto;
  height: min(88dvh, 980px);
  display: grid;
  place-items: center;
}

.horizontalGalleryPanel img {
  display: block;
  width: auto !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: contain !important;
  user-select: none;
  -webkit-user-drag: none;
  box-shadow: 0 18px 60px rgba(0,0,0,.28);
}

.horizontalGalleryStatus {
  position: fixed;
  left: 50%;
  bottom: max(14px, env(safe-area-inset-bottom));
  transform: translateX(-50%);
  z-index: 100;
  padding: 7px 11px;
  border-radius: 999px;
  color: rgba(255,255,255,.72);
  background: rgba(2,14,21,.44);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  font-size: 11px;
  letter-spacing: .14em;
  pointer-events: none;
}

@media (max-width: 900px) {
  .horizontalGalleryTrack {
    gap: 14px;
    padding: max(18px, env(safe-area-inset-top)) 0 max(18px, env(safe-area-inset-bottom));
  }

  .horizontalGalleryPanel {
    width: 100vw;
    height: 100dvh;
    padding: 48px 0 34px;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .horizontalGalleryPanel img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    box-shadow: none;
  }

  .galleryViewer.conceptGallery.horizontalGalleryMode .artworkFrame {
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .galleryViewer.conceptGallery.horizontalGalleryMode .artworkFrame::-webkit-scrollbar {
    display: none;
  }
}


/* =========================================================
   Horizontal gallery fit + faster desktop navigation
   ========================================================= */
.galleryViewer.conceptGallery.horizontalGalleryMode .artworkFrame {
  cursor: grab;
  user-select: none;
}

.galleryViewer.conceptGallery.horizontalGalleryMode .artworkFrame.isDragging {
  cursor: grabbing;
  scroll-behavior: auto !important;
}

.horizontalGalleryTrack {
  gap: clamp(12px, 1.25vw, 24px) !important;
  padding: 0 !important;
}

.horizontalGalleryPanel {
  width: 100vw !important;
  height: 100dvh !important;
  padding: clamp(18px, 2.5vh, 32px) clamp(18px, 2.5vw, 42px) !important;
  scroll-snap-align: start;
  scroll-snap-stop: normal;
}

.horizontalGalleryPanel img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}

@media (min-width: 901px) {
  .galleryViewer.conceptGallery.horizontalGalleryMode .artworkFrame {
    scroll-snap-type: x proximity;
  }
}

@media (max-width: 900px) {
  .horizontalGalleryPanel {
    padding: max(42px, env(safe-area-inset-top)) 0 max(30px, env(safe-area-inset-bottom)) !important;
  }
}


/* =========================================================
   Seamless horizontal gallery — final override
   One continuous canvas with no image stops or snapping.
   ========================================================= */
.galleryViewer.conceptGallery.seamlessGalleryMode .artworkFrame {
  inset: 0 !important;
  cursor: grab !important;
  scroll-behavior: auto !important;
  scroll-snap-type: none !important;
  scrollbar-width: none !important;
  user-select: none;
  touch-action: pan-x;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .artworkFrame::-webkit-scrollbar {
  display: none !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .artworkFrame.isDragging {
  cursor: grabbing !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryTrack {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  width: max-content !important;
  min-width: 100% !important;
  height: 100% !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel {
  flex: 0 0 auto !important;
  width: auto !important;
  height: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  scroll-snap-align: none !important;
  scroll-snap-stop: normal !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel img {
  display: block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  height: 100% !important;
  max-width: none !important;
  max-height: 100% !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
}

/* Overall progress timeline. It is independent of individual images. */
.horizontalGalleryNavigator {
  position: fixed;
  z-index: 110;
  left: max(28px, env(safe-area-inset-left));
  right: max(28px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  height: 30px;
  display: flex;
  align-items: center;
  opacity: .72;
  transition: opacity .18s ease;
}

.horizontalGalleryNavigator:hover,
.horizontalGalleryNavigator:focus-within {
  opacity: 1;
}

.horizontalGalleryRange {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 22px;
  margin: 0;
  padding: 0;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  cursor: pointer;
}

.horizontalGalleryRange::-webkit-slider-runnable-track {
  height: 2px;
  border-radius: 999px;
  background: rgba(255,255,255,.34);
  box-shadow: 0 1px 8px rgba(0,0,0,.42);
}

.horizontalGalleryRange::-moz-range-track {
  height: 2px;
  border-radius: 999px;
  background: rgba(255,255,255,.34);
  box-shadow: 0 1px 8px rgba(0,0,0,.42);
}

.horizontalGalleryRange::-webkit-slider-thumb {
  width: 16px;
  height: 16px;
  margin-top: -7px;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.9);
  background: #0b3448;
  box-shadow: 0 0 0 3px rgba(4,18,27,.55), 0 0 14px rgba(130,205,255,.42);
}

.horizontalGalleryRange::-moz-range-thumb {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.9);
  background: #0b3448;
  box-shadow: 0 0 0 3px rgba(4,18,27,.55), 0 0 14px rgba(130,205,255,.42);
}

.horizontalGalleryKeys {
  position: absolute;
  z-index: 3;
  left: 8px;
  right: 8px;
  top: 50%;
  height: 0;
  pointer-events: none;
}

.horizontalGalleryKey {
  position: absolute;
  top: 0;
  width: 8px;
  height: 8px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.68);
  border-radius: 50%;
  background: #092a3a;
  transform: translate(-50%,-50%);
  pointer-events: auto;
  box-shadow: 0 0 0 2px rgba(3,15,22,.52);
}

.horizontalGalleryKey:hover,
.horizontalGalleryKey:focus-visible {
  width: 12px;
  height: 12px;
  background: #4f9dcc;
  outline: none;
}

.horizontalGalleryStatus { display: none !important; }

@media (max-width: 900px) {
  .galleryViewer.conceptGallery.seamlessGalleryMode .artworkFrame {
    scroll-snap-type: none !important;
  }

  .galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel {
    width: auto !important;
    height: 100% !important;
    padding: 0 !important;
  }

  .galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel img {
    width: auto !important;
    height: 100% !important;
    max-width: none !important;
  }

  .horizontalGalleryNavigator {
    left: max(16px, env(safe-area-inset-left));
    right: max(16px, env(safe-area-inset-right));
    bottom: max(10px, env(safe-area-inset-bottom));
  }
}

/* Seamless gallery interaction refinement */
.galleryViewer.conceptGallery.seamlessGalleryMode .artworkFrame {
  scroll-behavior: auto !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .galleryClose {
  display: grid !important;
  place-items: center !important;
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  z-index: 100 !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  border: 1px solid rgba(255,255,255,.34) !important;
  border-radius: 999px !important;
  background: rgba(3,14,20,.72) !important;
  color: #fff !important;
  box-shadow: 0 8px 28px rgba(0,0,0,.38) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  pointer-events: auto !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .galleryClose:hover,
.galleryViewer.conceptGallery.seamlessGalleryMode .galleryClose:focus-visible {
  background: rgba(20,48,62,.92) !important;
  border-color: rgba(255,255,255,.72) !important;
  transform: scale(1.04);
}

/* =========================================================
   Museum-scale gallery presentation
   Keeps the continuous canvas while giving artwork breathing room.
   ========================================================= */
.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel img {
  height: 78% !important;
  max-height: 1200px !important;
  width: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 18px 45px rgba(0,0,0,.45));
}

@media (max-width: 900px) {
  .galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel img {
    height: 82% !important;
    max-height: none !important;
    width: auto !important;
    filter: drop-shadow(0 12px 28px rgba(0,0,0,.4));
  }
}

/* Keep large transparent gallery art stable when the window loses focus. */
.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryTrack,
.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel,
.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel img {
  transform: translateZ(0) !important;
  backface-visibility: hidden !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel {
  position: relative !important;
  isolation: isolate !important;
  contain: layout paint !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel img {
  filter: none !important;
  will-change: transform;
}


/* =========================================================
   Mobile touch interaction fix
   One-finger dragging pans the canvas; the bottom navigator remains usable.
   ========================================================= */
.galleryViewer.conceptGallery.seamlessGalleryMode .artworkFrame {
  touch-action: none !important;
  overscroll-behavior: none !important;
  -webkit-overflow-scrolling: auto !important;
}

.horizontalGalleryNavigator,
.horizontalGalleryRange,
.horizontalGalleryKey {
  pointer-events: auto !important;
  touch-action: manipulation !important;
}

.horizontalGalleryRange {
  min-height: 44px !important;
}

@media (pointer: coarse) {
  .horizontalGalleryNavigator {
    height: 48px !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    opacity: .92 !important;
  }

  .horizontalGalleryRange {
    height: 44px !important;
  }

  .horizontalGalleryRange::-webkit-slider-thumb {
    width: 24px !important;
    height: 24px !important;
    margin-top: -11px !important;
  }

  .horizontalGalleryRange::-moz-range-thumb {
    width: 22px !important;
    height: 22px !important;
  }

  .horizontalGalleryKey {
    width: 14px !important;
    height: 14px !important;
  }
}

/* =========================================================
   Momentum drag refinement
   The custom gallery pan now coasts after release like the main timeline.
   ========================================================= */
.galleryViewer.conceptGallery.seamlessGalleryMode .artworkFrame {
  cursor: grab !important;
}
.galleryViewer.conceptGallery.seamlessGalleryMode .artworkFrame.isDragging {
  cursor: grabbing !important;
  user-select: none !important;
  -webkit-user-select: none !important;
}
@media (pointer: coarse) {
  .galleryViewer.conceptGallery.seamlessGalleryMode .artworkFrame {
    cursor: default !important;
  }
}

/* =========================================================
   Project navigation: Previous | Timeline | Next
   React-owned navigation switches galleries without closing.
   ========================================================= */
.projectGalleryNav {
  position: fixed;
  z-index: 125;
  left: 50%;
  bottom: max(48px, calc(env(safe-area-inset-bottom) + 42px));
  transform: translateX(-50%);
  display: grid;
  pointer-events: auto;
  grid-template-columns: minmax(82px, auto) auto minmax(82px, auto);
  align-items: center;
  gap: 0;
  min-height: 42px;
  padding: 3px 8px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  background: rgba(3,14,20,.72);
  box-shadow: 0 10px 34px rgba(0,0,0,.38);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  opacity: .86;
  transition: opacity .18s ease, background .18s ease;
}
.projectGalleryNav:hover,
.projectGalleryNav:focus-within { opacity: 1; background: rgba(3,14,20,.88); }
.projectGalleryNavButton {
  min-height: 34px;
  padding: 6px 14px;
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.88);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
  border-radius: 999px;
  transition: color .16s ease, background .16s ease, opacity .16s ease;
}
.projectGalleryNavButton:hover,
.projectGalleryNavButton:focus-visible { color:#fff; background:rgba(255,255,255,.12); outline:none; }
.projectGalleryTimeline { position:relative; margin:0 3px; padding-left:18px; padding-right:18px; color:#fff; }
.projectGalleryTimeline::before,
.projectGalleryTimeline::after {
  content:'';
  position:absolute;
  top:50%;
  width:1px;
  height:18px;
  background:rgba(255,255,255,.2);
  transform:translateY(-50%);
}
.projectGalleryTimeline::before { left:0; }
.projectGalleryTimeline::after { right:0; }
@media (max-width:900px) {
  .projectGalleryNav {
    bottom:max(58px, calc(env(safe-area-inset-bottom) + 52px));
    min-height:46px;
    max-width:calc(100vw - 28px);
    padding:3px 5px;
  }
  .projectGalleryNavButton { min-height:38px; padding:7px 10px; font-size:11px; letter-spacing:.08em; }
  .projectGalleryTimeline { padding-left:13px; padding-right:13px; }
}
@media (prefers-reduced-motion:reduce) {
  .projectGalleryNav,.projectGalleryNavButton { transition:none; }
}

/* Body-level proxy for reliable project navigation hit testing. */
.galleryViewer .projectGalleryNav:not(.projectGalleryNavProxy) {
  display: grid !important;
}
.projectGalleryNavProxy {
  position: fixed !important;
  z-index: 2147483647 !important;
  pointer-events: auto !important;
  isolation: isolate;
  transform: translateX(-50%) !important;
  touch-action: manipulation;
  user-select: none;
  -webkit-user-select: none;
}
.projectGalleryNavProxy,
.projectGalleryNavProxy * {
  pointer-events: auto !important;
}
.projectGalleryNavProxy .projectGalleryNavButton {
  position: relative;
  z-index: 1;
  touch-action: manipulation;
}

/* =========================================================
   Gallery notes
   Shared marker/card construction for visitor view and editor preview.
   ========================================================= */
.noteImageStage {
  position: relative;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  overflow: visible;
  isolation: isolate;
}

.artworkFrame > .noteImageStage > img,
.noteImageStage > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

.noteConnectors {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  z-index: 2;
}

.noteConnectorLine {
  stroke: rgba(255, 255, 255, .7);
  stroke-width: .38;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
  filter: none;
}

.noteConnectorLine[hidden],
.noteCard[hidden] {
  display: none !important;
}

.noteLayer {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

.noteMarker {
  position: absolute !important;
  width: clamp(19px, 1.05vw, 22px) !important;
  height: clamp(19px, 1.05vw, 22px) !important;
  min-width: clamp(19px, 1.05vw, 22px) !important;
  min-height: clamp(19px, 1.05vw, 22px) !important;
  transform: translate(-50%, -50%) !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: transparent !important;
  color: transparent !important;
  font-size: 0 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  opacity: 1;
  box-shadow: none !important;
  pointer-events: auto;
  touch-action: manipulation;
  overflow: visible !important;
  isolation: auto;
  z-index: 7;
}

.noteMarker::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: clamp(38px, 2.05vw, 44px);
  height: clamp(38px, 2.05vw, 44px);
  border-radius: 999px;
  background: url("/thumbs/marker.webp") center / contain no-repeat;
  mix-blend-mode: screen;
  opacity: .78;
  transform: translate(-50%, -50%);
  transition: none;
  animation: none;
  pointer-events: none;
  z-index: 0;
}

.noteMarker:nth-of-type(3n+2)::before {
  animation-delay: 0s;
}

.noteMarker:nth-of-type(3n)::before {
  animation-delay: 0s;
}

.noteMarker::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: clamp(38px, 2.05vw, 44px);
  height: clamp(38px, 2.05vw, 44px);
  border-radius: 999px;
  background: url("/thumbs/marker.webp") center / contain no-repeat;
  mix-blend-mode: screen;
  opacity: 0;
  transform: translate(-50%, -50%) scale(1.02);
  transition: none;
  animation: none;
  pointer-events: none;
  z-index: 1;
}

.noteMarker:nth-of-type(3n+2)::after {
  animation-delay: 0s;
}

.noteMarker:nth-of-type(3n)::after {
  animation-delay: 0s;
}

.noteMarker:hover,
.noteMarker:focus-visible,
.noteMarker.active {
  outline: none !important;
  color: transparent !important;
  opacity: 1;
  background: transparent !important;
  box-shadow: none !important;
}

.noteMarker.active::before {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.06);
  animation: none;
}

.noteMarker.active::after {
  opacity: .22;
  transform: translate(-50%, -50%) scale(1.08);
  animation: none;
}

.noteMarker.active:nth-of-type(3n+2)::before {
  animation-delay: 0s;
}

.noteMarker.active:nth-of-type(3n)::before {
  animation-delay: 0s;
}

.noteMarker.active:nth-of-type(3n+2)::after {
  animation-delay: 0s;
}

.noteMarker.active:nth-of-type(3n)::after {
  animation-delay: 0s;
}

.noteMarker:hover::before,
.noteMarker:focus-visible::before,
.noteMarker.active:hover::before,
.noteMarker.active:focus-visible::before {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.06);
  animation: none;
}

.noteMarker:hover::after,
.noteMarker:focus-visible::after,
.noteMarker.active:hover::after,
.noteMarker.active:focus-visible::after {
  opacity: .34;
  transform: translate(-50%, -50%) scale(1.1);
  animation: none;
}

.noteMarker.disabled {
  opacity: .44;
  filter: grayscale(.45);
}

.galleryViewer.editingNotes .noteMarker.editable {
  cursor: grab !important;
}

.galleryViewer.editingNotes .noteMarker.editable:active {
  cursor: grabbing !important;
}

.noteCard {
  position: absolute !important;
  width: min(340px, 34vw) !important;
  max-width: min(340px, calc(100vw - 38px)) !important;
  padding: 16px 18px 18px !important;
  border-radius: 6px !important;
  border: 1px solid rgba(139, 164, 176, .38) !important;
  background: rgba(4, 14, 20, .9) !important;
  color: rgba(245, 248, 246, .94) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.42), inset 0 0 0 1px rgba(255,255,255,.04) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  contain: layout paint style;
  pointer-events: auto;
  z-index: 8;
}

.noteCard.editable {
  cursor: grab;
}

.noteCard.editable:active {
  cursor: grabbing;
}

.noteCard .noteClose {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: rgba(255,255,255,.78) !important;
  padding: 0 !important;
}

.noteCard .noteClose:hover,
.noteCard .noteClose:focus-visible {
  color: #fff !important;
  background: rgba(255,255,255,.1) !important;
  outline: 1px solid rgba(255,255,255,.26) !important;
}

.noteCardHeader {
  display: flex;
  align-items: baseline;
  gap: 9px;
  padding-right: 22px;
  margin-bottom: 6px;
}

.noteCardNumber {
  color: rgba(159, 218, 249, .98);
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
}

.noteCard h3 {
  margin: 0 !important;
  color: #fff !important;
  font-size: 14px !important;
  line-height: 1.15 !important;
  font-weight: 850 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

.noteCard small {
  display: block;
  margin: 0 0 10px !important;
  color: rgba(171, 223, 250, .9) !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.noteCard p {
  margin: 0 !important;
  color: rgba(246,248,245,.88) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.noteRevealControls {
  position: absolute;
  z-index: 12;
  top: 16px;
  left: 16px;
  display: flex;
  align-items: center;
  gap: 0;
  pointer-events: auto;
}

.noteRevealControls[hidden] {
  display: none !important;
}

.noteRevealControls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 36px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(3, 14, 20, .86);
  color: rgba(255,255,255,.92);
  padding: 8px 14px 8px 12px;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
  box-shadow: 0 10px 24px rgba(0,0,0,.26), inset 0 0 0 1px rgba(255,255,255,.04);
}

.noteRevealControls button:hover,
.noteRevealControls button:focus-visible {
  outline: none;
  border-color: rgba(255,255,255,.32);
  color: #fff;
  background: rgba(255,255,255,.12);
  box-shadow: 0 0 0 2px rgba(3,13,19,.5), 0 0 18px rgba(112,190,235,.24), inset 0 0 0 1px rgba(255,255,255,.08);
}

.galleryNotesToggleIcon {
  width: 13px;
  height: 13px;
  border: 1.5px solid currentColor;
  border-radius: 999px;
  flex: 0 0 13px;
}

.galleryNotesToggle.isOn .galleryNotesToggleIcon {
  background: rgba(159, 218, 249, .92);
  box-shadow: inset 0 0 0 3px rgba(3,14,20,.9), 0 0 10px rgba(112,190,235,.3);
}

.galleryNotesToggle.isOff .galleryNotesToggleIcon {
  background: transparent;
}

.seamlessNoteControls {
  position: fixed;
  top: max(18px, env(safe-area-inset-top));
  left: max(18px, env(safe-area-inset-left));
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .horizontalGalleryImageStage {
  flex: 0 0 auto !important;
  width: max-content !important;
  height: 78% !important;
  max-height: 1200px !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .horizontalGalleryImageStage > img {
  width: auto !important;
  height: 100% !important;
  max-width: none !important;
  max-height: 100% !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteCard {
  transform: translate(0, 0) !important;
}

.galleryNotesEditor {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.12);
}

.galleryNotesHeader,
.galleryNoteEditorHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.galleryNotesHeader h4 {
  margin: 0;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.galleryNotesHeader h4 span {
  color: rgba(159, 218, 249, .98);
}

.galleryNotesHeader div,
.galleryNoteEditorHeader div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.galleryNotesHeader button,
.galleryNoteEditorHeader button {
  padding: 6px 8px;
  font-size: 11px;
  border-radius: 6px;
}

.galleryNoteEditor {
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.06);
  border-radius: 8px;
  padding: 10px;
  margin: 9px 0;
}

.galleryNoteEditor.isDisabled {
  opacity: .62;
}

.galleryNoteEditorHeader strong {
  color: rgba(255,255,255,.92);
  font-size: 12px;
  line-height: 1.25;
}

.noteCoordinateGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.noteToggleField {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center;
  gap: 8px !important;
}

.noteToggleField input {
  width: auto !important;
}

@media (max-width: 780px), (pointer: coarse) and (max-width: 940px) {
  .noteRevealControls {
    top: 10px;
    left: 10px;
    right: 10px;
    justify-content: flex-start;
    gap: 8px;
  }

  .noteRevealControls button {
    min-height: 34px;
    padding: 7px 9px;
    font-size: 10px;
  }

  .noteCard {
    width: auto !important;
    max-width: none !important;
    left: 10px !important;
    right: 10px !important;
    top: auto !important;
    bottom: 12px !important;
    max-height: min(46dvh, 360px);
    overflow: auto;
  }

  .galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .horizontalGalleryImageStage {
    height: 82% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .noteMarker,
  .noteRevealControls button {
    transition: none !important;
  }
}

/* Keep the notes wrapper from breaking the original gallery fit behavior. */
.galleryViewer.conceptGallery.seamlessGalleryMode {
  --seamlessGalleryImageHeight: min(78dvh, 1200px);
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .horizontalGalleryImageStage {
  display: block !important;
  width: fit-content !important;
  height: var(--seamlessGalleryImageHeight) !important;
  max-height: calc(100dvh - 116px) !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .horizontalGalleryImageStage > img {
  display: block !important;
  width: auto !important;
  height: var(--seamlessGalleryImageHeight) !important;
  max-width: none !important;
  max-height: 100% !important;
  object-fit: contain !important;
}

.galleryViewer.conceptGallery:not(.horizontalGalleryMode) .artworkFrame > .noteImageStage {
  display: block !important;
  width: fit-content !important;
  height: fit-content !important;
  max-width: 65vw !important;
  max-height: 68vh !important;
}

.galleryViewer.conceptGallery:not(.horizontalGalleryMode) .artworkFrame > .noteImageStage > img {
  width: auto !important;
  height: auto !important;
  max-width: 65vw !important;
  max-height: 68vh !important;
  object-fit: contain !important;
}

@media (max-width: 900px) {
  .galleryViewer.conceptGallery.seamlessGalleryMode {
    --seamlessGalleryImageHeight: min(82dvh, 1000px);
  }
}

.galleryPlacementNotes {
  display: grid;
  gap: 8px;
  margin: 14px 0;
  padding: 12px 0;
  border-top: 1px solid rgba(255,255,255,.14);
  border-bottom: 1px solid rgba(255,255,255,.14);
}

.galleryPlacementOverlay,
.galleryPlacementOverlay *,
.galleryPlacementNotes,
.galleryPlacementNotes * {
  pointer-events: auto !important;
}

.galleryPlacementNotes h4 {
  margin: 0;
  color: #fff;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.galleryPlacementNotes p {
  margin: -2px 0 2px;
  color: rgba(255,255,255,.68);
  font-size: 12px;
  line-height: 1.35;
}

.galleryPlacementNotes .galleryPlacementNotesHint {
  margin: 0 0 4px;
  color: rgba(255,255,255,.78);
  text-transform: none;
  letter-spacing: 0;
}

.galleryPlacementNotes button.activeControl {
  background: rgba(101,183,255,.26) !important;
  box-shadow: inset 0 0 0 1px rgba(101,183,255,.5) !important;
}

.galleryViewer.conceptGallery.editingNotes .galleryMain,
.galleryViewer.conceptGallery.editingNotes .artworkFrame,
.galleryViewer.conceptGallery.editingNotes .noteImageStage,
.galleryViewer.conceptGallery.editingNotes .noteImageStage > img {
  pointer-events: auto !important;
}

.galleryViewer.conceptGallery.editingNotes .artworkFrame.addingNote {
  cursor: crosshair !important;
}

/* Final seamless-notes polish/performance override. Keep these rules last. */
.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteConnectorLine {
  stroke: rgba(255,255,255,.72) !important;
  stroke-width: .42 !important;
  stroke-linecap: round !important;
  filter: none !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker {
  position: absolute !important;
  width: clamp(19px, 1.05vw, 22px) !important;
  height: clamp(19px, 1.05vw, 22px) !important;
  min-width: clamp(19px, 1.05vw, 22px) !important;
  min-height: clamp(19px, 1.05vw, 22px) !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: transparent !important;
  color: transparent !important;
  opacity: 1 !important;
  font-size: 0 !important;
  text-indent: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  isolation: auto;
  box-shadow: none !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: clamp(38px, 2.05vw, 44px);
  height: clamp(38px, 2.05vw, 44px);
  border-radius: 999px;
  background: url("/thumbs/marker.webp") center / contain no-repeat;
  mix-blend-mode: screen;
  box-shadow: none;
  opacity: .78;
  transform: translate(-50%, -50%);
  transition: none !important;
  animation: none !important;
  pointer-events: none;
  z-index: 0;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker:nth-of-type(3n+2)::before {
  animation-delay: 0s !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker:nth-of-type(3n)::before {
  animation-delay: 0s !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: clamp(38px, 2.05vw, 44px);
  height: clamp(38px, 2.05vw, 44px);
  border-radius: 999px;
  background: url("/thumbs/marker.webp") center / contain no-repeat;
  mix-blend-mode: screen;
  box-shadow: none;
  opacity: 0;
  transform: translate(-50%, -50%) scale(1.02);
  transition: none !important;
  animation: none !important;
  pointer-events: none;
  z-index: 1;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker:nth-of-type(3n+2)::after {
  animation-delay: 0s !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker:nth-of-type(3n)::after {
  animation-delay: 0s !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker:hover,
.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker:focus-visible,
.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker.active {
  color: transparent !important;
  opacity: 1 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker.active::before {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.06);
  animation: none !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker.active::after {
  opacity: .22;
  transform: translate(-50%, -50%) scale(1.08);
  animation: none !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker.active:nth-of-type(3n+2)::before {
  animation-delay: 0s !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker.active:nth-of-type(3n)::before {
  animation-delay: 0s !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker.active:nth-of-type(3n+2)::after {
  animation-delay: 0s !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker.active:nth-of-type(3n)::after {
  animation-delay: 0s !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker:hover::before,
.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker:focus-visible::before,
.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker.active:hover::before,
.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker.active:focus-visible::before {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.06);
  animation: none !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker:hover::after,
.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker:focus-visible::after,
.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker.active:hover::after,
.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker.active:focus-visible::after {
  opacity: .34;
  transform: translate(-50%, -50%) scale(1.1);
  animation: none !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteCard {
  background: rgba(4,14,20,.9) !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.38), inset 0 0 0 1px rgba(255,255,255,.04) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  contain: layout paint style !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteCardNumber {
  display: none !important;
}

.galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteCardHeader {
  gap: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
  .noteMarker::before,
  .noteMarker::after,
  .galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker::before,
  .galleryViewer.conceptGallery.seamlessGalleryMode .horizontalGalleryPanel .noteMarker::after {
    animation: none !important;
  }
}
