/* Pursuit 2026 refinement: homepage modules, empty states, service pages and form feedback.
   Palette and type come from the live Pursuit tokens (reference-layout.css); nothing here imports reference branding. */

/* Hero: keep the subject visible at every width */
.reference-home .season-campaign>img { object-position:62% 38%; }
.reference-home .campaign h1 { max-width:640px; }

/* Occasion and category tiles: short supporting line under the title */
.reference-home .edge-rail .editorial-tile>div p { font-size:14px; line-height:1.5; text-transform:none; letter-spacing:0; margin-top:8px; color:rgba(255,255,255,.86); max-width:32ch; }
.reference-home #categories .editorial-tile img[src*="mannequin-blue-check"] { object-position:50% 70%; }
.reference-home #categories .editorial-tile img[src*="finishing-touches"] { object-position:30% 70%; }

/* New arrivals: honest in-store treatment while the online catalogue is empty */
.arrivals-note { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); background:var(--stone); min-height:420px; }
.arrivals-note-img { position:relative; overflow:hidden; }
.arrivals-note-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 25%; }
.arrivals-note-copy { padding:clamp(32px,5vw,72px); align-self:center; max-width:620px; }
.arrivals-note-copy h3 { font-size:clamp(26px,2.2vw,34px); line-height:1.15; margin:0 0 16px; color:var(--navy); }
.arrivals-note-copy p { color:var(--muted); font-size:15px; line-height:1.65; margin:0 0 28px; }
.arrivals-note-actions,.ce-actions { display:flex; flex-wrap:wrap; gap:12px; }
.arrivals-note-actions .btn--ghost,.ce-actions .btn--ghost { background:transparent; color:var(--navy); border:1px solid var(--navy); }

/* Gift panel: image left, copy right, as in the reference rhythm */
.reference-home .gift-split--reverse>div:not(.gift-display),.gift-page>div:not(.gift-display) { background:#fff!important; }
.gift-split--reverse .gift-display { min-height:520px; }
.gift-split .gift-display>div { position:absolute; inset:0; }
.gift-split .btn { color:var(--gold); }

/* Caption legibility on light photographs */
.reference-home .edge-rail .editorial-tile:after { inset:40% 0 0; background:linear-gradient(transparent,rgba(6,21,34,.78)); }
.reference-home .editorial-grid>a:after { content:''; position:absolute; inset:40% 0 0; background:linear-gradient(transparent,rgba(6,21,34,.72)); }
.reference-home .editorial-grid h3,.reference-home .editorial-grid .arrow-link { z-index:1; }
.reference-home .editorial-grid img { opacity:1; }

/* Looks rail: captions sit above a quiet bar */
.reference-home .look-card>span { font-size:10px; }

/* Brands: labels and cloth makers shown as separate groups */
.brand-group-h { font-family:var(--sans); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-ink); margin:28px 0 12px; font-weight:500; }
.reference-home .brand-section .retail-heading { margin-bottom:0; }
.reference-home .brand-section .brand-grid { grid-template-columns:repeat(3,1fr); }
.brand-note { margin-top:20px; font-size:14px; color:var(--muted); }

/* Collection pages with no online inventory yet */
.collection-empty { background:var(--stone); margin-top:32px; }
.collection-empty-row { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:48px; padding-block:56px; align-items:center; }
.collection-empty h2 { font-size:clamp(26px,2.4vw,36px); margin:0 0 14px; color:var(--navy); }
.collection-empty p:not(.eyebrow) { color:var(--muted); max-width:56ch; line-height:1.65; margin:0 0 24px; }
.collection-empty .eyebrow { color:var(--gold-ink); }
.ce-shops { list-style:none; margin:0; padding:0; display:grid; gap:20px; }
.ce-shops li { display:grid; gap:4px; padding-left:20px; border-left:1px solid var(--gold); font-size:14px; }
.ce-shops strong { font-family:var(--serif); font-weight:400; font-size:20px; color:var(--navy); }
.ce-shops a { color:var(--teal); }

