/* A clear portrait feature followed by a calm, aligned gallery. */
#top .intro{grid-template-columns:.94fr 1.06fr;min-height:780px}
#top .portrait-feature{display:grid;place-items:center;min-height:780px;margin:0;border-left:1px solid #d7c7b1;background:linear-gradient(145deg,#f3eee8,#e8ddd0)}
#top .portrait-feature img{display:block;width:100%;height:100%;max-width:100%;max-height:780px;object-fit:contain;object-position:center;filter:saturate(1.04) brightness(1.02) contrast(1.04)}
#top .hero-image,#top .story img{filter:saturate(1.02) brightness(1) contrast(1.03)}
#top .selected-moments{display:block;padding:clamp(80px,9vw,124px) clamp(20px,6vw,92px);background:#faf5f1}
#top .selected-moments .gallery-head{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.65fr);grid-template-rows:auto auto;align-items:end;gap:12px 36px;max-width:1160px;margin:0 auto 38px}
#top .selected-moments .gallery-head .section-no{grid-column:1;grid-row:1;margin:0}
#top .selected-moments .gallery-head h2{grid-column:1;grid-row:2;margin:8px 0 0}
#top .selected-moments .gallery-head>p:last-child{grid-column:2;grid-row:2;max-width:320px;margin:0 0 8px;color:#6c625e}
#top .selected-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:clamp(320px,34vw,440px);gap:14px;width:min(100%,1160px);margin:0 auto}
#top .selected-grid figure{position:relative;min-width:0;min-height:0;margin:0;overflow:hidden;border:1px solid #c8ae8c55;background:#1a1113}
#top .selected-grid .selected-wine{grid-column:1;grid-row:1}
#top .selected-grid .selected-gym{grid-column:2;grid-row:1}
#top .selected-grid .selected-champagne{grid-column:3;grid-row:1}
#top .selected-grid img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(1.06) brightness(1.05) contrast(1.04);transition:filter .4s ease,transform .7s ease}
#top .selected-grid .selected-wine img{object-position:center 14%}
#top .selected-grid .selected-gym img{object-position:center 38%}
#top .selected-grid .selected-champagne img{object-position:center 58%}
#top .selected-grid figure:hover img{filter:saturate(1.08) brightness(1.07) contrast(1.05);transform:scale(1.015)}
#top .selected-grid figcaption,#top figcaption,.story b{display:none}
#top .moments{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:clamp(36px,5vw,76px)}
#top .moments h2{font-size:clamp(52px,5.8vw,78px);line-height:.92}
#top .travel{background-color:#250b18;background-image:linear-gradient(135deg,#220b19ed,#351326df),url('photos/chloe-pool-day.jpeg');background-position:center;background-size:cover;background-blend-mode:normal;color:#fff}
@media(max-width:900px){
  #top .intro{grid-template-columns:1fr;min-height:0}
  #top .portrait-feature{min-height:680px;border-left:0;border-top:1px solid #d7c7b1}
  #top .portrait-feature img{max-height:680px}
  #top .moments{grid-template-columns:1fr}
  #top .moments h2{font-size:clamp(54px,7vw,70px)}
  #top .selected-moments{padding:78px 6vw}
  #top .selected-moments .gallery-head{margin-bottom:30px;gap:10px 24px}
  #top .selected-grid{grid-template-rows:clamp(250px,34vw,330px);gap:10px}
}
@media(max-width:560px){
  #top .intro{min-height:0}
  #top .portrait-feature{min-height:560px}
  #top .portrait-feature img{max-height:560px}
  #top .moments h2{font-size:54px}
  #top .selected-moments{padding:72px 14px}
  #top .selected-moments .gallery-head{display:block;padding:0 8px;margin-bottom:26px}
  #top .selected-moments .gallery-head h2{margin:18px 0 0;font-size:57px}
  #top .selected-moments .gallery-head>p:last-child{margin:14px 0 0}
  #top .selected-grid{grid-template-columns:1fr;grid-template-rows:none;gap:12px}
  #top .selected-grid .selected-wine,#top .selected-grid .selected-gym,#top .selected-grid .selected-champagne{grid-column:auto;grid-row:auto}
  #top .selected-grid figure{height:auto}
  #top .selected-grid img{height:auto;object-fit:contain}
}
@media(prefers-reduced-motion:reduce){#top .selected-grid img{transition:none}}
#top .intro-copy{padding-inline:clamp(24px,4.5vw,70px)}
#top .intro-copy h2{font-size:clamp(54px,4.6vw,64px);line-height:.98;letter-spacing:-.04em}
@media(max-width:560px){#top .intro-copy{padding-inline:24px}#top .intro-copy h2{font-size:clamp(38px,11vw,44px)}}
