/* V142 — Home photography feature.
   - Keeps V141 layout/button centering and V140 entrance/carousel timing.
   - Photography card lifts more clearly on hover.
   - A glass cursor-follow label appears over the card: "Click to View". */
.home-photography-feature{
  position:relative;
  z-index:2;
  height:100vh;
  min-height:680px;
  padding:clamp(32px,4.4vh,56px) 0 clamp(50px,6.2vh,74px);
  display:flex;
  align-items:center;
  overflow:hidden;
}
.home-photography-feature::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 80% 42%,rgba(111,158,184,.10),transparent 32%),
    radial-gradient(circle at 14% 72%,rgba(239,140,80,.035),transparent 28%),
    linear-gradient(180deg,rgba(4,16,24,.50),rgba(4,16,24,.68));
}
.photography-feature-layout{
  position:relative;
  width:min(var(--safe),1360px);
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(390px,.94fr) minmax(350px,.78fr);
  gap:clamp(64px,7vw,120px);
  align-items:center;
}
.photography-feature-copy{
  width:100%;
  max-width:650px;
  justify-self:start;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
}

/* Featured-book-like staged entrance: image first, then kicker → title → lead → button. */
.photography-feature-kicker,
.photography-feature-copy h2,
.photography-feature-lead,
.photography-feature-more{
  opacity:0;
  filter:blur(7px);
  will-change:opacity,transform,filter;
}
.photography-feature-kicker{
  transform:translate3d(-18px,14px,0);
  transition:opacity .58s ease .26s,transform .74s cubic-bezier(.16,1,.3,1) .26s,filter .58s ease .26s;
}
.photography-feature-copy h2{
  transform:translate3d(-24px,18px,0);
  transition:opacity .66s ease .46s,transform .86s cubic-bezier(.16,1,.3,1) .46s,filter .66s ease .46s;
}
.photography-feature-lead{
  transform:translate3d(-20px,16px,0);
  transition:opacity .62s ease .70s,transform .82s cubic-bezier(.16,1,.3,1) .70s,filter .62s ease .70s;
}
.photography-feature-more{
  transform:translate3d(0,16px,0);
  transition:opacity .58s ease .94s,transform .78s cubic-bezier(.16,1,.3,1) .94s,filter .58s ease .94s,border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.home-photography-feature.is-photography-feature-visible .photography-feature-kicker,
.home-photography-feature.is-photography-feature-visible .photography-feature-copy h2,
.home-photography-feature.is-photography-feature-visible .photography-feature-lead,
.home-photography-feature.is-photography-feature-visible .photography-feature-more{
  opacity:1;
  transform:translate3d(0,0,0);
  filter:blur(0);
}

.photography-feature-kicker{
  margin:0 0 22px;
  font-size:11px;
  line-height:1;
  font-weight:700;
  letter-spacing:.26em;
  color:rgba(178,204,219,.72);
}
.photography-feature-copy h2{
  margin:0;
  max-width:620px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(54px,5.2vw,86px);
  line-height:.98;
  font-weight:400;
  letter-spacing:-.048em;
  color:#f7f4ef;
}
.photography-feature-lead{
  margin:clamp(22px,3vh,34px) 0 0;
  max-width:540px;
  font-size:clamp(14px,1vw,18px);
  line-height:1.7;
  letter-spacing:.01em;
  color:rgba(239,243,245,.68);
}
.photography-feature-action-row{
  width:min(100%,620px);
  display:flex;
  justify-content:center;
  margin-top:clamp(30px,4.2vh,46px);
}
.photography-feature-more{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  min-width:196px;
  min-height:54px;
  margin-top:0;
  padding:0 28px;
  border:1px solid rgba(188,209,222,.30);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(141,174,195,.17),rgba(255,255,255,.06));
  box-shadow:0 14px 34px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter:blur(16px) saturate(1.08);
  -webkit-backdrop-filter:blur(16px) saturate(1.08);
  color:rgba(247,249,250,.94);
  font-size:13px;
  font-weight:650;
  letter-spacing:.04em;
  white-space:nowrap;
}
.photography-feature-more b{font-size:18px;font-weight:400;line-height:1;transition:transform .2s ease}
.photography-feature-more:hover{
  border-color:rgba(202,222,234,.48);
  background:linear-gradient(135deg,rgba(151,187,209,.24),rgba(255,255,255,.08));
  box-shadow:0 18px 42px rgba(0,0,0,.22),0 0 26px rgba(145,195,225,.08),inset 0 1px 0 rgba(255,255,255,.15);
  transform:translateY(-2px);
}
.photography-feature-more:hover b{transform:translateX(4px)}

