:root{--bg-primary: #0A0A0F;--bg-secondary: #111118;--bg-tertiary: #1A1A24;--text-primary: #F0EDE8;--text-secondary: #A8A8B4;--text-muted: #4A4A56;--accent: #E8B84A;--accent-secondary: #A35139;--divider: rgba(138, 138, 150, .15)}[data-theme=light]{--bg-primary: #EDECEA;--bg-secondary: #E3E2DE;--bg-tertiary: #D8D6D1;--text-primary: #1B2632;--text-secondary: #3A4558;--text-muted: #6B7280;--accent: #A35139;--accent-secondary: #FFB162;--divider: rgba(27, 38, 50, .12)}[data-theme=light] nav.scrolled{background:#eee9dfd9}[data-theme=light] .mobile-menu{background:var(--bg-secondary)}[data-theme=light] .mobile-overlay{background:#0003}.theme-toggle{background:none;border:1px solid var(--divider);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:none;color:var(--text-secondary);transition:border-color .2s,color .2s,background .2s;flex-shrink:0}.theme-toggle:hover{border-color:var(--accent);color:var(--accent);background:var(--bg-secondary)}.theme-toggle svg{width:16px;height:16px}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon,[data-theme=light] .theme-toggle .icon-sun{display:block}[data-theme=light] .theme-toggle .icon-moon{display:none}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,sans-serif;background:var(--bg-primary);color:var(--text-primary);overflow-x:hidden;cursor:none}@media(hover:none)and (pointer:coarse){body{cursor:auto}}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:10000;transform:translate(-50%,-50%);border-radius:50%;transition:opacity .3s}.cursor-dot{width:8px;height:8px;background:var(--accent)}.cursor-ring{width:32px;height:32px;border:1px solid var(--text-muted);transition:width .2s,height .2s,border-color .2s}.cursor-ring.hover{width:48px;height:48px;border-color:var(--accent)}nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:24px 48px;display:flex;align-items:center;justify-content:space-between;transition:background .4s,backdrop-filter .4s,padding .3s}nav.scrolled{background:#0a0a0fd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:16px 48px}.nav-logo{font-size:.8125rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.nav-links{display:flex;gap:40px;list-style:none}.nav-links a{font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);transition:color .2s}.nav-links a:hover{color:var(--text-primary)}.hamburger{display:none;flex-direction:column;gap:6px;cursor:none;background:none;border:none;padding:4px}.hamburger span{display:block;width:24px;height:1.5px;background:var(--text-primary);transition:transform .3s,opacity .3s}.hamburger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}.mobile-menu{display:none;position:fixed;top:0;right:0;width:280px;height:100vh;background:var(--bg-secondary);z-index:99;flex-direction:column;align-items:flex-start;justify-content:center;gap:40px;padding:48px 40px;transform:translate(100%);transition:transform .4s cubic-bezier(.76,0,.24,1)}.mobile-menu.open{transform:translate(0)}.mobile-menu a{font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);transition:color .2s}.mobile-menu a:hover{color:var(--text-primary)}.mobile-overlay{display:none;position:fixed;pointer-events:none;inset:0;z-index:98;background:#00000080;opacity:0;transition:opacity .3s}.mobile-overlay.open{opacity:1;pointer-events:auto}@media(max-width:768px){nav{padding:20px 24px}nav.scrolled{padding:14px 24px}.nav-links{display:none}.hamburger,.mobile-menu{display:flex}.mobile-overlay{display:block}}.project-page{max-width:1200px;margin:0 auto;padding:0 clamp(24px,5vw,80px)}.project-back{padding:72px 0 24px}.project-back a{font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);transition:color .2s}.project-back a:hover{color:var(--accent)}.project-hero{width:100%;aspect-ratio:16 / 9;overflow:hidden;border-radius:8px;margin-bottom:36px}.project-hero img{width:100%;height:100%;object-fit:cover}.project-header{margin-bottom:36px}.project-title{font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;color:var(--text-primary);line-height:1.15;margin-bottom:12px}.project-subtitle{font-size:1.15rem;font-weight:300;line-height:1.75;color:var(--text-secondary)}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.project-meta{display:flex;flex-direction:column;gap:24px;padding-top:0;min-width:200px}.meta-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);display:block;margin-bottom:5px}.meta-value{font-size:.9rem;font-weight:400;color:var(--text-primary);line-height:1.5}.project-divider{border:none;border-top:1px solid var(--divider);margin:0 0 48px}.case-section{margin-bottom:72px}.case-section-label{display:flex;align-items:center;gap:0;margin-bottom:48px}.section-num{font-size:1rem;font-weight:700;letter-spacing:.15em;color:var(--accent);text-transform:uppercase;flex-shrink:0}.label-rule{display:inline-block;width:48px;height:2px;background:var(--accent);opacity:.5;margin:0 20px;flex-shrink:0}.section-title{font-size:1rem;font-weight:600;letter-spacing:.15em;color:var(--text-secondary);text-transform:uppercase}.case-section-body{display:grid;grid-template-columns:3fr 2fr;gap:80px;align-items:start;margin-bottom:48px}.section-heading{font-family:Inter,sans-serif;font-size:clamp(1.5rem,2.8vw,2.25rem);font-weight:700;color:var(--text-primary);line-height:1.2;letter-spacing:-.025em}.section-description{font-size:1.1rem;font-weight:400;line-height:1.9;color:var(--text-secondary);padding-top:6px}.section-aside{padding-top:6px}.aside-tag{display:inline-block;font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:1px solid rgba(200,184,154,.3);border-radius:2px;padding:4px 10px;margin:0 4px 8px 0}.banner-gallery{display:flex;flex-direction:column;gap:8px}.banner-gallery img{width:100%;height:auto;border-radius:6px;object-fit:contain;aspect-ratio:141 / 100}.banner-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.banner-pair img{width:100%;height:auto;border-radius:6px;object-fit:contain;aspect-ratio:16 / 9}.banner-pair.ratio-191 img{aspect-ratio:191 / 100}.amazon-products{display:flex;flex-direction:column;gap:64px;margin-top:32px}.amazon-product{display:flex;flex-direction:column}.amazon-product-label{font-family:Playfair Display,serif;font-size:clamp(1.75rem,2.4vw,2.25rem);font-weight:600;color:var(--text-primary);margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--divider)}.amazon-slideshow{position:relative;background:var(--bg-secondary);border-radius:8px;overflow:hidden;aspect-ratio:61 / 25}.amazon-slideshow img{width:100%;height:100%;object-fit:contain;transition:opacity .4s ease}.amazon-nav-bar{display:flex;align-items:center;justify-content:center;padding:18px 0 0;gap:28px;position:relative;z-index:95}.amazon-arrow{width:32px;height:32px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:color .2s ease,transform .2s ease;flex-shrink:0}.amazon-arrow:hover{color:var(--accent);background:transparent}.amazon-arrow.prev:hover{transform:translate(-3px)}.amazon-arrow.next:hover{transform:translate(3px)}.amazon-arrow svg{width:18px;height:18px}.amazon-progress-track{flex:0 1 auto;display:flex;flex-direction:row;align-items:center;justify-content:center}.amazon-progress-bar,.amazon-progress-fill{display:none}.amazon-counter-simple{font-family:Inter,sans-serif;font-size:.8rem;color:var(--text-muted);letter-spacing:.12em;font-variant-numeric:tabular-nums;min-width:56px;text-align:center}@media(max-width:768px){.amazon-products{gap:48px}.amazon-nav-bar{padding:12px 0 0;gap:20px}.amazon-arrow{width:28px;height:28px}.amazon-arrow svg{width:16px;height:16px}}.broadway-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto;gap:8px}.broadway-grid img{width:100%;object-fit:cover;border-radius:6px;aspect-ratio:10 / 7}.broadway-grid img.broadway-hero{grid-column:1 / 3;grid-row:1 / 3}.reels-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:32px}.reels-row .reel-wrap{aspect-ratio:9 / 16;border-radius:16px;overflow:hidden;background:var(--bg-secondary)}.reels-row .reel-wrap video{width:100%;height:100%;object-fit:cover}footer{border-top:1px solid var(--divider);padding:64px 48px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px}.footer-copy{font-size:.8125rem;color:var(--text-muted);letter-spacing:.05em}.footer-available{font-size:.8125rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.footer-links{display:flex;gap:24px;font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.footer-links a{transition:color .2s}.footer-links a:hover{color:var(--text-primary)}.project-toc{position:fixed;right:clamp(24px,3vw,48px);top:50%;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;gap:0;align-items:flex-end}.toc-line{width:1px;height:20px;background:var(--divider);margin-right:13px}.toc-step{display:flex;align-items:center;gap:14px;text-decoration:none;cursor:none;padding:6px 0;flex-direction:row-reverse}.toc-step-num{width:28px;height:28px;border-radius:50%;border:1px solid var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:600;color:var(--text-muted);transition:all .3s;background:var(--bg-primary);flex-shrink:0}.toc-step-label{font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;transition:color .3s,opacity .3s;opacity:.6}.toc-step:hover .toc-step-label{color:var(--text-secondary);opacity:1}.toc-step.active .toc-step-label{color:var(--accent);opacity:1;font-weight:600}.toc-step.active .toc-step-num{border-color:var(--accent);color:var(--accent);background:var(--bg-secondary);transform:scale(1.1)}.toc-step:hover .toc-step-num{border-color:var(--text-secondary);color:var(--text-secondary)}.case-section[id]{scroll-margin-top:100px}@media(min-width:1600px){nav{padding:28px 6vw}nav.scrolled{padding:18px 6vw}.nav-logo,.nav-links a{font-size:.9rem}.project-page{max-width:min(1480px,80vw)}.project-title{font-size:clamp(2.5rem,3.5vw,4rem)}}@media(min-width:2200px){nav{padding:32px 8vw}nav.scrolled{padding:22px 8vw}.nav-logo,.nav-links a{font-size:1rem}.project-page{max-width:min(70vw,1560px)}.project-title{font-size:clamp(2.5rem,3.5vw,4.5rem)}.section-heading{font-size:clamp(1.8rem,2vw,2.5rem)}.section-description{font-size:clamp(1rem,.85vw,1.15rem)}footer{padding:100px 8vw}}@media(min-width:3000px){nav{padding:40px 10vw}nav.scrolled{padding:28px 10vw}.nav-logo,.nav-links a{font-size:1.2rem}.project-page{max-width:min(76vw,1750px)}}@media(max-width:1400px){.project-toc{display:none}}@media(min-width:1401px){.project-page{padding-right:clamp(80px,8vw,140px)}}@media(max-width:900px){.project-header{grid-template-columns:1fr;gap:32px}.case-section-body{grid-template-columns:1fr;gap:24px}.broadway-grid{grid-template-columns:repeat(2,1fr)}.broadway-grid img.broadway-hero{grid-column:span 2;grid-row:span 1}.reels-row{grid-template-columns:1fr}}@media(max-width:640px){.broadway-grid{grid-template-columns:1fr}.broadway-grid img.broadway-hero{grid-column:span 1}.banner-pair{grid-template-columns:1fr}footer{flex-direction:column;align-items:flex-start;padding:36px 24px;gap:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.project-nav{display:flex;justify-content:space-between;align-items:stretch;border-top:1px solid var(--divider);margin-top:5rem}.project-nav a{display:flex;flex-direction:column;gap:.35rem;padding:2.5rem 0;text-decoration:none;transition:opacity .25s;max-width:45%}.project-nav a:hover{opacity:.65}.project-nav .nav-label{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.project-nav .nav-title{font-family:Playfair Display,serif;font-size:clamp(1.1rem,2.5vw,1.6rem);font-weight:700;color:var(--text-primary);line-height:1.25}.project-nav .nav-next{text-align:right;margin-left:auto}@media(max-width:640px){.project-nav{margin-top:3rem}.project-nav a{padding:1.8rem 0}}
