*{box-sizing:border-box}html,body{margin:0;background:#0d0d0d;color:#eee;font-family:Arial,Helvetica,sans-serif}body{min-height:100vh}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid #292929;position:sticky;top:0;background:rgba(13,13,13,.94);backdrop-filter:blur(12px);z-index:40}.brand{color:#fff;text-decoration:none;letter-spacing:.18em;font-size:14px;font-weight:700}.brand span{font-weight:400;color:#aaa;font-size:10px;margin-left:8px}nav{display:flex;gap:24px}nav a{color:#bbb;text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:.1em}nav a:hover{color:#fff}.menu{display:none;background:none;border:0;color:#fff;font-size:22px}.hero{position:relative;overflow:hidden}.hero-copy{display:none}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:10px;color:#a9a9a9;margin:0 0 22px}.hero h1{font-size:clamp(48px,8vw,112px);line-height:.92;margin:0 0 28px;font-weight:400;letter-spacing:-.04em}.hero p:not(.eyebrow){max-width:520px;color:#c4c4c4;font-size:18px;line-height:1.6}.button{display:inline-block;margin-top:20px;padding:14px 22px;border:1px solid #777;color:#fff;text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.14em}.intro{padding:90px 10vw;text-align:center;font-size:25px;line-height:1.5;color:#ccc}.categories{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #292929}.categories a{padding:55px 7vw;border-bottom:1px solid #292929;color:#fff;text-decoration:none;display:flex;justify-content:space-between;align-items:center}.categories a:hover{background:#171717}.categories span{font-size:11px;color:#777}.categories strong{font-size:clamp(28px,4vw,58px);font-weight:300}.gallery-page{padding:70px 5vw}.gallery-heading{margin-bottom:55px}.gallery-heading h1{font-size:clamp(44px,7vw,92px);font-weight:300;margin:0 0 15px}.gallery-heading p:last-child{color:#aaa;max-width:650px;line-height:1.6}.gallery{columns:3 280px;column-gap:14px}.gallery figure{margin:0 0 14px;break-inside:avoid}.gallery img{width:100%;display:block;cursor:zoom-in}.empty{display:none;color:#777;margin-top:40px}.lightbox{display:none;position:fixed;top:78px;right:0;bottom:0;left:0;background:rgba(0,0,0,.96);z-index:30;align-items:center;justify-content:center;padding:4vw}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:90vh;object-fit:contain}.lightbox button{position:absolute;color:#fff;background:none;border:0;cursor:pointer}.lightbox #close{top:18px;right:28px;font-size:42px;z-index:3}.lightbox-nav{top:50%;transform:translateY(-50%);font-size:68px;line-height:1;width:72px;height:110px;z-index:3;opacity:.8}.lightbox-nav:hover{opacity:1;background:rgba(255,255,255,.06)}.lightbox-nav.prev{left:8px}.lightbox-nav.next{right:8px}.lightbox-nav:disabled{display:none}footer{padding:45px 5vw;color:#666;font-size:11px;letter-spacing:.12em;text-transform:uppercase}@media(max-width:900px){nav{display:none}.menu{display:block}.hero{min-height:78vh}.categories{grid-template-columns:1fr}.intro{padding:65px 8vw;font-size:20px}.gallery-page{padding:45px 4vw}}
.about{display:grid;grid-template-columns:minmax(320px,0.9fr) minmax(0,1.1fr);gap:7vw;align-items:center;padding:110px 8vw;border-top:1px solid #292929}.about-photo img{width:100%;max-height:720px;object-fit:cover;object-position:center 28%;display:block}.about-copy{max-width:680px}.section-label{text-transform:uppercase;letter-spacing:.22em;font-size:10px;color:#888;margin:0 0 24px}.about h1,.about h2{font-size:clamp(42px,5vw,76px);font-weight:300;line-height:.98;letter-spacing:-.035em;margin:0 0 34px}.about-copy p:not(.section-label){color:#bdbdbd;font-size:17px;line-height:1.8;margin:0 0 20px}.about-copy p:first-of-type{color:#eee;font-size:22px;line-height:1.55}
@media(max-width:900px){.about{grid-template-columns:1fr;gap:45px;padding:75px 8vw}.about-photo img{max-height:none}.about h1,.about h1,.about h2{font-size:clamp(40px,11vw,64px)}}
.lightbox{overflow:auto}.lightbox-inner{width:min(1400px,94vw);height:min(88vh,900px);display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:34px;align-items:center}.lightbox-image-wrap{height:100%;display:flex;align-items:center;justify-content:center}.lightbox img{max-width:100%;max-height:86vh;width:auto;height:auto;object-fit:contain}.photo-meta{border-left:1px solid #333;padding:20px 0 20px 28px;min-height:160px}.meta-row{display:flex;flex-direction:column;gap:5px;padding:0 0 17px;margin-bottom:15px;border-bottom:1px solid #262626}.meta-row span{text-transform:uppercase;letter-spacing:.13em;font-size:9px;color:#777}.meta-row strong{font-size:14px;font-weight:400;color:#eee;line-height:1.35}.photo-meta.loading:after{content:'Reading photo data…';color:#777;font-size:11px;letter-spacing:.08em}.photo-meta:empty{display:block}@media(max-width:900px){.lightbox-nav{font-size:52px;width:50px;height:90px}.lightbox-nav.prev{left:0}.lightbox-nav.next{right:0}.lightbox #close{top:10px;right:14px}.lightbox-inner{height:auto;min-height:0;grid-template-columns:1fr;gap:20px}.lightbox-image-wrap{height:auto}.lightbox img{max-height:68vh}.photo-meta{border-left:0;border-top:1px solid #333;padding:22px 8px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.meta-row{margin:0 0 12px;padding-bottom:12px}}

.about-page{min-height:calc(100vh - 150px);display:flex;align-items:center}.about-page .about{width:100%;border-top:0}.about-page .about h1{font-size:clamp(42px,5vw,76px);font-weight:300;line-height:.98;letter-spacing:-.035em;margin:0 0 34px}
@media(max-width:900px){.site-header nav.show{display:flex;position:absolute;top:78px;left:0;right:0;background:rgba(13,13,13,.98);padding:20px 5vw;flex-direction:column;gap:18px;border-bottom:1px solid #292929}.about-page{display:block}.about-page .about{padding-top:65px}}
.meta-empty{opacity:.65;font-size:.9rem;line-height:1.5}.photo-meta{min-width:220px}

/* Home hero: approved homepage artwork */
.hero-home{
  min-height:calc(100vh - 78px);
  background-image:url("photos_web/home/home-hero.webp");
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
.hero-explore-overlay{
  position:absolute;
  right:5.2%;
  top:35.5%;
  width:15%;
  height:7%;
  display:block;
  z-index:5;
}
@media(max-width:900px){
  .hero-home{min-height:calc(100vh - 78px);background-position:72% center;}
  .hero-explore-overlay{right:6%;top:35%;width:29%;height:7%;}
}

/* Mobile performance and image stability */
.gallery img{height:auto;content-visibility:auto;}
@media(max-width:600px){.site-header{height:64px;padding:0 4vw}.lightbox{top:64px;padding:12px}.lightbox-inner{width:100%;}.lightbox img{max-height:58vh}.photo-meta{font-size:13px;grid-template-columns:1fr 1fr}.gallery{columns:2 150px;column-gap:8px}.gallery figure{margin-bottom:8px}}

/* Final mobile gallery optimization */
.gallery{column-fill:balance;}
.gallery img{display:block;width:100%;height:auto;aspect-ratio:auto;}
@media(max-width:700px){
  .gallery-page{padding:28px 12px 45px;}
  .gallery-heading{margin-bottom:28px;padding:0 4px;}
  .gallery-heading h1{font-size:44px;line-height:1;margin-bottom:10px;}
  .gallery-heading p:last-child{font-size:14px;line-height:1.5;}
  .gallery{columns:2 0;column-gap:6px;}
  .gallery figure{margin:0 0 6px;}
  .gallery img{border-radius:1px;}
  .lightbox{padding:8px;align-items:flex-start;overflow-y:auto;}
  .lightbox-inner{display:block;width:100%;height:auto;min-height:0;padding-top:34px;}
  .lightbox-image-wrap{height:auto;min-height:0;width:100%;}
  .lightbox img{display:block;width:100%;max-width:100%;height:auto;max-height:none;object-fit:contain;}
  .lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);font-size:48px;width:42px;height:70px;}
  .lightbox-nav.prev{left:0}.lightbox-nav.next{right:0}
  .lightbox #close{position:fixed;top:5px;right:8px;font-size:38px;}
  .photo-meta{margin-top:14px;padding:18px 6px 8px;display:grid;grid-template-columns:1fr 1fr;gap:0 16px;border-top:1px solid #333;}
  .meta-row{padding-bottom:9px;margin-bottom:9px;min-width:0;}
  .meta-row strong{font-size:13px;word-break:break-word;}
  .meta-row span{font-size:8px;}
}


/* Home screen mobile typography/crop fix */
.mobile-home-copy{display:none;}
@media(max-width:700px){
  .hero-home{
    min-height:calc(100svh - 64px);
    background-position:30% center;
    background-size:cover;
  }
  .hero-explore-overlay{display:none;}
  .mobile-home-copy{
    display:block;
    position:absolute;
    top:8%;
    right:6%;
    width:52%;
    max-width:250px;
    padding:14px 14px 16px;
    background:linear-gradient(90deg,rgba(0,0,0,.08),rgba(0,0,0,.58));
    text-shadow:0 2px 12px rgba(0,0,0,.9);
  }
  .mobile-home-copy .eyebrow{font-size:8px;letter-spacing:.16em;margin:0 0 10px;color:#ddd;}
  .mobile-home-copy h1{font-size:clamp(34px,10.5vw,48px);line-height:.94;letter-spacing:-.035em;margin:0 0 13px;font-weight:300;color:#fff;}
  .mobile-home-copy p:not(.eyebrow){font-size:14px;line-height:1.35;color:#eee;margin:0;}
  .mobile-home-copy .button{font-size:9px;padding:10px 12px;margin-top:13px;letter-spacing:.1em;}
}
