
:root{--ivory:#F6F3EC;--charcoal:#2F3437;--green:#5E7156;--gold:#B89B5E;--mist:#D7D4CD;--ink:#202427}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.62}
img{display:block;max-width:100%}a{color:inherit}.dragonfly{width:64px;height:auto}
.site-header{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:10px 4vw;background:rgba(246,243,236,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(47,52,55,.08)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand .dragonfly{width:55px}.brand-text{display:flex;flex-direction:column;line-height:1}.brand-text b{font-family:Georgia,serif;letter-spacing:.18em;font-size:1.15rem}.brand-text span{font-size:.58rem;letter-spacing:.34em;margin-top:6px}.brand-text em{font-family:Georgia,serif;color:var(--gold);font-size:.84rem;margin-top:5px}
.nav{display:flex;gap:22px}.nav a{text-decoration:none;text-transform:uppercase;font-size:.72rem;letter-spacing:.13em}.nav a:hover{color:var(--gold)}.menu-btn{display:none;background:none;border:0;text-transform:uppercase;letter-spacing:.15em}
.hero{position:relative;height:min(78vh,820px);min-height:570px;overflow:hidden;background:#111}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 3.4s ease,transform 14s ease}.hero-a{opacity:1}.hero-b{opacity:0;object-position:center 40%}.hero.show-b .hero-a{opacity:0}.hero.show-b .hero-b{opacity:1}.hero.show-b .hero-img{transform:scale(1.035)}
.hero-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.54),rgba(0,0,0,.1) 60%,rgba(0,0,0,.18))}
.hero-copy{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:#fff;padding:0 8vw;max-width:900px}.hero-copy h1{font:500 clamp(3.2rem,7vw,7rem)/.9 Georgia,serif;margin:0}.kicker,.eyebrow{font-size:.7rem;letter-spacing:.23em;text-transform:uppercase;font-weight:bold}.script{font:italic clamp(1.7rem,3vw,3rem) Georgia,serif;color:#f1d99c;margin:16px 0 28px}.pause-btn{position:absolute;z-index:3;right:22px;bottom:18px;border:1px solid rgba(255,255,255,.55);background:rgba(0,0,0,.18);color:#fff;padding:8px 12px;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}
.btn{display:inline-block;border:1px solid currentColor;padding:12px 18px;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;text-decoration:none;background:transparent}.btn.light{color:#fff}.btn.dark:hover:not(:disabled){background:var(--green);border-color:var(--green);color:#fff}.btn:disabled{opacity:.45;cursor:not-allowed}
.quote{text-align:center;padding:62px 7vw 45px}.quote blockquote{font:500 clamp(2rem,4vw,4rem)/1.08 Georgia,serif;max-width:1100px;margin:0 auto}.gold-mark{color:var(--gold);margin-top:14px}.gold-mark .dragonfly{width:75px}
.collections{padding:70px 4vw 90px}.section-intro{text-align:center;max-width:760px;margin:0 auto 35px}.section-intro.left{text-align:left;margin:0}.section-intro h2,.about h2,.prints h2,.ask h2{font:500 clamp(2.3rem,4vw,4rem)/1 Georgia,serif;margin:8px 0 16px}.eyebrow{color:var(--gold)}
.collection-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;max-width:1600px;margin:auto}.collection-card{position:relative;min-height:500px;overflow:hidden;background:#222}.collection-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .8s ease,filter .8s ease}.collection-card:hover img{transform:scale(1.035);filter:brightness(.88)}.collection-overlay{position:absolute;inset:auto 0 0;padding:55px 20px 22px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff}.collection-overlay span{display:block;font:500 2rem Georgia,serif}.collection-overlay small{text-transform:uppercase;letter-spacing:.14em;font-size:.65rem}
.about{display:grid;grid-template-columns:1.05fr .95fr;background:#ebe5da}.about-image{position:relative;min-height:620px}.about-image img{width:100%;height:100%;object-fit:cover}.photo-watermark{position:absolute;right:18px;bottom:12px;color:#fff;opacity:.35}.photo-watermark .dragonfly{width:86px}.about-copy{padding:7vw;display:flex;flex-direction:column;justify-content:center}.about-copy p{max-width:650px}.text-link{text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}
.latest{padding:85px 6vw;display:grid;grid-template-columns:.7fr 1.3fr;gap:45px;align-items:center}.latest-image{position:relative;display:block;min-height:430px;overflow:hidden}.latest-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.latest-image>div{position:absolute;left:0;bottom:0;right:0;padding:60px 24px 24px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff}.latest-image span{display:block;text-transform:uppercase;letter-spacing:.15em;font-size:.65rem}.latest-image b{font:500 2rem Georgia,serif}
.prints,.ask{padding:85px 7vw;text-align:center;max-width:1000px;margin:auto}.prints p,.ask p{max-width:760px;margin-left:auto;margin-right:auto}.print-box{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:30px}.print-box span{font:italic 1.3rem Georgia,serif}.small-note{font-size:.82rem;color:#72706a}
.manifesto{padding:90px 10vw;background:var(--charcoal);color:#fff;text-align:center}.manifesto blockquote{font:500 clamp(2rem,4vw,4rem)/1.08 Georgia,serif;max-width:1150px;margin:10px auto 30px}.manifesto p{max-width:800px;margin:15px auto;color:#e2ded6}.manifesto b{display:block;color:#f1d99c;margin-top:28px;font:500 1.3rem Georgia,serif}
.footer{display:flex;justify-content:space-between;align-items:center;padding:28px 5vw;border-top:1px solid var(--mist)}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand .dragonfly{width:52px}.footer-brand b,.footer-brand em{display:block}.footer-brand b{font-family:Georgia,serif}.footer-brand em{color:var(--gold);font-family:Georgia,serif}.footer-copy{font-size:.78rem}
.ask-dialog,.lightbox{border:0;padding:0;background:var(--ivory);color:var(--charcoal);box-shadow:0 30px 100px rgba(0,0,0,.4)}.ask-dialog{max-width:620px;width:min(92vw,620px);padding:36px}.ask-dialog::backdrop,.lightbox::backdrop{background:rgba(0,0,0,.88)}.ask-dialog h2{font:500 2.5rem Georgia,serif;margin:0}.ask-dialog label{display:block;margin:14px 0;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.ask-dialog input,.ask-dialog textarea{width:100%;margin-top:5px;padding:11px;border:1px solid var(--mist);background:white;font:inherit}.dialog-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:2rem}

.gallery-page{min-height:100vh}.gallery-hero{padding:75px 6vw 42px;text-align:center}.gallery-hero h1{font:500 clamp(3.5rem,7vw,7rem)/.9 Georgia,serif;margin:8px 0 12px}.gallery-hero p{max-width:680px;margin:0 auto}.back-link{display:inline-block;margin-bottom:35px;text-decoration:none;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}
.gallery-masonry{columns:3 380px;column-gap:18px;padding:0 3vw 70px}.gallery-item{position:relative;display:block;width:100%;margin:0 0 18px;padding:0;border:0;background:#111;break-inside:avoid;cursor:zoom-in;text-align:left;overflow:hidden}.gallery-item img{width:100%;transition:transform .55s ease,filter .55s ease}.gallery-item:hover img{transform:scale(1.02);filter:brightness(.86)}.gallery-item .wm{position:absolute;right:10px;bottom:10px;color:#fff;opacity:.34}.gallery-item .wm .dragonfly{width:68px}.caption{position:absolute;left:0;right:0;bottom:0;padding:70px 16px 15px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;opacity:0;transition:opacity .35s}.gallery-item:hover .caption{opacity:1}.caption b{display:block;font:500 1.4rem Georgia,serif}.caption small{text-transform:uppercase;letter-spacing:.12em;font-size:.58rem}
.gallery-end{text-align:center;padding:20px 6vw 80px}.gallery-end p{font:italic 1.25rem Georgia,serif}
.lightbox{width:96vw;height:94vh;max-width:none;max-height:none;background:#111;color:#fff;overflow:hidden}.lightbox figure{margin:0;height:100%;display:grid;grid-template-rows:1fr auto}.lightbox figure>img{width:100%;height:100%;min-height:0;object-fit:contain;padding:18px 60px}.lightbox figcaption{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 70px 20px;background:#111}.lightbox h2{font:500 1.8rem Georgia,serif;margin:0}.lightbox p{margin:4px 0 0;color:#d7c69d;font-size:.85rem}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;z-index:2;border:0;background:rgba(0,0,0,.35);color:#fff}.lightbox-close{right:18px;top:12px;font-size:2rem}.lightbox-prev,.lightbox-next{top:45%;font-size:3rem;padding:12px}.lightbox-prev{left:8px}.lightbox-next{right:8px}.light-actions{display:flex;gap:10px}.light-actions button{border:1px solid #777;background:transparent;color:#fff;padding:9px 12px;text-transform:uppercase;letter-spacing:.09em;font-size:.62rem}.light-actions button:disabled{opacity:.38}

@media(max-width:1100px){
 .collection-grid{grid-template-columns:repeat(2,1fr)}.collection-card:last-child{grid-column:1/-1;min-height:320px}
 .nav{display:none;position:absolute;top:100%;right:0;flex-direction:column;align-items:flex-start;background:var(--ivory);padding:20px;min-width:220px;border:1px solid var(--mist)}.nav.open{display:flex}.menu-btn{display:block}
 .latest{grid-template-columns:1fr}
}
@media(max-width:700px){
 body{font-size:16px}.site-header{padding:8px 14px}.brand .dragonfly{width:42px}.brand-text b{font-size:.9rem}.brand-text span{font-size:.5rem}.brand-text em{font-size:.7rem}
 .hero{height:74vh;min-height:520px}.hero-copy{padding:0 24px}.hero-a{object-position:64% center}.hero-b{object-position:48% center}
 .collection-grid{grid-template-columns:1fr}.collection-card,.collection-card:last-child{grid-column:auto;min-height:390px}
 .about{grid-template-columns:1fr}.about-image{min-height:440px}.about-copy{padding:55px 24px}
 .latest{padding:65px 22px}.prints,.ask{padding:65px 24px}.manifesto{padding:70px 24px}
 .footer{flex-direction:column;gap:12px;text-align:center}
 .gallery-hero{padding:55px 24px 30px}.gallery-masonry{columns:1;padding:0 14px 50px}
 .caption{opacity:1}
 .lightbox figure>img{padding:52px 8px 12px}.lightbox figcaption{padding:10px 14px 16px;display:block}.light-actions{margin-top:10px;flex-wrap:wrap}.lightbox-prev,.lightbox-next{font-size:2.2rem;padding:8px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.lightbox figcaption{max-height:34vh;overflow:auto;align-items:flex-start}
.story-copy{max-width:760px}
.lightbox-location{font:italic .9rem Georgia,serif!important;color:#cdbb8e!important;margin:.15rem 0 .7rem!important}
.lightbox-story{color:#ddd;font-size:.93rem;line-height:1.55;max-width:720px}
.lightbox-story p{color:#ddd!important;margin:.45rem 0!important}
@media(max-width:700px){
  .lightbox{height:96vh}
  .lightbox figcaption{max-height:44vh}
  .lightbox-story{font-size:.88rem}
}

.light-actions a.own-photo{
  display:inline-block;
  border:1px solid #777;
  background:transparent;
  color:#fff;
  padding:9px 12px;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:.62rem;
  text-decoration:none;
}
.light-actions a.own-photo:hover,
.light-actions a.own-photo:focus{
  border-color:#B89B5E;
  color:#f1d99c;
}

/* Pre-launch accessibility and responsive polish */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:2px solid #B89B5E;outline-offset:3px;
}
button,.btn,.own-photo{min-height:44px}
img{max-width:100%}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .hero-b{display:none!important}
}
@media(max-width:700px){
  .lightbox figure>img{padding:48px 14px 10px}
  .lightbox figcaption{padding:12px 18px 18px}
  .light-actions{flex-wrap:wrap}
  .light-actions a,.light-actions button{min-height:44px}
}
