:root{--bg: #ffffff;--bg-soft: #f6f5f2;--text: #1a1a1a;--text-muted: #6b6b66;--line: #e7e5e0;--accent: #b08d2e;--font-body: "Inter", system-ui, sans-serif;--font-display: "Cormorant Garamond", Georgia, serif}[data-theme=dark]{--bg: #0e0f0e;--bg-soft: #161816;--text: #f1f0ec;--text-muted: #a3a39c;--line: #262826;--accent: #d4af37}*{box-sizing:border-box}body{margin:0;background-color:var(--bg);color:var(--text);font-family:var(--font-body);font-weight:300;-webkit-font-smoothing:antialiased;transition:background-color .25s ease,color .25s ease}#root{display:flex;flex-direction:column;min-height:100vh}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 32px}@media (max-width: 600px){.container{padding:0 20px}}.header-bar{display:flex;align-items:center;justify-content:space-between;height:72px}.header-wordmark{font-size:.8rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase}.hero{padding:120px 0 96px;text-align:center}.hero-byline{margin:0 0 24px;font-size:.8rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.hero-title{margin:0;font-family:var(--font-display);font-size:clamp(3rem,9vw,7rem);font-weight:500;line-height:1;letter-spacing:-.01em}.hero-tagline{margin:24px 0 0;font-family:var(--font-display);font-size:clamp(1.3rem,3vw,1.8rem);font-style:italic;color:var(--text-muted)}@media (max-width: 600px){.hero{padding:72px 0 56px}}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;font-size:18px;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:50%;cursor:pointer;transition:border-color .2s ease,color .2s ease}.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}.intro{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);transition:background-color .25s ease}.intro-inner{display:grid;grid-template-columns:1fr 2fr;gap:64px;padding-top:96px;padding-bottom:96px}.intro h2{margin:0;font-family:var(--font-display);font-size:2.2rem;font-weight:500;line-height:1.15}.intro p{margin:0;font-size:1.15rem;line-height:1.8;color:var(--text-muted)}@media (max-width: 800px){.intro-inner{grid-template-columns:1fr;gap:24px;padding-top:64px;padding-bottom:64px}}.gallery{padding-top:96px;padding-bottom:120px}.gallery h2{margin:0 0 56px;font-family:var(--font-display);font-size:2.2rem;font-weight:500}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 32px}.gallery-item{display:block;margin:0;color:inherit;text-decoration:none}.gallery-frame{overflow:hidden;background:var(--bg-soft)}.gallery-frame img{display:block;width:100%;aspect-ratio:4 / 5;object-fit:cover;transition:transform .5s ease}.gallery-item:hover img{transform:scale(1.03)}.gallery-caption{display:block;margin-top:14px;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}@media (max-width: 900px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 520px){.gallery{padding-top:64px;padding-bottom:80px}.gallery-grid{grid-template-columns:1fr}}.back-link{font-size:.8rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text);text-decoration:none}.back-link:hover{color:var(--accent)}.detail{display:grid;grid-template-columns:3fr 2fr;gap:72px;align-items:start;padding-top:32px;padding-bottom:120px}.detail-image{background:var(--bg-soft)}.detail-image img{display:block;width:100%;height:auto}.detail-info{position:sticky;top:32px}.detail-code{margin:0 0 16px;font-size:.8rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.detail-info h1{margin:0 0 24px;font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3.2rem);font-weight:500;line-height:1.1}.detail-story{margin:0 0 40px;font-size:1.1rem;line-height:1.8;color:var(--text-muted)}.detail-specs{margin:0;border-top:1px solid var(--line)}.detail-specs div{display:flex;justify-content:space-between;gap:24px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.95rem}.detail-specs dt{color:var(--text-muted)}.detail-specs dd{margin:0;text-align:right}.detail-empty{padding-top:96px;text-align:center}@media (max-width: 900px){.detail{grid-template-columns:1fr;gap:40px}.detail-info{position:static}}