.home-photography-card{
  position:relative;
  justify-self:end;
  height:clamp(540px,78vh,860px);
  aspect-ratio:9 / 16;
  width:auto;
  max-width:min(42vw,485px);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  background:#071018;
  box-shadow:0 30px 76px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.055);
  cursor:pointer;
  opacity:0;
  transform:translate3d(38px,28px,0) scale(.955);
  filter:blur(10px) saturate(.88);
  transition:opacity .72s ease,transform 1.02s cubic-bezier(.16,1,.3,1),filter .78s ease,border-color .32s ease,box-shadow .42s ease;
  isolation:isolate;
  will-change:opacity,transform,filter;
}
.home-photography-feature.is-photography-feature-visible .home-photography-card{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  filter:blur(0) saturate(1);
}
.home-photography-card:hover{
  transform:translate3d(0,-18px,0) scale(1.04);
  border-color:rgba(212,226,234,.34);
  box-shadow:0 48px 110px rgba(0,0,0,.52),0 0 44px rgba(145,195,225,.075),inset 0 1px 0 rgba(255,255,255,.10);
}
.home-photography-card:focus-visible{outline:1px solid rgba(229,239,245,.75);outline-offset:6px}


/* Cursor-follow hint shown only while a fine pointer is over the photography card. */
.photography-card-cursor-label{
  position:fixed;
  left:0;
  top:0;
  z-index:220;
  pointer-events:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 17px;
  border:1px solid rgba(215,230,239,.30);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(45,61,72,.72),rgba(12,22,29,.56));
  box-shadow:0 14px 34px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.11);
  backdrop-filter:blur(14px) saturate(1.08);
  -webkit-backdrop-filter:blur(14px) saturate(1.08);
  color:rgba(250,252,253,.96);
  font-size:12px;
  line-height:1;
  font-weight:650;
  letter-spacing:.055em;
  white-space:nowrap;
  opacity:0;
  transform:translate3d(18px,18px,0) scale(.88);
  transform-origin:left top;
  transition:opacity .18s ease,transform .22s cubic-bezier(.16,1,.3,1);
  will-change:left,top,opacity,transform;
}
.photography-card-cursor-label.is-visible{
  opacity:1;
  transform:translate3d(18px,18px,0) scale(1);
}

/* Dedicated Home carousel. Removing .showcase-carousel keeps app.js's legacy 1s timer away from this card. */
.home-photography-carousel{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:#071018;
}
.home-photography-carousel .carousel-slide{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  opacity:0;
  transform:none;
  filter:saturate(.99) contrast(1.015) brightness(.97);
  transition:opacity 1s ease,filter .35s ease;
  will-change:opacity;
  -webkit-user-drag:none;
  user-select:none;
}
.home-photography-carousel .carousel-slide.is-current{
  z-index:2;
  opacity:1;
}
.home-photography-card:hover .home-photography-carousel .carousel-slide.is-current{
  filter:saturate(1.055) contrast(1.025) brightness(1.025);
}
.home-photography-carousel::before{
  content:"";
  position:absolute;
  inset:-22%;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(112deg,transparent 20%,rgba(255,255,255,.02) 33%,rgba(175,218,255,.09) 49%,rgba(255,255,255,.05) 58%,transparent 74%);
  background-size:185% 185%;
  background-position:var(--mx) var(--my);
  opacity:.28;
  filter:blur(9px) saturate(1.13);
  mix-blend-mode:screen;
  transition:opacity .6s ease;
}
.home-photography-card:hover .home-photography-carousel::before{opacity:.58}

@media(max-width:1000px){
  .photography-feature-layout{grid-template-columns:minmax(300px,.9fr) minmax(300px,.72fr);gap:clamp(38px,4.6vw,66px)}
  .home-photography-card{height:clamp(500px,73vh,740px);max-width:min(43vw,420px)}
  .photography-feature-copy h2{font-size:clamp(48px,6vw,68px)}
}
@media(max-width:800px){
  .home-photography-feature{height:auto;min-height:auto;padding:82px 0 104px;display:block}
  .photography-feature-layout{grid-template-columns:1fr;gap:44px;width:min(var(--safe),620px)}
  .photography-feature-copy{justify-self:stretch;max-width:620px;text-align:left}
  .photography-feature-copy h2{font-size:clamp(48px,12vw,70px)}
  .home-photography-card{justify-self:center;height:auto;width:min(78vw,410px);max-width:none;aspect-ratio:9/16}
  .showcase-next-button{position:relative;left:50%;bottom:auto;margin-top:42px;margin-bottom:-60px}
}
@media(max-width:520px){
  .home-photography-feature{padding-top:70px}
  .photography-feature-copy h2{font-size:clamp(44px,13vw,62px)}
  .photography-feature-lead{font-size:14px}
  .photography-feature-more{min-width:178px;min-height:50px;padding:0 24px}
  .home-photography-card{width:min(82vw,360px)}
}
@media(prefers-reduced-motion:reduce){
  .photography-feature-kicker,.photography-feature-copy h2,.photography-feature-lead,.photography-feature-more,.home-photography-card{transition-duration:.01ms!important;transition-delay:0ms!important}
  .home-photography-card:hover{transform:none}
  .home-photography-carousel .carousel-slide{transition:opacity .01ms linear!important}
  .photography-card-cursor-label{transition:none!important}
}
@media(hover:none),(pointer:coarse){
  .photography-card-cursor-label{display:none!important}
}
