/* Content photography and concise browsing extend the existing editorial identity. */
.hero-inner { padding-top:32px; padding-bottom:24px; }
.hero-photo { height:360px; }
.hero p { max-width:32ch; }
.planning-note { justify-content:flex-end; padding-top:4px; }
.visual-discovery { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.discovery-edit { min-width:0; }
.discovery-image { display:block; border-radius:12px; overflow:hidden; }
.discovery-image img { width:100%; height:auto; aspect-ratio:1.6; object-fit:cover; }
.discovery-title { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:18px 0 0; }
.discovery-title h3 { font:36px/1.1 var(--serif); margin:0; }
.discovery-edit>p { margin:8px 0 16px; font-size:15px; color:var(--muted); }
.discovery-edit .moment-links { margin:2px 0 12px; }
.discovery-edit .song-preview { margin-bottom:0; }
.discovery-edit .mini-song { padding:12px 0; }
.mini-song>a { text-decoration:none; }
.mini-song>a:hover strong { text-decoration:underline; }
.mini-song small { display:block; }
.discovery-edit .discovery-link { border-bottom:1px solid var(--line); min-height:51px; }
.home-plan { padding:42px 0; background:var(--lilac); }
.home-plan-inner { display:grid; grid-template-columns:1fr 1.1fr; gap:64px; align-items:center; }
.home-plan h2 { max-width:14ch; margin-bottom:12px; }
.home-plan p { color:var(--muted); font-size:15px; margin-bottom:8px; }
.plan-shortcuts { display:grid; grid-template-columns:1fr 1fr; gap:0 28px; }
.plan-shortcuts a { display:grid; grid-template-columns:1fr auto; padding:20px 0; gap:3px 10px; border-bottom:1px solid #cdc3d5; text-decoration:none; }
.plan-shortcuts span { font-size:17px; font-weight:500; }
.plan-shortcuts small { grid-column:1; font-size:13px; color:var(--muted); }
.plan-shortcuts svg { grid-column:2; grid-row:1/3; align-self:center; }
.plan-shortcuts a:hover span { text-decoration:underline; }
.page-intro h1 { font-size:clamp(38px,4.5vw,54px); }
.photo-moments { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.photo-moments button { padding:0; border:0; border-radius:10px; background:transparent; text-align:left; overflow:hidden; }
.photo-moments button>img { width:100%; height:155px; object-fit:cover; }
.photo-moments button:first-child>img { object-position:center 18%; }
.photo-moments button:last-child>img { object-position:center 24%; }
.photo-moments button:nth-child(2)>img { object-position:center 46%; }
.photo-moments button>span { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:12px 14px; background:var(--lilac); font-size:15px; }
.photo-moments button[aria-pressed=true]>span { background:var(--plum); color:white; }
.photo-moments button:hover>span { text-decoration:underline; }
.photo-moments button:focus-visible { outline-offset:4px; }
.image-intro { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr); gap:54px; align-items:center; padding:30px 0 26px; }
.image-intro .page-intro { padding:0; }
.image-intro figure { margin:0; }
.image-intro figure>img { width:100%; height:255px; object-fit:cover; border-radius:12px; }
.image-intro figcaption { font-size:12px; color:var(--muted); margin:5px 0 0; }
.guide-intro { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
.guide-intro h1 { max-width:18ch; }
.guide-intro figure>img { height:285px; }
.guide-nav { display:flex; flex-wrap:wrap; gap:8px 24px; padding:4px 0 20px; margin-bottom:24px; border-bottom:1px solid var(--line); }
.guide-nav a { min-height:44px; display:inline-flex; align-items:center; font-size:14px; }
.visual-article { max-width:1000px; }
.visual-article>h2 { margin:24px 0 12px; }
.visual-article .research-label { margin:0 0 14px; font-size:12px; }
.visual-article .guide-tips { max-width:none; margin-top:44px; }
.guide-criteria { padding:0 0 14px; margin:0 0 14px; display:grid; gap:8px 28px; grid-template-columns:repeat(2,minmax(0,1fr)); list-style:none; }
.article-copy .guide-criteria { padding-left:0; }
.guide-criteria li { display:flex; gap:10px; align-items:flex-start; margin:0; font-size:14px; line-height:1.55; }
.guide-criteria svg { margin-top:3px; color:var(--leaf); }
.guide-tip { border-bottom:1px solid var(--line); }
.guide-tip>summary { cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:16px 0; list-style:none; min-height:56px; }
.guide-tip>summary::-webkit-details-marker { display:none; }
.guide-tip>summary h3 { margin:0; font:500 17px/1.5 var(--sans); }
.guide-tip[open]>summary svg { transform:rotate(180deg); }
.guide-tip p { max-width:70ch; margin:0 0 22px; font-size:15px; line-height:1.8; color:var(--muted); }
.guide-source-details { margin:24px 0; padding:14px 20px; background:var(--lilac); border-radius:12px; font-size:14px; }
.guide-source-details>summary { cursor:pointer; min-height:32px; display:list-item; }
.guide-source-details p { margin:14px 0; }
.guide-shortlist { margin:32px 0; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 0; border-block:1px solid var(--line); }
.guide-shortlist p { margin:0; font-size:14px; color:var(--muted); }
.guide-shortlist strong { display:block; color:var(--ink); font-size:17px; margin-bottom:3px; }
.research-footnote { margin:20px 0 40px; font-size:12px; color:var(--muted); }
.section-heading:has(>.text-link) { display:flex; flex-wrap:wrap; gap:12px 24px; }
.provider-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; align-items:start; }
.provider-list>.empty-state { grid-column:1/-1; }
@media (max-width:1000px) {
  .image-intro { gap:30px; }
  .image-intro figure>img { height:240px; }
  .home-plan-inner { gap:40px; }
  .visual-discovery { gap:30px; }
  .photo-moments button>img { height:130px; }
}
@media (max-width:740px) {
  .hero-inner { padding-top:28px; padding-bottom:16px; gap:20px; }
  .hero-photo { height:240px; }
  .hero h1 { font-size:clamp(42px,12vw,60px); }
  .hero-actions { margin-top:18px; }
  .planning-note { justify-content:flex-end; }
  .visual-discovery { grid-template-columns:1fr; gap:34px; }
  .discovery-image img { aspect-ratio:1.6; }
  .discovery-title h3 { font-size:32px; }
  .home-plan-inner { grid-template-columns:1fr; gap:16px; }
  .home-plan h2 { max-width:18ch; font-size:36px; }
  .plan-shortcuts { gap:0 24px; }
  .plan-shortcuts span { font-size:15px; }
  .plan-shortcuts small { font-size:12px; }
  .image-intro { grid-template-columns:1fr; gap:18px; padding:24px 0; }
  .image-intro figure>img { height:180px; }
  .image-intro h1 { max-width:none; font-size:40px; }
  .photo-moments { gap:10px; margin-bottom:20px; }
  .photo-moments button { padding:0; border-radius:8px; }
  .photo-moments button>img { height:90px; }
  .photo-moments button>span { padding:10px 5px; justify-content:center; text-align:center; font-size:12px; min-height:44px; }
  .photo-moments button>span>svg { display:none; }
  .guide-criteria { grid-template-columns:1fr; gap:12px; }
  .guide-shortlist { align-items:flex-start; flex-direction:column; gap:12px; }
  .guide-nav { gap:0 20px; padding-bottom:10px; }
  .provider-list { grid-template-columns:1fr; }
}
@media print { .guide-tip:not([open])>*:not(summary),.guide-source-details:not([open])>*:not(summary) { display:block; } }

/* New collections inherit the same photographic entry points. */
.home-new-category .discovery-title h3 a { text-decoration:none; }
.home-new-category .discovery-title h3 a:hover { text-decoration:underline; }
.home-new-category>p { margin-bottom:4px; }
.home-photo-credit { display:block; font-size:11px; color:var(--muted); }
.home-dress-image img { object-position:50% 37%; }
.shortlist-empty-links { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:12px 20px; }
@media (min-width:741px) and (max-width:1020px) {
  .mobile-toggle { display:block; margin-left:auto; }
  .desktop-nav { display:none; position:absolute; top:76px; left:0; right:0; height:auto; padding:16px 30px; background:var(--paper); border-bottom:1px solid var(--line); }
  .desktop-nav.open { display:flex; flex-direction:column; align-items:stretch; gap:4px; }
  .desktop-nav a { min-height:48px; font-size:16px; padding:4px 12px; }
  .desktop-nav a[aria-current=page] { background:var(--lilac); border-radius:6px; }
  .desktop-nav a[aria-current=page]::after { display:none; }
}
