/* sev sees -- shared stylesheet, generated from the Claude Design canvas */

:root { --paper:#f1ede3; --ink:#1c1b17; --ink-soft:#5c5344; --line: rgba(28,27,23,0.14); --brass:#a3813f; }
* { box-sizing:border-box; }
html { background:
        radial-gradient(120% 85% at 50% -8%, rgba(255,255,255,0.42), transparent 52%),
        radial-gradient(140% 100% at 50% 108%, rgba(20,17,11,0.06), transparent 60%),
        linear-gradient(160deg, #f4f0e6 0%, #ece5d5 55%, #e2d9c3 100%);
      min-height:100vh; }
body { margin:0; min-height:100vh; color:var(--ink); font-family:'Inter', sans-serif; position:relative;
      background:
        radial-gradient(120% 85% at 50% -8%, rgba(255,255,255,0.42), transparent 52%),
        radial-gradient(140% 100% at 50% 108%, rgba(20,17,11,0.06), transparent 60%),
        linear-gradient(160deg, #f4f0e6 0%, #ece5d5 55%, #e2d9c3 100%); }
a { color:inherit; text-decoration:none; }
.paper-floral { position:absolute; pointer-events:none; z-index:0; fill:#f2ede1; }
.paper-floral .petal-back { filter: drop-shadow(2px 3px 3px rgba(52,64,80,0.038)) drop-shadow(-1.5px -2px 2px rgba(255,255,255,0.55)); }
.paper-floral .petal-front { filter: drop-shadow(1.5px 2px 2px rgba(52,64,80,0.026)) drop-shadow(-1.5px -2px 2px rgba(255,255,255,0.62)); }
.paper-floral.large { width:760px; height:900px; right:-120px; top:10px; opacity:.7; }
.paper-floral.small { width:380px; height:450px; left:-80px; bottom:0; opacity:.55; transform:rotate(-8deg); }
.topbar { position:relative; z-index:2;
      display:flex; justify-content:space-between; align-items:center;
      padding:28px 56px; border-bottom:1px solid var(--line); }
.wordmark { font-family:'Fraunces',serif; font-size:19px; letter-spacing:.01em; }
.wordmark em { font-style:italic; }
nav { display:flex; gap:32px; }
nav a { font-size:13px; letter-spacing:.02em; color:var(--ink-soft); }
nav a.current { color:var(--ink); }
.masthead { position:relative; z-index:2;
      display:grid; grid-template-columns:1fr auto 1fr; align-items:start; justify-content:center;
      max-width:1160px; margin:0 auto; padding:52px 20px 34px; }
.col { width:100%; max-width:420px; }
.col.right { text-align:right; margin-left:auto; }
.divider { width:1px; height:600px; margin:0 52px; background:var(--line); }
.kicker { font-size:11px; color:var(--ink-soft); margin:0 0 12px; letter-spacing:.08em; font-variant:small-caps; }
h1.entry-title { font-family:'Fraunces',serif; font-style:italic; font-weight:400; font-size:58px; line-height:.94; letter-spacing:-.005em; margin:0 0 18px; }
.view-all { display:inline-flex; align-items:center; gap:7px; font-family:'Fraunces',serif; font-style:italic; font-size:14px; border-bottom:1px solid var(--ink); padding-bottom:4px; }
.previews { margin-top:30px; }
.preview { display:block; width:420px; max-width:100%; padding-top:125%; height:0; position:relative; overflow:hidden; background:var(--line); box-shadow:0 26px 48px -24px rgba(20,17,11,.32); }
.col.right .preview { margin-left:auto; }
.preview img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
#marina-img { object-position:72% 50%; }
#illus-img { object-position:45% 50%; }
.hero-caption { font-family:'Fraunces',serif; font-style:italic; font-size:16px; color:var(--ink); margin-top:11px; }
.col.right .hero-caption { text-align:right; }
.copyright { position:relative; z-index:2; padding:0 56px 40px; font-size:11.5px; color:var(--ink-soft); opacity:.85; }
:root { --paper:#f1ede3; --ink:#1c1b17; --ink-soft:#5c5344; --line: rgba(28,27,23,0.14); }
body { margin:0; min-height:100vh; color:var(--ink); font-family:'Inter', sans-serif;
      background:
        radial-gradient(120% 85% at 50% -8%, rgba(255,255,255,0.42), transparent 52%),
        radial-gradient(140% 100% at 50% 108%, rgba(20,17,11,0.06), transparent 60%),
        linear-gradient(160deg, #f4f0e6 0%, #ece5d5 55%, #e2d9c3 100%); }
.topbar { display:flex; justify-content:space-between; align-items:center; padding:28px 56px; border-bottom:1px solid var(--line); }
.wordmark { font-family:'Fraunces',serif; font-size:19px; }
nav a { font-size:13px; color:var(--ink-soft); }
.page-intro { padding:72px 56px 28px; max-width:1440px; margin:0 auto;
      display:flex; align-items:baseline; justify-content:space-between; gap:24px; }
.page-intro h1 { font-family:'Fraunces',serif; font-style:italic; font-weight:400; font-size:40px; margin:0; }
.page-intro .back { font-size:13px; color:var(--ink-soft); }
.gallery { max-width:1440px; margin:0 auto; padding:48px 56px 100px;
      display:grid; grid-template-columns:repeat(3, minmax(0, 320px)); justify-content:center; gap:48px 40px; }
.gallery figure { margin:0; }
.gallery a.card { display:block; }
.frame { aspect-ratio:4/5; overflow:hidden; background:var(--line); box-shadow:0 20px 40px -22px rgba(20,17,11,0.28); transition:transform .25s ease, box-shadow .25s ease; }
.gallery a.card:hover .frame { transform:translateY(-4px); box-shadow:0 28px 50px -22px rgba(20,17,11,0.36); }
.frame img { width:100%; height:100%; object-fit:cover; display:block; }
.frame .placeholder { width:100%; height:100%; display:flex; align-items:flex-end; padding:14px;
      background:linear-gradient(150deg,#cfc9c2,#726a63); }
.frame .placeholder span { font-size:11px; color:rgba(241,237,227,.85); letter-spacing:.03em; }
figcaption { margin-top:14px; display:flex; justify-content:space-between; gap:10px; font-size:12.5px; color:var(--ink-soft); }
figcaption .title { font-family:'Fraunces',serif; font-style:italic; color:var(--ink); font-size:15px; }
.copyright { max-width:1480px; margin:0 auto; padding:0 56px 40px; font-size:11.5px; color:var(--ink-soft); opacity:.85; }
.note { max-width:1440px; margin:0 auto; padding:0 56px; }
.note p { max-width:62ch; font-size:15px; line-height:1.75; color:var(--ink-soft); margin:0; }
.series-grid { max-width:1440px; margin:0 auto; padding:48px 56px 100px;
      display:grid; grid-template-columns:repeat(2,1fr); gap:40px; }
.series-grid figure { margin:0; }
.series-grid .frame { aspect-ratio:4/5; overflow:hidden; box-shadow:0 20px 40px -22px rgba(20,17,11,0.28); }
.series-grid .frame img { width:100%; height:100%; object-fit:cover; display:block; }
.series-grid figcaption { margin-top:12px; font-size:13px; }
.series-grid figcaption .title { font-family:'Fraunces',serif; font-style:italic; color:var(--ink); font-size:15px; }
.series-grid .frame { cursor:pointer; }
.lightbox { position:fixed; inset:0; background:rgba(20,17,11,0.94); display:none; align-items:center; justify-content:center; z-index:1000; }
.lightbox.open { display:flex; }
.lightbox img { max-width:92vw; max-height:86vh; object-fit:contain; box-shadow:0 30px 70px -20px rgba(0,0,0,0.55); }
.lightbox .lb-close { position:absolute; top:26px; right:40px; font-size:30px; line-height:1; color:#f1ede3; cursor:pointer; font-family:'Inter',sans-serif; }
.lightbox .lb-nav { position:absolute; top:50%; transform:translateY(-50%); font-size:40px; line-height:1; color:#f1ede3; cursor:pointer; padding:14px 20px; user-select:none; opacity:.7; font-family:'Inter',sans-serif; }
.lightbox .lb-nav:hover { opacity:1; }
.lightbox .lb-prev { left:10px; }
.lightbox .lb-next { right:10px; }
.lightbox .lb-caption { position:absolute; bottom:30px; left:0; right:0; text-align:center; color:#e9e2d2; font-family:'Fraunces',serif; font-style:italic; font-size:15px; }
.lightbox .lb-count { position:absolute; top:30px; left:40px; color:#c9c0ac; font-size:12px; letter-spacing:.04em; }
a:hover { color:var(--ink); }
.about { max-width:1440px; margin:0 auto; padding:48px 56px 100px;
      display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.about p { font-size:16px; line-height:1.78; color:var(--ink-soft); max-width:50ch; margin:0 0 20px; }
.about-links { display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.about-links a { font-size:15px; font-family:'Fraunces',serif; font-style:italic; border-bottom:1px solid var(--line); padding-bottom:3px; }
