:root{--bg: #f8f6f0;--bg-soft: #f1efe7;--surface: #ffffff;--ink: #0a0a0a;--ink-soft: #2a2a2a;--muted: #757065;--line: #e8e4dc;--line-strong: #d4cfc1;--accent: #c8102e;--accent-bg: #fef2f2;--accent-deep: #8a0b1f;--true: #15633b;--true-bg: #f0fbf4;--cream: #f0eadc;--parchment: #f5f0e1;--font-display: "Instrument Serif", Georgia, serif;--font-body: "Geist", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "Geist Mono", "SF Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg)}body{font-family:var(--font-body);color:var(--ink);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","cv11"}.container{max-width:620px;margin:0 auto;padding:28px 24px 80px}.wordmark{font-family:var(--font-display);font-size:38px;font-weight:400;letter-spacing:-.015em;line-height:1;color:var(--ink)}.wordmark .amp{font-style:italic;color:var(--accent);margin:0 .04em;display:inline-block}.landing-screen{position:fixed;inset:0;z-index:100;background:#050505;display:flex;flex-direction:column;overflow:hidden;transition:opacity .5s ease;color:#f0eadc;font-family:var(--font-body)}.landing-screen.hide{opacity:0;pointer-events:none}.landing-header{position:absolute;top:0;left:0;right:0;z-index:10;padding:22px 24px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.landing-mark{display:flex;flex-direction:column;gap:8px}.landing-mark .wordmark{font-family:var(--font-display);font-size:48px;color:#f0eadc;letter-spacing:-.015em;line-height:1}.landing-mark .wordmark .amp{color:var(--accent);font-style:italic}.landing-subtitle{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#f0eadc8c;font-weight:500}.landing-meta{text-align:right;font-family:var(--font-mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;line-height:1.55;font-weight:500;color:#f0eadcb8}.landing-meta .meta-time{color:var(--accent)}.landing-hero{flex:1 1 auto;position:relative;min-height:280px;background:#050505;overflow:hidden}.photo-grid{position:absolute;inset:0;background:#050505}.photo-grid img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:grayscale(.9) contrast(1.05);opacity:0;transition:opacity 3s ease-in-out;user-select:none;pointer-events:none}.photo-grid img.active{opacity:1}.photo-grid:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,5,1) 0%,rgba(5,5,5,.98) 12%,rgba(5,5,5,.75) 22%,rgba(5,5,5,.35) 32%,transparent 44%),radial-gradient(ellipse 105% 80% at center 42%,transparent 0%,transparent 30%,rgba(5,5,5,.55) 100%),linear-gradient(180deg,transparent 0%,transparent 84%,rgba(5,5,5,.6) 93%,rgba(5,5,5,1) 100%);pointer-events:none}.landing-noise{position:absolute;inset:0;z-index:5;opacity:.06;mix-blend-mode:overlay;pointer-events:none}.hero-caption{position:absolute;bottom:14px;right:18px;left:18px;z-index:6;font-family:var(--font-display);font-style:italic;font-size:11.5px;line-height:1.4;color:#f0eadcbf;text-align:right;max-width:360px;margin-left:auto;opacity:0;transform:translateY(4px);transition:opacity .7s ease,transform .7s ease;pointer-events:none;text-shadow:0 1px 6px rgba(0,0,0,.5);letter-spacing:.005em}.hero-caption.visible{opacity:1;transform:translateY(0)}@media (max-width: 720px){.landing-mark .wordmark{font-size:38px}.landing-subtitle{font-size:10px}.hero-caption{font-size:10.5px;bottom:12px;right:14px;left:14px;max-width:none}}.landing-content{background:#050505;padding:20px 28px 36px;z-index:4;position:relative;flex:0 0 auto}.landing-headline{font-family:var(--font-display);font-size:clamp(38px,9vw,56px);line-height:.95;letter-spacing:-.025em;color:#f0eadc;margin:0;font-weight:400}.landing-rule{width:42px;height:2px;background:var(--accent);margin:22px 0;border:none}.landing-subline{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#f0eadc99;line-height:1.7;font-weight:500;margin:0 0 30px;max-width:320px}.landing-cta{background:#f0eadc;color:#050505;border:none;width:100%;padding:20px 24px;font-family:var(--font-body);font-size:15px;font-weight:500;letter-spacing:-.005em;cursor:pointer;border-radius:10px;position:relative;text-align:center;transition:background .15s,transform .1s}.landing-cta:after{content:"→";position:absolute;right:24px;top:50%;transform:translateY(-50%);font-size:17px;transition:transform .15s}.landing-cta:hover{background:#fffaeb}.landing-cta:hover:after{transform:translate(3px,-50%)}.landing-cta:active{transform:scale(.99)}.landing-cta-secondary{background:none;border:none;margin:22px auto 0;display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-body);font-size:13px;color:#f0eadcb3;cursor:pointer;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#f0eadc66;text-decoration-thickness:1px;padding:8px 12px;transition:color .15s}.landing-cta-secondary:after{content:"→";text-decoration:none;display:inline-block}.landing-cta-secondary:hover{color:#f0eadc}.archive-open-btn{display:block;width:100%;margin-top:14px;padding:14px 16px;background:transparent;border:1px solid var(--accent);color:var(--accent);font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;text-align:center;transition:background .15s,color .15s}.archive-open-btn:hover{background:var(--accent);color:var(--bg)}.landing-terms{display:block;text-align:center;margin-top:28px;font-family:var(--font-mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:#f0eadc59;text-decoration:none;transition:color .15s}.landing-terms:hover{color:#f0eadcb3}.notecards-sheet{position:fixed;inset:0;z-index:200;background:#050505;color:#f0eadc;transform:translateY(100%);transition:transform .45s cubic-bezier(.2,.8,.2,1);overflow-y:auto;overscroll-behavior:contain;visibility:hidden;font-family:var(--font-body)}.notecards-sheet.open{transform:translateY(0);visibility:visible}.sheet-handle{position:sticky;top:0;z-index:11;background:#050505;height:22px;display:flex;align-items:center;justify-content:center;padding-top:8px}.sheet-handle:before{content:"";width:40px;height:4px;border-radius:2px;background:#f0eadc40}.sheet-close{position:fixed;top:16px;right:16px;z-index:12;background:#050505d9;backdrop-filter:blur(8px);border:1px solid rgba(240,234,220,.15);border-radius:50%;width:40px;height:40px;font-size:22px;line-height:1;color:var(--cream);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.sheet-close:hover{background:#f0eadc26}.sheet-content{max-width:1100px;margin:0 auto;padding:8px 24px 64px;min-height:100vh;display:flex;flex-direction:column}.archive-header{position:relative;text-align:center;padding:24px 0 36px;border-bottom:1px solid rgba(240,234,220,.15);margin-bottom:32px}.archive-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#f0eadc8c;margin-bottom:8px}.archive-title{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(48px,9vw,72px);color:var(--accent);line-height:1;margin-bottom:12px}.archive-sub{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#f0eadc8c;line-height:1.6;max-width:380px;margin:0 auto 16px}.archive-meta{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#f0eadc59}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;flex:1 0 auto}@media (max-width: 720px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px}}@media (max-width: 640px){.gallery-grid{grid-template-columns:1fr;gap:14px}}.card{aspect-ratio:3 / 4;perspective:1200px;cursor:pointer;background:transparent;border:none;outline:none}.card:focus-visible .card-inner{box-shadow:0 0 0 2px var(--accent)}.card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.8,.2,1);border-radius:4px}.card.flipped .card-inner{transform:rotateY(180deg)}.card-front,.card-back{position:absolute;inset:0;backface-visibility:hidden;border-radius:4px;overflow:hidden}.card-front{background-color:#1a1a1a;background-size:cover;background-position:center;filter:grayscale(.4) contrast(1.05);transition:filter .3s}.card:hover .card-front{filter:grayscale(0) contrast(1.1)}.card-front-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,transparent 55%,rgba(5,5,5,.4) 75%,rgba(5,5,5,.85) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:14px}.card-front-meta{font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#f0eadcd9;margin-bottom:4px}.card-flip-hint{font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#f0eadc8c;opacity:0;transition:opacity .2s}.card:hover .card-flip-hint{opacity:1}.card-back{background:var(--parchment);color:var(--ink);transform:rotateY(180deg);padding:18px 18px 16px;display:flex;flex-direction:column;font-family:var(--font-body)}.card-title{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(20px,2.4vw,26px);line-height:1.1;color:var(--ink);margin-bottom:6px}.card-meta{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.card-fact{font-family:var(--font-display);font-size:clamp(13px,1.4vw,15px);line-height:1.45;color:var(--ink);flex:1 1 auto;overflow:auto}.card-fact::-webkit-scrollbar{width:4px}.card-fact::-webkit-scrollbar-thumb{background:#00000026;border-radius:2px}.card-save-btn{background:transparent;border:1px solid rgba(26,26,26,.25);color:var(--ink);font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;padding:8px 12px;border-radius:999px;cursor:pointer;margin:12px 0 0;align-self:flex-start;transition:all .15s ease}.card-save-btn:hover{background:var(--ink);color:var(--parchment);border-color:var(--ink)}.card-save-btn.saving{opacity:.6;pointer-events:none}.card-cred{font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#1a1a1a8c;margin-top:12px;padding-top:10px;border-top:1px solid rgba(0,0,0,.1)}.archive-footer{margin-top:40px;padding-top:24px;border-top:1px solid rgba(240,234,220,.15);display:flex;justify-content:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#f0eadc8c}
