:root{--wine:#780a10;--cream:#fff3e8;--muted:#efc2bc;--accent:#ee382b;--line:#fff3e839;--night:#210607}
body{background:var(--wine)}::selection{background:#ffb09a;color:#450609}
#logo-curtain{fill:var(--wine)}
.hero-wash{background:linear-gradient(180deg,#26040835,transparent 32%,#780a1026 80%,#780a1070)}
.introduction{background:radial-gradient(ellipse at 50% 70%,#b71920,transparent 72%),var(--wine);padding-bottom:40px}
.statement em{color:#ffa18e}.statement{margin:50px 0}.intro-links{display:flex;gap:34px;flex-wrap:wrap;justify-content:center;margin:0 0 60px;font-size:1rem}.intro-links a{border-bottom:1px solid var(--line);padding:12px 0}.intro-links span{margin-left:12px}.intro-links a:hover{border-color:var(--cream)}
.gallery-stage{background:radial-gradient(ellipse at 55% 42%,#a9171c 0%,var(--wine) 70%)}.gallery-word{color:#ef9787;opacity:.15}
.navigation{background:var(--wine)}.navigation nav{gap:8px}.navigation nav a{font-size:clamp(2.5rem,5vw,4.8rem);padding:12px 0}.navigation nav a:hover{color:#ffae99}dialog::backdrop{background:#170204ef}
.archive,.personal-story{padding:60px max(40px,6vw) 110px;scroll-margin-top:20px}
.archive{background:var(--night)}.chapter-line{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:20px;color:var(--muted)}
.archive-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:end;margin:60px 0}
.archive-heading h2,.story-heading h2{font:400 clamp(3.5rem,6.5vw,7rem)/1.03 var(--serif);letter-spacing:-.04em}.archive-heading h2 em,.story-heading h2 em{font-weight:400;color:#ff9e89}
.archive-intro{max-width:360px;justify-self:end}.archive-intro p{font-size:1rem;line-height:1.7;color:var(--muted);margin-bottom:18px}.text-button{padding:12px 0;border-bottom:1px solid var(--line);font-size:1rem}.text-button span{margin-left:18px}.text-button:hover{border-color:var(--cream)}
.archive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding-bottom:20px}
.archive-filters{display:flex;gap:10px}.filter-button{min-height:46px;border:1px solid transparent;padding:8px 20px;border-radius:30px;font-size:.875rem;white-space:nowrap}.filter-button.active{border-color:var(--cream);background:#fff3e80b}.filter-button span{opacity:.7;font-size:.75rem;margin-left:8px}.filter-button:hover{background:#fff3e815}
.photo-search{display:flex;align-items:center;gap:12px;width:min(100%,355px)}.photo-search svg{width:20px;height:20px;fill:none;stroke:var(--muted);stroke-width:1.4;flex-shrink:0}.photo-search input{font:400 1rem var(--sans);color:var(--cream);border:0;border-bottom:1px solid transparent;outline-offset:5px;background:none;min-width:0;width:100%;min-height:44px}.photo-search input::placeholder{color:#d3aaa5}.photo-search input:focus-visible{outline:1px solid var(--muted)}
.archive-status{display:flex;justify-content:space-between;gap:20px;margin:18px 0 35px;font-size:.75rem;color:var(--muted);line-height:1.6}
.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.archive-card:nth-child(even){margin-top:100px}.archive-image{position:relative}.open-archive-photo{display:block;padding:0;width:100%;position:relative;overflow:hidden;background:#fff}.open-archive-photo img{display:block;width:100%;height:auto;transition:transform .7s}.open-archive-photo:hover img{transform:scale(1.025)}.archive-image-label{position:absolute;left:0;right:0;bottom:0;padding:20px;background:#370508ed;font-size:.75rem;letter-spacing:.1em;text-align:center;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s}.open-archive-photo:hover .archive-image-label,.open-archive-photo:focus-visible .archive-image-label{opacity:1;transform:none}
.favorite-button{position:absolute;right:15px;top:15px;width:46px;height:46px;display:grid;place-items:center;background:#780a10;border:1px solid #fff4;border-radius:50%;box-shadow:0 2px 10px #0002}.favorite-button svg{width:21px;height:21px;fill:none;stroke:var(--cream);stroke-width:1.4}.favorite-button[aria-pressed=true] svg{fill:var(--cream)}.favorite-button:hover{background:#a4151b}
.archive-card-caption{display:flex;justify-content:space-between;gap:20px;margin-top:24px}.archive-card-caption h3{font:400 clamp(2rem,3.2vw,3.3rem)/1.15 var(--serif);letter-spacing:-.02em;margin:8px 0}.archive-card-caption .small{color:var(--muted)}.archive-card-caption time{font-size:.75rem;color:var(--muted);padding-top:5px;white-space:nowrap}.photo-vietnamese{font-size:.875rem;color:var(--muted);line-height:1.6}.archive-empty{text-align:center;padding:80px 20px;line-height:1.7}.archive-empty p{font:400 2rem var(--serif);margin-bottom:20px}.archive [hidden]{display:none!important}
.personal-story{background:#b3191e;padding-top:60px;padding-bottom:90px}.story-layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:75px}.story-heading{align-self:start;position:sticky;top:80px}.story-heading>p{margin-bottom:30px}.story-heading h2{font-size:clamp(3.8rem,6.5vw,7.5rem)}.story-heading h2 em{color:#ffb09a}.story-signature{display:block;width:clamp(130px,15vw,210px);height:auto;margin:40px 0 15px}.story-byline{display:block;font-size:.75rem;letter-spacing:.07em;line-height:1.8;color:var(--muted)}.story-copy{max-width:580px}.story-copy p{font-size:1.0625rem;line-height:1.95;margin-bottom:24px}.story-copy .story-lead{font:400 clamp(1.6rem,2.3vw,2.5rem)/1.45 var(--serif);letter-spacing:-.015em;margin-bottom:32px}.story-copy em{font-style:normal;color:#ffe1bb}.story-ending{border-top:1px solid var(--line);padding-top:26px;color:#ffe1bb}
.story-interests{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;border-top:1px solid var(--line);padding-top:40px;margin-top:65px}.story-interests h3{font:400 2rem/1.2 var(--serif);margin:18px 0 14px}.story-interests p{font-size:1rem;line-height:1.8;color:#f4d1c8;max-width:320px}.story-interests .small{color:var(--muted)}
footer{background:radial-gradient(ellipse at 20% 100%,#780a10,transparent 75%),#370708}.footer-frame{min-height:55svh}
.lightbox{background:#210607f5;padding:70px 75px 30px}.lightbox-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(290px,.7fr);gap:clamp(25px,4vw,65px);align-items:center;max-width:1450px;width:100%;height:100%;margin:auto}.lightbox figure{min-width:0;max-height:100%;gap:12px}.lightbox img{max-height:calc(100% - 34px);width:auto;max-width:100%;object-fit:contain}.lightbox figcaption{font-size:.75rem;line-height:1.5}.photo-info{max-height:100%;overflow:auto;padding:8px 8px 8px 0;scrollbar-width:thin}.photo-info>.small{color:var(--muted)}.photo-info h2{font:400 clamp(2.5rem,4vw,4.4rem)/1.1 var(--serif);letter-spacing:-.035em;margin:12px 0 10px}.photo-subtitle{font:italic 400 1.4rem/1.4 var(--serif);color:#ffae99}.photo-story{font-size:1rem;line-height:1.85;color:#f0d2cb;margin:25px 0}.photo-specs{margin:25px 0}.photo-specs>div{display:grid;grid-template-columns:1fr 1.6fr;gap:15px;padding:12px 0;border-top:1px solid var(--line);font-size:.875rem;line-height:1.5}.photo-specs dt{color:var(--muted)}.photo-specs dd{margin:0;text-align:right}.photo-info-actions{display:flex;gap:10px;flex-wrap:wrap}.photo-info-actions button{min-height:44px;border:1px solid var(--line);border-radius:3px;padding:10px 15px;font-size:.875rem}.photo-info-actions button:hover,.photo-info-actions button[aria-pressed=true]{background:#8c1117;border-color:#e4a29b}.photo-action-status{font-size:.875rem;line-height:1.6;color:#ffe1bb;min-height:1.6em;margin-top:12px}.share-link-fallback{width:100%;font:400 .875rem var(--sans);padding:10px;background:#fff1;color:var(--cream);border:1px solid var(--line)}.keyboard-hint{font-size:.75rem;color:var(--muted);margin-top:20px}.navigation nav a{line-height:1.3}
@media(max-width:800px){.archive,.personal-story{padding:45px 24px 70px}.archive-heading{grid-template-columns:1fr;gap:28px;margin:45px 0}.archive-heading h2{font-size:clamp(3.5rem,10vw,5rem)}.archive-intro{max-width:100%;justify-self:start}.archive-toolbar{align-items:stretch;flex-direction:column;gap:15px}.photo-search{width:100%}.archive-status{flex-direction:column;gap:5px;margin-bottom:25px}.photo-grid{gap:24px}.archive-card:nth-child(even){margin-top:55px}.archive-card-caption{flex-direction:column;gap:8px;margin-top:17px}.archive-card-caption h3{font-size:2.2rem}.archive-card-caption time{padding-top:0}.favorite-button{width:42px;height:42px;top:10px;right:10px}.archive-image-label{display:none}.story-layout{grid-template-columns:1fr;gap:45px;margin-top:50px}.story-heading{position:relative;top:0}.story-heading h2{font-size:clamp(4rem,12vw,6rem)}.story-signature{width:150px;margin-top:25px}.story-copy{max-width:none}.story-interests{gap:20px}.story-interests h3{font-size:1.65rem}.story-interests p{font-size:.9375rem}.chapter-line{font-size:.65rem;letter-spacing:.08em}.lightbox{padding:65px 48px 25px;overflow:auto}.lightbox[open]{display:block}.lightbox-layout{display:flex;flex-direction:column;height:auto;gap:25px}.lightbox figure{height:auto;max-height:none;width:100%;flex-shrink:0}.lightbox img{max-height:67svh;max-width:100%;object-fit:contain}.photo-info{max-height:none;overflow:visible;padding:0;width:100%}.photo-nav{position:fixed;top:45svh}.close-photo{position:fixed;top:15px;background:#210607e8}.photo-info h2{font-size:3rem}.keyboard-hint{display:none}.navigation nav a{font-size:2.5rem}.intro-links{gap:20px;margin-bottom:40px}.lightbox .photo-story{margin-top:20px}}
@media(max-width:480px){.photo-grid{grid-template-columns:1fr;gap:38px}.archive-card:nth-child(even){margin-top:0}.archive-card-caption{flex-direction:row;align-items:start}.archive-card-caption h3{font-size:2.4rem}.archive-card-caption time{font-size:.7rem}.story-interests{grid-template-columns:1fr;gap:28px;margin-top:40px}.story-interests article{border-bottom:1px solid var(--line);padding-bottom:25px}.story-interests p{max-width:none}.archive-heading h2{font-size:3.7rem}.photo-info-actions{gap:8px}.photo-info-actions button{padding:10px 11px}.lightbox{padding-left:38px;padding-right:38px}.photo-specs>div{grid-template-columns:1fr 1.4fr;gap:10px}}
@media(prefers-reduced-motion:reduce){.open-archive-photo:hover img{transform:none}.story-heading{position:relative;top:0}}
