:root{color-scheme:light;--ink:#2e2334;--muted:#735f76;--surface:#fffafc;--wash:#f8edf3;--line:#eadbe6;--accent:#9a4c81;--accent-dark:#73365f}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--surface);color:var(--ink);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit}
a:focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:3px}
.skip-link{position:absolute;top:-100px;left:1rem;z-index:10;background:#fff;padding:.6rem 1rem}
.skip-link:focus{top:1rem}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem max(1rem,calc((100vw - 1220px)/2));border-bottom:1px solid var(--line);background:#fff}
.brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;font-size:1.12rem;white-space:nowrap}
.brand-mark{display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:.8rem;letter-spacing:.06em}
.site-header nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(.65rem,2vw,1.3rem);flex-wrap:wrap}
.site-header nav a,.site-footer a{text-decoration:none;color:var(--accent-dark);font-weight:600}
.site-header nav a:hover,.site-footer a:hover{text-decoration:underline}
.site-header nav .exposure-link{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.75rem;padding:.55rem .9rem;border-radius:.55rem;background:var(--accent);color:#fff;text-align:center}
.site-header nav .exposure-link:hover{background:var(--accent-dark);text-decoration:none}
.hero{padding:4.7rem max(1rem,calc((100vw - 1220px)/2)) 3.7rem;background:radial-gradient(circle at 83% 10%,#f7d6e9,transparent 34%),linear-gradient(135deg,#fff8fb,#f8edf3)}
.hero h1,.detail-info h1{font-family:Georgia,serif;letter-spacing:-.035em;line-height:1.08}
.hero h1{font-size:clamp(2.6rem,6vw,5.3rem);max-width:12ch;margin:.4rem 0 1rem}
.hero p:not(.eyebrow){max-width:40rem;color:var(--muted);margin:0}
.hero .exposure-cta{display:inline-flex;align-items:center;gap:.75rem;min-height:2.9rem;margin-top:1.4rem;padding:.7rem 1.05rem;border-radius:.55rem;background:var(--accent);color:#fff;text-decoration:none;font-weight:700}
.hero .exposure-cta:hover{background:var(--accent-dark)}
.eyebrow{color:var(--accent-dark);text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:750}
.gallery-section{max-width:1220px;margin:auto;padding:2.5rem 1rem}
.gallery-grid{display:grid;grid-template-columns:1fr;gap:1.7rem}
.photo-card{min-width:0}
.photo-card>a{display:block;text-decoration:none}
.photo-frame{overflow:hidden;background:var(--wash);border-radius:1rem;aspect-ratio:4/5}
.photo-frame img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.photo-card a:hover img{transform:scale(1.025)}
.card-caption{padding:.85rem .15rem 0}
.card-caption h2{font-size:1.03rem;line-height:1.35;margin:0 0 .2rem;font-weight:650}
.card-caption .card-excerpt{color:var(--muted);font-size:.88rem;line-height:1.5;margin:.45rem 0 .8rem}
.card-caption span{color:var(--muted);font-size:.87rem}
.pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;padding:.5rem 1rem 3rem}
.pagination a{display:inline-grid;place-items:center;min-width:2.75rem;min-height:2.75rem;padding:.4rem .8rem;border-radius:.5rem;border:1px solid var(--line);background:#fff;text-decoration:none}
.pagination a[aria-current],.pagination a:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.detail-main{max-width:1220px;margin:auto;padding:1.7rem 1rem 4rem}
.breadcrumb{display:flex;gap:.6rem;align-items:center;color:var(--muted);font-size:.9rem;margin-bottom:1.5rem;flex-wrap:wrap}
.breadcrumb a{color:var(--accent-dark)}
.detail{display:grid;gap:2rem;align-items:center}
.detail-image{background:var(--wash);border-radius:1rem;overflow:hidden;display:grid;place-items:center}
.detail-image img{display:block;width:auto;max-width:100%;max-height:80vh;height:auto}
.detail-info h1{font-size:clamp(2.2rem,4vw,4rem);margin:.6rem 0 1rem;overflow-wrap:anywhere}
.detail-info>p:not(.eyebrow){color:var(--muted)}
.detail-tags{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;padding:0;margin:1.25rem 0 .6rem}
.detail-tags li{background:var(--wash);border:1px solid var(--line);border-radius:99px;color:var(--accent-dark);font-size:.76rem;padding:.35rem .7rem}
.primary-link{display:inline-block;padding:.8rem 1.15rem;margin-top:1rem;border-radius:.55rem;background:var(--accent);color:#fff;text-decoration:none;font-weight:650}
.primary-link:hover{background:var(--accent-dark)}
.detail-nav{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:1.5rem;margin-top:2rem}
.detail-nav a{color:var(--accent-dark);font-weight:600}
.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:2rem max(1rem,calc((100vw - 1220px)/2));border-top:1px solid var(--line);color:var(--muted);font-size:.88rem}
@media(min-width:620px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}}
@media(min-width:980px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){
  .site-header{padding:.9rem 1rem;flex-wrap:wrap}
  .site-header nav{width:100%;justify-content:space-between;gap:.5rem}
  .site-header nav a{display:inline-flex;align-items:center;min-height:2.75rem}
  .site-header nav .exposure-link{flex:1}
  .hero{padding:3rem 1rem 2.7rem}
  .hero h1{font-size:clamp(2.3rem,12vw,3.2rem)}
  .eyebrow{letter-spacing:.07em}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo-frame img{transition:none}}