/* Service pages: process steps and questions */
.service-steps { background:#fff; }
.service-steps h2,.service-faq h2 { font-size:clamp(28px,2.4vw,36px); margin:0 0 28px; }
.steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; }
.steps li { border-top:1px solid var(--line); padding-top:20px; }
.step-n { font-family:var(--sans); font-size:12px; letter-spacing:.14em; color:var(--gold-ink); }
.steps h3 { font-size:22px; margin:10px 0 8px; }
.steps p { color:var(--muted); font-size:14px; line-height:1.6; }
.faq-wrap { display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:48px; align-items:start; }
.tailoring-feature .btn-row { display:flex; flex-wrap:wrap; gap:12px; }

/* Gift card information page */
.gift-page { margin-top:16px; }
.gift-page h1 { font-size:clamp(34px,3.1vw,54px); margin-bottom:20px; color:var(--navy); }
.gift-how { font-size:14px; color:var(--muted); }
.gift-page .ce-actions { justify-content:center; }

/* Form feedback without a connected form service */
.form-msg.info { color:var(--navy); background:var(--stone); padding:12px 14px; border-left:2px solid var(--gold); line-height:1.5; }
.form-msg.info a { color:var(--teal); text-decoration:underline; text-underline-offset:3px; }
.lc-news-form .form-msg.info { background:transparent; color:#fff; border-left-color:var(--gold); }
.lc-news-form .form-msg.info a { color:var(--gold); }

@media(max-width:1000px) {
  .steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .reference-home .season-campaign>img { object-position:68% 40%; }
  .arrivals-note { grid-template-columns:1fr; }
  .arrivals-note-img { aspect-ratio:4/3; }
  .arrivals-note-copy { padding:32px 24px; }
  .arrivals-note-actions .btn,.ce-actions .btn { width:100%; justify-content:center; }
  .gift-split--reverse .gift-display { min-height:360px; }
  .reference-home .brand-section .brand-grid { grid-template-columns:repeat(2,1fr); }
  .collection-empty-row { grid-template-columns:1fr; gap:28px; padding-block:40px; }
  .steps { grid-template-columns:1fr; gap:20px; }
  .faq-wrap { grid-template-columns:1fr; gap:8px; }
}

/* Gift panel fixes: the gift page sits outside the homepage wrapper, and the mobile split stacks as a flex column */
.gift-page { display:grid; grid-template-columns:1fr 1fr; background:#fff; padding:0!important; }
.gift-page>div:not(.gift-display) { align-self:stretch; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:64px; color:var(--navy); background:#fff; }
.gift-page p:not(.eyebrow) { color:var(--muted)!important; font-size:15px; line-height:1.65; max-width:420px; margin:0 auto 18px; }
.gift-page .eyebrow { justify-content:center; color:var(--gold-ink); }
.gift-page .btn--ghost { color:var(--navy)!important; border:1px solid var(--navy); background:transparent; }
.gift-split .gift-display { width:100%; position:relative; }
@media(max-width:760px) {
  .gift-page { grid-template-columns:1fr; }
  .gift-page>div:not(.gift-display) { padding:40px 24px; }
  .gift-split .gift-display { min-height:300px!important; flex:0 0 auto; }
  .reference-home .brand-section .brand-grid { grid-template-columns:repeat(3,1fr); gap:6px; }
  .reference-home .brand-section .brand-grid a { height:64px; }
  .reference-home .brand-section .brand-grid img { max-width:84%; }
}

/* Instagram strip (homepage) */
.ig-section .retail-heading { text-align: center; }
.ig-section .eyebrow { justify-content: center; }
.ig-section .section-sub a { color: var(--teal); text-decoration: none; font-weight: 500; }
.ig-section .section-sub a:hover { text-decoration: underline; }
.ig-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.ig-grid > a { position: relative; display: block; aspect-ratio: 1; overflow: hidden; background: var(--stone, #f4f5f2); }
.ig-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.ig-grid > a:hover img { transform: scale(1.04); }
.ig-badge { position: absolute; right: 10px; top: 10px; width: 22px; height: 22px; color: #fff; opacity: .9; filter: drop-shadow(0 1px 3px #0007); }
.ig-badge svg { width: 100%; height: 100%; }
@media (max-width: 760px) { .ig-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; } .ig-badge { width: 16px; height: 16px; right: 6px; top: 6px; } }
