:root,[data-theme=midnight]{--paper:#0b100d;--paper-elevated:#131915;--paper-subtle:#19221c;--paper-glass:#0b100de0;--paper-card:#141b16;--ink:#f5f6f0;--ink-secondary:#cdd6c7;--muted:#8e9b89;--line:#cddcbe1a;--line-strong:#cddcbe38;--accent:#dfcaa4;--accent-hover:#faebd2;--accent-muted:#bda682;--accent-dark:#0f1511;--accent-sage:#c2d5b1;--warm:#e0855a;--orbit:#536746;--dialog-bg:#111a14;--serif:"Playfair Display", Georgia, serif;--sans:"Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--nav-height:82px;--container-max:1380px;--tilt-x:0deg;--tilt-y:0deg;--mag-x:0px;--mag-y:0px;--hero-shift:0px;--photo-filter:saturate(.96) contrast(1.02) brightness(.98);--photo-filter-hover:saturate(1.08) contrast(1.04) brightness(1.02)}[data-theme=linen]{--paper:#f6f3ea;--paper-elevated:#ece6d8;--paper-subtle:#dfd8c8;--paper-glass:#f6f3eaeb;--paper-card:#f3efe5;--ink:#16221c;--ink-secondary:#314237;--muted:#6f7c6e;--line:#16221c1f;--line-strong:#16221c40;--accent:#1e2f26;--accent-hover:#2d4538;--accent-muted:#946543;--accent-dark:#f6f3ea;--accent-sage:#526f59;--warm:#a85433;--orbit:#8a9c84;--dialog-bg:#f8f6f0;--photo-filter:saturate(.98) contrast(1.03) brightness(.98);--photo-filter-hover:saturate(1.08) contrast(1.05) brightness(1.02)}[data-theme=amber]{--paper:#100e0c;--paper-elevated:#191512;--paper-subtle:#241d18;--paper-glass:#100e0ce6;--paper-card:#1c1814;--ink:#f7f3ec;--ink-secondary:#d9cec2;--muted:#9d8e80;--line:#ebd7c31a;--line-strong:#ebd7c338;--accent:#e5af75;--accent-hover:#f5c492;--accent-muted:#b98654;--accent-dark:#120e0b;--accent-sage:#d99a68;--warm:#e6764d;--orbit:#705844;--dialog-bg:#171310;--photo-filter:saturate(.95) contrast(1.03) brightness(.98);--photo-filter-hover:saturate(1.08) contrast(1.05) brightness(1.02)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background-color:var(--paper);color:var(--ink);scroll-padding-top:90px;transition:background-color .4s,color .4s}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:14px;line-height:1.8;transition:background-color .4s,color .4s;overflow-x:hidden}button,input,textarea,a{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:0 0;border:0;padding:0}a{text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}img{object-fit:cover;width:100%;height:100%;display:block}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12}h2{letter-spacing:-1.8px;font-size:clamp(36px,4.6vw,66px)}h2 em{color:var(--accent);font-style:italic;font-weight:400;transition:color .3s}.skip-link{background:var(--accent);color:var(--accent-dark);z-index:1000;border-radius:2px;padding:12px 20px;font-weight:600;transition:top .2s;position:fixed;top:-100px;left:20px}.skip-link:focus{top:16px}.scroll-progress{background:var(--accent);transform-origin:0;z-index:100;pointer-events:none;width:100%;height:2px;transition:transform 80ms linear,background-color .4s;position:fixed;top:0;left:0}.nav{z-index:50;height:var(--nav-height);background:var(--paper-glass);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:0 5%;transition:background .35s,border-color .35s,box-shadow .35s;display:flex;position:sticky;top:0}.nav.scrolled{border-color:var(--line-strong);box-shadow:0 10px 30px #00000059}.brand{letter-spacing:-.5px;align-items:center;gap:14px;font-size:22px;font-weight:600;line-height:1.1;display:flex}.brand-mark{background:var(--accent);width:42px;height:42px;color:var(--accent-dark);font:italic 29px var(--serif);border-radius:50%;flex-shrink:0;place-items:center;transition:transform .4s cubic-bezier(.34,1.56,.64,1),background-color .4s,color .4s;display:grid}.brand:hover .brand-mark{transform:rotate(-10deg)scale(1.08)}.brand-info{flex-direction:column;display:flex}.brand-sub{letter-spacing:2.2px;color:var(--muted);font-size:8px;font-weight:400;font-family:var(--sans);margin-top:5px;display:block}.nav nav{letter-spacing:.2px;gap:32px;font-size:13px;display:flex}.nav nav a{color:var(--ink-secondary);padding:6px 0;transition:color .25s;position:relative}.nav nav a:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:1px;transition:transform .35s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:0;transform:scaleX(0)}.nav nav a:hover{color:var(--ink)}.nav nav a:hover:after{transform:scaleX(1)}.nav-actions{align-items:center;gap:20px;display:flex}.nav-cta{border-bottom:1px solid var(--accent);letter-spacing:.5px;white-space:nowrap;color:var(--ink);background:0 0;align-items:center;gap:10px;padding:8px 0;font-size:12px;transition:color .3s,border-color .3s;display:inline-flex}.nav-cta:hover{color:var(--accent);border-color:var(--ink)}.theme-switcher{background:var(--paper-subtle);border:1px solid var(--line);border-radius:20px;align-items:center;gap:10px;padding:4px 8px;transition:border-color .3s,background-color .3s;display:flex}.theme-label{letter-spacing:1px;text-transform:uppercase;color:var(--muted);padding-left:4px;font-size:9px}.theme-pills{align-items:center;gap:4px;display:flex}.theme-btn{letter-spacing:.3px;color:var(--muted);border-radius:14px;align-items:center;gap:6px;padding:4px 9px;font-size:11px;transition:all .25s;display:flex}.theme-dot{border:1.5px solid #0000;border-radius:50%;flex-shrink:0;width:10px;height:10px;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.theme-btn:hover{color:var(--ink)}.theme-btn:hover .theme-dot{transform:scale(1.25)}.theme-btn.active{background:var(--paper-elevated);color:var(--ink);box-shadow:0 2px 8px #00000026}.theme-btn.active .theme-dot{transform:scale(1.18)}.button{letter-spacing:.6px;transform:translate(var(--mag-x,0px), var(--mag-y,0px));will-change:transform;border:1px solid #0000;justify-content:space-between;align-items:center;gap:36px;padding:16px 28px;font-size:11px;transition:transform .35s cubic-bezier(.22,1,.36,1),background .3s,color .3s,border-color .3s,box-shadow .3s;display:inline-flex}.button:active{transform:translate(var(--mag-x,0px), var(--mag-y,0px)) scale(.97)}.button.light{background:var(--accent);color:var(--accent-dark);font-weight:500}.button.light:hover{background:var(--accent-hover);box-shadow:0 8px 24px -6px #0000004d}.button.outline{border-color:var(--line-strong);color:var(--ink)}.button.outline:hover{background:var(--paper-subtle);border-color:var(--accent)}.reveal{opacity:0;transition:opacity .85s cubic-bezier(.16, 1, .3, 1) var(--delay,0s), transform .85s cubic-bezier(.16, 1, .3, 1) var(--delay,0s);will-change:opacity, transform;transform:translateY(35px)}.reveal.in-view{opacity:1;transform:translateY(0)}.reveal-blur-in{opacity:0;filter:blur(10px);transition:opacity .9s cubic-bezier(.16, 1, .3, 1) var(--delay,0s), filter .9s cubic-bezier(.16, 1, .3, 1) var(--delay,0s), transform .9s cubic-bezier(.16, 1, .3, 1) var(--delay,0s);will-change:opacity, filter, transform;transform:translateY(30px)scale(.97)}.reveal-blur-in.in-view{opacity:1;filter:blur();transform:translateY(0)scale(1)}.reveal-scale-up{opacity:0;filter:blur(4px);transition:opacity .85s cubic-bezier(.16, 1, .3, 1) var(--delay,0s), transform .85s cubic-bezier(.16, 1, .3, 1) var(--delay,0s), filter .85s cubic-bezier(.16, 1, .3, 1) var(--delay,0s);will-change:opacity, transform, filter;transform:scale(.92)}.reveal-scale-up.in-view{opacity:1;filter:blur();transform:scale(1)}.reveal-fade-left{opacity:0;filter:blur(4px);transition:opacity .85s cubic-bezier(.16, 1, .3, 1) var(--delay,0s), transform .85s cubic-bezier(.16, 1, .3, 1) var(--delay,0s), filter .85s cubic-bezier(.16, 1, .3, 1) var(--delay,0s);will-change:opacity, transform, filter;transform:translate(-40px)}.reveal-fade-left.in-view{opacity:1;filter:blur();transform:translate(0)}.reveal-fade-right{opacity:0;filter:blur(4px);transition:opacity .85s cubic-bezier(.16, 1, .3, 1) var(--delay,0s), transform .85s cubic-bezier(.16, 1, .3, 1) var(--delay,0s), filter .85s cubic-bezier(.16, 1, .3, 1) var(--delay,0s);will-change:opacity, transform, filter;transform:translate(40px)}.reveal-fade-right.in-view{opacity:1;filter:blur();transform:translate(0)}.letter,.journey{overflow:hidden}.reveal-group .slide-in-left,.reveal-group .slide-in-right{opacity:0;will-change:transform, opacity, filter;transition:opacity 1.15s cubic-bezier(.16, 1, .3, 1) var(--delay,0s), transform 1.2s cubic-bezier(.16, 1, .3, 1) var(--delay,0s), filter 1.1s cubic-bezier(.16, 1, .3, 1) var(--delay,0s)}.reveal-group .slide-in-left{filter:blur(8px);transform:translate(-160px)}.reveal-group .slide-in-right{filter:blur(8px);transform:translate(160px)}.reveal-group.in-view .slide-in-left,.reveal-group.in-view .slide-in-right{opacity:1;filter:blur();transform:translate(0)}@media (width<=900px){.reveal-group .slide-in-left{filter:blur(4px);transform:translate(-70px)}.reveal-group .slide-in-right{filter:blur(4px);transform:translate(70px)}}@media (prefers-reduced-motion:reduce){.reveal-group.allow-text-motion .slide-in-left,.reveal-group.allow-text-motion .slide-in-right{transition:opacity 1.15s cubic-bezier(.16, 1, .3, 1) var(--delay,0s), transform 1.2s cubic-bezier(.16, 1, .3, 1) var(--delay,0s), filter 1.1s cubic-bezier(.16, 1, .3, 1) var(--delay,0s)!important}}.section{padding:85px 8% 115px;transition:background-color .4s;position:relative}.section-meta{border-bottom:1px solid var(--line);letter-spacing:1.8px;color:var(--muted);text-transform:uppercase;justify-content:space-between;gap:15px;padding-bottom:22px;font-size:9px;display:flex;position:relative}.section-heading{justify-content:space-between;align-items:flex-end;gap:30px;padding:55px 0 45px;display:flex}.section-heading p{color:var(--muted);max-width:480px;margin-top:18px;font-size:13px}.archive-label{letter-spacing:2px;color:var(--accent-muted);white-space:nowrap;padding-bottom:7px;font-size:9px}.eyebrow{letter-spacing:2.5px;text-transform:uppercase;align-items:center;gap:16px;font-size:9px;line-height:1.6;display:flex}.eyebrow .line{transform-origin:0;background:currentColor;width:36px;height:1px;animation:1s cubic-bezier(.16,1,.3,1) .1s both line-expand}.eyebrow.dark{color:var(--muted)}.demo-note{color:var(--muted);letter-spacing:.3px;padding:16px 0 28px;font-size:11px}.hero{min-height:740px;height:calc(100svh - var(--nav-height));max-height:1050px;color:var(--ink);background:var(--paper);flex-direction:column;justify-content:space-between;transition:background-color .4s;display:flex;position:relative;overflow:hidden}.hero-image-wrap{position:absolute;inset:0;overflow:hidden}.hero-image{object-position:center 45%;height:112%;transform:translateY(var(--hero-shift,0));filter:var(--photo-filter);will-change:transform;animation:24s ease-in-out infinite alternate cinema-drift;position:absolute;inset:-6% 0}.hero-shade{background:linear-gradient(90deg, var(--paper) 0%, #0c100db8 48%, #0c100d33 100%), linear-gradient(0deg, var(--paper) 0%, transparent 45%);pointer-events:none;position:absolute;inset:0}[data-theme=linen] .hero-shade{background:linear-gradient(90deg,#f6f3eaf2 0%,#f6f3eaad 48%,#f6f3ea33 100%),linear-gradient(#0000 55%,#f6f3ea 100%)}.hero:after{content:"";pointer-events:none;background:radial-gradient(at 75% 25%,#dfcaa42e,#0000 60%);animation:8s ease-in-out infinite ambient-breathe;position:absolute;inset:0}.hero-top{z-index:2;letter-spacing:2px;color:var(--accent-muted);justify-content:space-between;align-items:center;padding:32px 5%;font-size:9px;animation:.9s cubic-bezier(.16,1,.3,1) both hero-fade-up;display:flex;position:relative}.hero-copy{z-index:2;max-width:900px;padding:40px 8% 60px;position:relative}.hero-copy .eyebrow{animation:1s cubic-bezier(.16,1,.3,1) .1s both hero-fade-up}.hero h1{letter-spacing:-3.6px;margin:24px 0 26px;font-size:clamp(66px,7.8vw,120px);line-height:1.04;animation:1.2s cubic-bezier(.16,1,.3,1) .25s both hero-fade-up}.hero h1 em{color:var(--accent)}.hero-description{color:var(--ink-secondary);max-width:540px;font-size:15px;line-height:1.9;animation:1.2s cubic-bezier(.16,1,.3,1) .45s both hero-fade-up}.hero .button{margin-top:34px;animation:1.2s cubic-bezier(.16,1,.3,1) .6s both hero-fade-up}.hero-bottom{z-index:2;letter-spacing:1.8px;color:var(--muted);justify-content:space-between;align-items:flex-end;padding:0 5% 34px;font-size:8px;animation:1s cubic-bezier(.16,1,.3,1) .75s both hero-fade-up;display:flex;position:relative}.hero-bottom strong{letter-spacing:0;color:var(--ink);margin-top:4px;font-size:11px;font-weight:400;display:block}.hero-bottom a{color:var(--accent-muted);align-items:center;gap:8px;transition:color .3s,transform .3s;display:inline-flex}.hero-bottom a:hover{color:var(--ink);transform:translateY(3px)}.image-note{opacity:.85;letter-spacing:.3px;color:var(--muted)}.memory-ribbon{border-bottom:1px solid var(--line);border-top:1px solid var(--line);background:var(--paper-elevated);white-space:nowrap;padding:22px 0;transition:background-color .4s,border-color .4s;overflow:hidden}.memory-ribbon-track{align-items:center;gap:55px;width:max-content;animation:36s linear infinite ribbon-travel;display:flex}.memory-ribbon:hover .memory-ribbon-track{animation-play-state:paused}.memory-ribbon span{letter-spacing:5px;color:var(--accent-muted);font-size:12px;font-weight:500}.memory-ribbon i{font:italic 25px var(--serif);color:var(--accent)}.letter{background:var(--paper)}.letter-grid{grid-template-columns:1.15fr 1fr;gap:10%;padding-top:80px;display:grid}.letter h2{margin-top:24px}.handwritten{font:italic 24px var(--serif);color:var(--warm);margin-top:55px;margin-left:20px;transition:color .4s;animation:6s ease-in-out infinite alternate floatHandwritten;display:inline-block;transform:rotate(-4deg)}.letter-body{color:var(--ink-secondary);font-size:14px;line-height:2.1}.salutation{font:italic 26px var(--serif);color:var(--ink);margin-bottom:25px}.letter-body p+p{margin-top:20px}.signature{color:var(--ink);align-items:center;gap:16px;margin-top:36px;font-size:12px;display:flex}.signature-line{background:var(--accent);transform-origin:0;flex-shrink:0;width:35px;height:1px;animation:1.2s cubic-bezier(.16,1,.3,1) both line-expand}.signature small{color:var(--accent-muted);margin-top:4px;font-size:9px;display:block}.gallery{background:var(--paper-elevated)}.gallery-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:14px;display:flex}.filters{gap:28px;display:flex}.filters button{color:var(--muted);letter-spacing:.5px;background:0 0;padding:10px 0;font-size:12px;transition:color .3s;position:relative}.filters button:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:2px;transition:transform .4s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-15px;left:0;transform:scaleX(0)}.filters button:hover{color:var(--ink)}.filters button.active{color:var(--ink);font-weight:500}.filters button.active:after{transform:scaleX(1)}#count{color:var(--muted);letter-spacing:.5px;font-size:10px}.gallery-grid{grid-template-columns:1.25fr 1fr;align-items:start;gap:60px 7%;display:grid}.memory{text-align:left;background:0 0;border:0;width:100%;min-width:0;padding:0;display:block}.memory:nth-child(2n){padding-top:85px}.memory-paper{background:var(--paper-card);border:1px solid var(--line);transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));will-change:transform, box-shadow;border-radius:4px;padding:14px 14px 20px;transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s,border-color .35s,background-color .4s;position:relative}.memory:hover .memory-paper,.memory:focus-visible .memory-paper{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-7px);border-color:var(--line-strong);box-shadow:0 24px 50px -12px #00000073, 0 0 0 1px var(--line-strong)}.memory-pin{background:radial-gradient(circle at 35% 35%, #fff 0%, var(--accent-muted) 55%, var(--accent-dark) 100%);z-index:5;border-radius:50%;width:12px;height:12px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);position:absolute;top:-6px;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #0006}.memory:hover .memory-pin{transform:translate(-50%)scale(1.22)}.memory-picture{background:var(--paper-subtle);aspect-ratio:5/4;border-radius:2px;position:relative;overflow:hidden}.memory:nth-child(2n) .memory-picture,.memory:nth-child(5) .memory-picture{aspect-ratio:4/5}.memory-picture.skeleton:before{content:"";z-index:1;background:linear-gradient(100deg,#0000,#dfcaa429,#0000);animation:1.8s infinite skeleton-pass;position:absolute;inset:0}.memory img{filter:var(--photo-filter);will-change:transform, filter, opacity;transition:transform .9s cubic-bezier(.16,1,.3,1),filter .7s,opacity .6s}.memory img.img-loading{opacity:0;transform:scale(1.02)}.memory img.img-loaded{opacity:1;transform:scale(1)}.memory:hover img,.memory:focus-visible img{filter:var(--photo-filter-hover);transform:scale(1.06)}.image-open{background:var(--accent);width:44px;height:44px;color:var(--accent-dark);opacity:0;z-index:3;border-radius:50%;place-items:center;font-size:20px;transition:transform .45s cubic-bezier(.34,1.56,.64,1),opacity .35s;display:grid;position:absolute;bottom:16px;right:16px;transform:translateY(15px)rotate(-35deg);box-shadow:0 6px 18px #00000059}.memory:hover .image-open,.memory:focus-visible .image-open{opacity:1;transform:translateY(0)rotate(0)}.memory-meta{letter-spacing:1.5px;color:var(--muted);text-transform:uppercase;justify-content:space-between;padding:18px 0 8px;font-size:8.5px;display:flex}.memory h3{color:var(--ink);font-size:23px;line-height:1.3;transition:color .3s}.memory:hover h3{color:var(--accent)}.gallery-more{text-align:center;border-top:1px solid var(--line);flex-direction:column;justify-content:center;align-items:center;gap:22px;margin-top:60px;padding:70px 0 20px;display:flex}.gallery-more p{letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-size:11px}.gallery-more .button{background:var(--paper-subtle);border:1px solid var(--line-strong);color:var(--ink);letter-spacing:1px;text-transform:uppercase;border-radius:2px;padding:16px 36px;font-size:11.5px;transition:all .35s cubic-bezier(.22,1,.36,1);box-shadow:0 4px 16px #00000026}.gallery-more .button:hover{background:var(--accent);color:var(--accent-dark);border-color:var(--accent);transform:translateY(-2px);box-shadow:0 10px 28px #0000004d}.cinematic-break{background:var(--paper);align-items:center;height:720px;padding:80px 8%;display:flex;position:relative;overflow:hidden}.cinematic-break>img{width:100%;height:120%;filter:var(--photo-filter);will-change:transform;animation:24s ease-in-out infinite alternate cinema-drift;position:absolute;inset:-10% 0}.cinematic-break-overlay{background:radial-gradient(circle at 30% 50%, var(--paper) 0%, #0c100dbf 60%, transparent 100%);position:absolute;inset:0}[data-theme=linen] .cinematic-break-overlay{background:radial-gradient(circle at 30%,#f6f3eaf2 0%,#f6f3eabf 60%,#0000 100%)}.cinematic-break>div{z-index:2;max-width:900px;position:relative}.cinematic-break h2{margin:26px 0;font-size:clamp(42px,5vw,78px);line-height:1.15}.cinematic-break p:not(.eyebrow){color:var(--ink-secondary);max-width:540px;font-size:15px;line-height:1.9}.cinematic-break small{color:var(--accent-muted);letter-spacing:1px;margin-top:28px;font-size:9px;display:block}.films{background:var(--paper)}.film-grid{grid-template-columns:minmax(0,1fr);max-width:1000px;margin-left:auto;display:grid}.film-card{color:var(--ink);text-align:left;background:0 0;width:100%;padding:0;display:block}.film-preview{aspect-ratio:21/9;background:var(--paper-subtle);border-radius:4px;place-items:center;display:grid;position:relative;overflow:hidden}.film-preview>img{width:100%;height:100%;filter:var(--photo-filter);transition:transform 1s cubic-bezier(.16,1,.3,1),filter .6s;position:absolute;inset:0}.film-card:hover .film-preview>img{filter:var(--photo-filter-hover);transform:scale(1.04)}.film-preview:before{content:"";z-index:1;pointer-events:none;background:radial-gradient(#dfcaa447,#0000 65%);width:60%;height:160%;animation:9s ease-in-out infinite alternate film-glow;position:absolute}.play-circle{border:1px solid var(--line-strong);z-index:2;background:var(--paper-glass);width:80px;height:80px;color:var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50%;place-items:center;transition:transform .35s cubic-bezier(.34,1.56,.64,1),background .3s,color .3s,border-color .3s;animation:3s ease-in-out infinite playPulse;display:grid}.film-card:hover .play-circle{background:var(--accent);color:var(--accent-dark);border-color:var(--accent);transform:scale(1.15)}.film-label{letter-spacing:2px;color:var(--accent-muted);z-index:2;text-transform:uppercase;font-size:9px;position:absolute;bottom:18px;left:20px}.film-card>.eyebrow{color:var(--muted);margin:22px 0 12px}.film-card h3{max-width:700px;font-size:36px;transition:color .3s}.film-card:hover h3{color:var(--accent)}.film-watch{letter-spacing:2px;color:var(--accent-muted);align-items:center;gap:8px;margin-top:20px;font-size:9px;transition:color .3s,transform .3s;display:inline-flex}.film-card:hover .film-watch{color:var(--accent);transform:translate(4px)}.details{background:var(--paper-elevated)}.detail-grid{grid-template-columns:1.4fr 1fr;gap:35px 10%;margin-top:20px;display:grid}.detail-grid article{padding-top:25px;transition:transform .35s;position:relative}.detail-grid article:before{content:"";background:var(--line-strong);transform-origin:0;width:100%;height:1px;transition:transform .85s cubic-bezier(.16, 1, .3, 1) var(--delay,0s);position:absolute;top:0;left:0;transform:scaleX(0)}.detail-grid article.in-view:before{transform:scaleX(1)}.detail-grid article:hover{transform:translateY(-4px)}.detail-grid article:first-child{grid-row:span 2;padding:35px 0}.detail-grid article:first-child h3{margin-top:55px;margin-bottom:24px;font-size:clamp(38px,4vw,54px)}.detail-grid article:first-child p{max-width:360px;font-size:14px;line-height:2}.detail-grid span{letter-spacing:2px;color:var(--accent-muted);text-transform:uppercase;font-size:9px}.detail-grid h3{margin:24px 0 16px;font-size:28px;transition:color .3s}.detail-grid article:hover h3{color:var(--accent)}.detail-grid p{color:var(--ink-secondary);font-size:13px;line-height:1.9}.journey{background:var(--paper-subtle)}.journey-grid{grid-template-columns:1fr 1.1fr;gap:12%;padding-top:60px;display:grid}.journey-title{align-self:start;position:sticky;top:130px}.journey-title p{color:var(--muted);margin-top:24px;font-size:13px;line-height:1.9}.journey-orbit{border:1px solid var(--orbit);opacity:.8;border-radius:50%;width:110px;height:110px;margin-top:55px;animation:24s linear infinite orbit-turn;display:block;position:relative}.journey-orbit:before{content:"";border:1px solid var(--orbit);border-radius:50%;position:absolute;inset:18px -18px;transform:rotate(45deg)}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-bottom:1px solid var(--line);gap:28px;margin-bottom:40px;padding:0 0 40px;display:flex}.timeline li:last-child{border-bottom:0;margin-bottom:0}.timeline-index{border:1px solid var(--orbit);width:34px;height:34px;color:var(--accent-muted);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),background-color .3s,border-color .3s;display:grid}.timeline li:hover .timeline-index{border-color:var(--accent);background:var(--paper-card);color:var(--accent);transform:scale(1.18)}.timeline h3{color:var(--ink);margin:12px 0 10px;font-size:26px;line-height:1.35;transition:color .3s}.timeline li:hover h3{color:var(--accent)}.timeline li p:last-child{color:var(--muted);font-size:13px;line-height:1.9}.ending{background:var(--paper);color:var(--ink);text-align:left;padding:120px 8%;position:relative;overflow:hidden}.ending .eyebrow{color:var(--accent-muted);justify-content:flex-start}.ending h2{letter-spacing:-3px;margin:28px 0;font-size:clamp(65px,8.5vw,120px);line-height:1.05}.ending p:not(.eyebrow){color:var(--ink-secondary);max-width:520px;font-size:14px;line-height:1.9}.ending .button{z-index:2;margin-top:38px;position:relative}.ending-orbit{border:1px solid var(--orbit);opacity:.65;pointer-events:none;border-radius:50%;width:240px;height:240px;animation:35s linear infinite orbit-turn;position:absolute;top:28%;right:12%}.ending-orbit:before,.ending-orbit:after{content:"";border:1px solid var(--orbit);border-radius:50%;animation:45s linear infinite orbit-turn-reverse;position:absolute;inset:20px -30px;transform:rotate(50deg)}.ending-orbit:after{transform:rotate(-50deg)}footer{color:var(--muted);background:var(--paper-elevated);border-top:1px solid var(--line);letter-spacing:.5px;justify-content:space-between;align-items:center;gap:20px;padding:28px 5%;font-size:9px;display:flex}.lightbox-backdrop{-webkit-backdrop-filter:blur(12px);z-index:999;background:#080c0aeb;place-items:center;padding:20px;animation:.25s ease-out fadeIn;display:grid;position:fixed;inset:0}.lightbox-modal{background:var(--dialog-bg);width:min(1080px,94vw);color:var(--ink);border:1px solid var(--line-strong);border-radius:4px;animation:.4s cubic-bezier(.16,1,.3,1) dialog-enter;position:relative;overflow:hidden;box-shadow:0 25px 60px #000000a6}.lightbox-head{letter-spacing:1.5px;border-bottom:1px solid var(--line);color:var(--accent-muted);justify-content:space-between;align-items:center;padding:16px 24px;font-size:11px;display:flex}.icon-button{width:44px;height:44px;color:inherit;background:0 0;border-radius:50%;place-items:center;font-size:20px;transition:background .25s,transform .25s cubic-bezier(.34,1.56,.64,1),color .25s;display:grid}.icon-button:hover{color:var(--ink);background:#ffffff1f;transform:scale(1.12)}.icon-button:active{transform:scale(.95)}.lightbox-stage{background:var(--paper);justify-content:center;align-items:center;min-height:240px;padding:0 65px;display:flex;position:relative}.lightbox-media-container{text-align:center;justify-content:center;align-items:center;width:100%;animation:.35s ease-out media-fade;display:flex}.lightbox-media-container img,.lightbox-media-container video{object-fit:contain;width:100%;height:auto;max-height:62svh}.lightbox-nav-btn{z-index:10;position:absolute;top:calc(50% - 22px)}.lightbox-nav-btn.prev{left:12px}.lightbox-nav-btn.next{right:12px}.lightbox-caption{border-top:1px solid var(--line);padding:25px 60px 30px}.lightbox-caption h3{color:var(--ink);font-size:24px}.lightbox-caption p{color:var(--ink-secondary);margin-top:10px;font-size:12px;line-height:1.8}.media-error{color:var(--muted);text-align:center;padding:35px;font-size:13px}@keyframes hero-fade-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes line-expand{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes cinema-drift{0%{transform:scale(1.02)}to{transform:scale(1.08)}}@keyframes ambient-breathe{0%,to{opacity:.35}50%{opacity:.8}}@keyframes film-glow{0%{transform:translate(-40%)rotate(-25deg)}to{transform:translate(45%)rotate(25deg)}}@keyframes playPulse{0%,to{box-shadow:0 0 #dfcaa473}50%{box-shadow:0 0 0 16px #dfcaa400}}@keyframes floatHandwritten{0%,to{transform:rotate(-4deg)translateY(0)}50%{transform:rotate(-3deg)translateY(-4px)}}@keyframes ribbon-travel{to{transform:translate(-50%)}}@keyframes orbit-turn{to{transform:rotate(360deg)}}@keyframes orbit-turn-reverse{to{transform:rotate(-360deg)}}@keyframes dialog-enter{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes media-fade{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes skeleton-pass{0%{transform:translate(-100%)}to{transform:translate(100%)}}.paused *,.paused :before,.paused :after{animation-play-state:paused!important}@media (width>=1500px){.section,.hero-copy,.cinematic-break,.ending{padding-left:max(8%, calc((100vw - var(--container-max)) / 2));padding-right:max(8%, calc((100vw - var(--container-max)) / 2))}.nav,.hero-top,.hero-bottom,footer{padding-left:max(5%, calc((100vw - var(--container-max)) / 2));padding-right:max(5%, calc((100vw - var(--container-max)) / 2))}}@media (width<=900px){.nav nav{gap:18px}.section{padding:55px 6% 75px}.hero-copy{padding-top:70px}.letter-grid{gap:8%}.gallery-grid{gap:40px 5%}.memory h3{font-size:22px}.ending-orbit{opacity:.35;width:150px;height:150px;top:35%;right:8%}.archive-label{white-space:normal;text-align:right;max-width:150px;font-size:8px}.section-meta span:last-child{display:none}}@media (width<=767px){.gallery-grid,.letter-grid,.journey-grid,.detail-grid{grid-template-columns:1fr}.memory:nth-child(2n){padding-top:0}.memory-picture,.memory:nth-child(2n) .memory-picture,.memory:nth-child(5) .memory-picture{aspect-ratio:4/3}.journey-title{position:static}.journey-orbit{display:none}.detail-grid article:first-child{grid-row:auto;padding:25px 0}.detail-grid article:first-child h3{margin:28px 0 20px;font-size:31px}.detail-grid article:first-child p{max-width:none;font-size:13px}.letter-grid{gap:40px}.image-open{opacity:1;width:38px;height:38px;font-size:18px;transform:none}}@media (width<=600px){:root{--nav-height:76px}.nav{height:var(--nav-height);padding:0 5%}.brand{font-size:18px}.brand-mark{width:34px;height:34px;font-size:24px}.brand-sub{font-size:6px}.nav nav{display:none}.nav-cta{font-size:11px}.theme-name{display:none}.hero{min-height:680px;height:calc(100svh - var(--nav-height))}.hero-top{letter-spacing:1.2px;padding:25px 6%;font-size:7.5px}.hero-copy{padding:50px 6% 90px}.hero h1{letter-spacing:-2.5px;margin:18px 0 20px;font-size:clamp(52px,12vw,67px)}.hero-description{font-size:13px}.hero-bottom{padding-bottom:25px}.image-note{display:none}.archive-label{text-align:left;max-width:none;margin-top:18px;display:block}.section{padding:40px 6% 60px}.letter-grid{padding-top:35px}.handwritten{margin:25px 0 10px 10px}.letter-body{font-size:13px}.filters{gap:16px}.filters button{min-height:40px;font-size:11px}.memory-ribbon{padding:16px 0}.memory-ribbon span{letter-spacing:3px;font-size:9px}.cinematic-break{height:580px;padding:50px 6%}.cinematic-break h2{font-size:38px}.film-preview{aspect-ratio:16/10}.film-card h3{font-size:26px}.play-circle{width:60px;height:60px}.ending{padding:80px 6%}.ending h2{font-size:clamp(52px,13vw,72px)}.ending-orbit{opacity:.22;width:100px;height:100px;top:45%;right:0}.lightbox-stage{padding:0 40px}.lightbox-nav-btn.prev{left:4px}.lightbox-nav-btn.next{right:4px}.lightbox-caption{padding:20px 24px}.lightbox-caption h3{font-size:20px}footer{text-align:center;gap:8px;font-size:8px;display:grid}}.allow-section-motion{--enter-x:0px;--enter-y:28px;transition:opacity .8s cubic-bezier(.16, 1, .3, 1) var(--delay,0s), transform .8s cubic-bezier(.16, 1, .3, 1) var(--delay,0s)}.allow-section-motion.reveal-fade-left{--enter-x:-48px;--enter-y:0px}.allow-section-motion.reveal-fade-right{--enter-x:48px;--enter-y:0px}.allow-section-motion:not(.in-view){opacity:0;transform:translate(var(--enter-x), var(--enter-y))}.allow-section-motion.in-view{opacity:1;transform:translate(0)}@media (width<=600px){.allow-section-motion{--enter-y:20px}.allow-section-motion.reveal-fade-left{--enter-x:-24px;--enter-y:0px}.allow-section-motion.reveal-fade-right{--enter-x:24px;--enter-y:0px}}
