/* ============================================================
   ANJALI FASHIONS — brand palette + brand-site sections
   Loaded after styles.css; overrides its palette tokens.
   ============================================================ */
:root {
  /* Soft Luxury Indian Fashion Editorial palette */
  --af-ivory: #F7F2E9;
  --af-beige: #E9DDCA;
  --af-cream: #FBF8F2;
  --af-burgundy: #7A1F3D;
  --af-burgundy-dk: #5E1630;
  --af-rose: #B98E98;
  --af-gold: #C8A96B;
  --af-charcoal: #292522;
  --af-taupe: #756B62;
  --af-light: #FFFDF9;
  --af-line: #D8C8B4;
  /* legacy alias — "forest" now resolves to warm burgundy-charcoal, never green */
  --af-forest: #3a2228;

  --color-primary: var(--af-burgundy);
  --color-primary-dark: var(--af-burgundy-dk);
  --color-background: var(--af-ivory);
  --color-surface: var(--af-beige);
  --color-accent: var(--af-gold);
  --color-text: var(--af-charcoal);
  --color-text-muted: var(--af-taupe);
  --color-border: var(--af-line);
  --green-deep: var(--af-ivory);
  --green: var(--af-beige);
  --green-soft: var(--af-cream);
  --gold: var(--af-gold);
  --gold-deep: #a88a4f;
  --gold-light: var(--af-gold);
  --champagne: var(--af-gold);
  --cream: var(--af-light);
  --burg-deep: var(--af-burgundy-dk);
  --burg: var(--af-burgundy);
  --ink-on-gold: var(--af-light);

  --serif: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
  --serif-i: 'Cormorant Garamond', Georgia, serif;
  --sans: 'Manrope', 'Segoe UI', Arial, sans-serif;
}

/* ---------- header: Instagram · WhatsApp · Enquire ---------- */
.nav-utils a.util { text-decoration: none; }
.util.util-enquire {
  width: auto; height: auto;
  padding: 0.7em 1.3em;
  border: 1px solid var(--af-gold);
  font-family: var(--sans);
  font-size: 10px; letter-spacing: 0.24em; text-transform: uppercase;
  white-space: nowrap;
  transition: background 0.4s var(--ease), color 0.4s var(--ease), opacity 0.8s var(--ease), transform 0.8s var(--ease);
}
.util.util-enquire:hover { background: var(--af-burgundy); color: var(--af-light); }
@media (max-width: 1100px) { .util.util-enquire { display: none; } }

/* ---------- Kalakaari description ---------- */
.k-desc {
  font-family: var(--sans); font-size: 13px; line-height: 1.8;
  max-width: 30ch; opacity: 0.85; margin: 0 0 1.6rem;
}

/* ---------- Values ---------- */

#craft .c-item { text-align: center; }
#craft .c-desc {
  display: block; margin: 0.9rem auto 0; max-width: 22ch;
  font-family: var(--serif-i); font-style: italic; font-size: 16px; line-height: 1.5;
  color: var(--af-taupe);
}

/* ---------- Contact ---------- */
#contact {
  background: var(--af-ivory); color: var(--af-charcoal);
  padding: clamp(80px, 12vw, 150px) var(--content-x);
  border-top: 1px solid color-mix(in oklab, var(--af-gold) 45%, transparent);
}
.ct-inner { max-width: 1180px; margin: 0 auto; text-align: center; }
.ct-eyebrow {
  font-family: var(--sans); font-size: 11px; letter-spacing: 0.4em; text-transform: uppercase;
  color: var(--af-gold);
}
.ct-head h2 {
  font-family: var(--serif); font-weight: 400; color: var(--af-burgundy);
  font-size: clamp(34px, 5vw, 64px); line-height: 1.08; margin: 0.6em 0 0;
}
.ct-head h2 em { font-family: var(--serif-i); font-style: italic; }
.ct-rule { display: block; width: 70px; height: 1px; background: var(--af-gold); margin: 1.8rem auto; }
.ct-sub { font-family: var(--serif-i); font-size: 19px; color: color-mix(in oklab, var(--af-charcoal) 75%, transparent); max-width: 46ch; margin: 0 auto; }
.ct-grid {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px;
  margin: clamp(48px, 6vw, 72px) 0;
}
.ct-card {
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  padding: 34px 18px; text-decoration: none; color: inherit;
  background: var(--af-beige);
  border: 1px solid color-mix(in oklab, var(--af-gold) 55%, transparent);
  transition: border-color 0.4s var(--ease), transform 0.4s var(--ease);
}
a.ct-card:hover { border-color: var(--af-burgundy); transform: translateY(-3px); }
.ct-card svg { width: 26px; height: 26px; fill: none; stroke: var(--af-burgundy); stroke-width: 1.2; }
.ct-card h3 { font-family: var(--sans); font-weight: 500; font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--af-burgundy); }
.ct-card p { font-family: var(--serif-i); font-size: 17px; overflow-wrap: anywhere; }
.ct-cta {
  display: inline-flex; align-items: center; gap: 14px;
  padding: 18px 36px; background: var(--af-burgundy); color: var(--af-ivory);
  font-family: var(--sans); font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase; text-decoration: none;
  transition: background 0.4s var(--ease);
}
.ct-cta:hover { background: var(--af-burgundy-dk); }
.ct-cta svg { width: 26px; height: 10px; fill: none; stroke: currentColor; stroke-width: 1.2; }
@media (max-width: 1000px) { .ct-grid { grid-template-columns: repeat(2, 1fr); } .ct-grid > :last-child { grid-column: 1 / -1; } }
@media (max-width: 520px) { .ct-grid { grid-template-columns: 1fr; } }

/* ---------- Collection page ---------- */
.cp-body { background: var(--af-ivory); color: var(--af-charcoal); overflow-x: hidden; }
.cp-top {
  position: sticky; top: 0; z-index: 10;
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 14px var(--content-x); background: var(--af-light); border-bottom: 1px solid var(--af-line);
}
.cp-top img { height: 64px; width: 64px; border-radius: 50%; display: block; }
.cp-top nav { display: flex; gap: 26px; flex-wrap: wrap; }
.cp-top nav a { color: var(--af-charcoal); text-decoration: none; font-family: var(--sans); font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase; }
.cp-top nav a:hover { color: var(--af-burgundy); }
.cp-hero { text-align: center; padding: clamp(70px, 10vw, 130px) var(--content-x) 40px; }
.cp-hero h1 { font-family: var(--serif); font-weight: 400; color: var(--af-burgundy); font-size: clamp(38px, 6vw, 76px); }
.cp-hero p { font-family: var(--serif-i); font-size: 20px; margin-top: 1rem; }
.cp-sec {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 6vw, 90px); align-items: center;
  padding: clamp(50px, 7vw, 100px) var(--content-x); scroll-margin-top: 92px;
}
.cp-sec:nth-of-type(even) .cp-img { order: 2; }
.cp-sec.cp-dark { background: var(--af-beige); }
.cp-img { aspect-ratio: 4 / 5; overflow: hidden; border: 1px solid var(--af-gold); padding: 10px; }
.cp-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cp-copy .ct-eyebrow { display: block; margin-bottom: 1rem; }
.cp-copy h2 { font-family: var(--serif); font-weight: 400; font-size: clamp(32px, 4.4vw, 58px); color: var(--af-burgundy); }

.cp-copy .lead { font-family: var(--serif-i); font-style: italic; font-size: 22px; margin: 1rem 0 1.4rem; }
.cp-copy p { font-family: var(--sans); font-size: 14px; line-height: 1.9; max-width: 48ch; margin-bottom: 1rem; }
.cp-copy .ct-cta { margin-top: 1rem; }
.cp-foot { text-align: center; padding: 50px var(--content-x); background: var(--af-ivory); border-top: 1px solid var(--af-line); color: var(--af-taupe); font-family: var(--sans); font-size: 12px; letter-spacing: 0.1em; }
@media (max-width: 820px) {
  .cp-sec { grid-template-columns: 1fr; }
  .cp-sec:nth-of-type(even) .cp-img { order: 0; }
  .cp-top nav { gap: 14px; }
  .cp-top img { height: 48px; width: 48px; }
}

/* long brand copy should not run edge to edge */
.x-head .x-sub, .b-head .b-sub { max-width: 62ch; margin-left: auto; margin-right: auto; }


/* ============================================================
   LIGHT EDITORIAL LAYER — ivory sections, burgundy accents
   ============================================================ */
body { background: var(--af-ivory); color: var(--af-charcoal); }

/* header: clean ivory bar */
#header::before { display: none; }
#header::after { background: var(--af-light); backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: 0 1px 0 var(--af-line); opacity: 1; }
body.is-loading #header::after { opacity: 0; }
#header .nav-side a { color: var(--af-charcoal); letter-spacing: 0.16em; }
#header .nav-side a:hover, #header .nav-side a.is-active { color: var(--af-burgundy); }
#header .util { color: var(--af-charcoal); }
#header .util:hover { color: var(--af-burgundy); }
#header .util.util-enquire { color: var(--af-burgundy); border-color: var(--af-burgundy); }
#header .util.util-enquire:hover { color: var(--af-light); }
#header .menu-btn span { background: var(--af-charcoal); }
#mobileNav { background: var(--af-ivory); color: var(--af-charcoal); }
#mobileNav .mn-item, #mobileNav .mn-foot, #mobileNav .mn-foot a, #mobileNav button { color: var(--af-charcoal); }
#mobileNav .mn-foot a { color: var(--af-burgundy); }

/* hero: keep photo, soften the veil */
#hero .veil { background: linear-gradient(90deg, rgba(41, 37, 34, 0.42) 0%, rgba(41, 37, 34, 0.14) 45%, rgba(41, 37, 34, 0) 70%) !important; }
#hero .headline { font-family: var(--serif); font-weight: 400; letter-spacing: -0.01em; color: var(--af-light); }
#hero .eyebrow, #hero .eb-text { color: var(--af-light); }
#hero .tagline { font-family: var(--sans); font-style: normal; font-size: 15px; line-height: 1.75; color: var(--af-light); max-width: 40ch; }

/* buttons */
.btn-primary { background: var(--af-burgundy); border-color: var(--af-burgundy); color: var(--af-light); }
.btn-primary .fill, .btn-ghost .fill { background: var(--af-burgundy-dk); }
.btn-primary:hover { color: var(--af-light); }
#hero .btn-ghost { border-color: rgba(255, 253, 249, 0.8); color: var(--af-light); }
#hero .btn-ghost:hover { border-color: var(--af-burgundy-dk); color: var(--af-light); }
.cta { color: var(--af-burgundy); border-color: var(--af-burgundy); }
.cta .fill { background: var(--af-burgundy); }
.cta:hover { color: var(--af-light); }

/* remove green-graded room photographs + dark vignettes behind sections */
.x-bgwrap, .w-bg, .k-room, .b-room, .f-leaves, .f-arch, .x-bridge { display: none !important; }
#women-new::before, #women-new::after, #explore .x-stage::after,
#kalakaari .k-stage::before, #kalakaari .k-stage::after,
#best .b-stage::before, #best .b-stage::after { display: none !important; }

#explore, #explore .x-stage, #kalakaari, #kalakaari .k-stage, #storyEd, #footer, #contact { background: var(--af-ivory) !important; }
#women-new, #best, #best .b-stage, #craft { background: var(--af-beige) !important; }
#craft { background: var(--af-cream) !important; border-block: 1px solid var(--af-line); }

/* section typography on light grounds */
.x-head h2, .sh-title, .k-head h2, .b-head h2, .se-copy h2, .f-st-line {
  font-family: var(--serif); font-weight: 400; color: var(--af-burgundy) !important; text-shadow: none !important;
}
.se-copy h2 { font-size: clamp(40px, 5vw, 72px); line-height: 1.02; }
.se-copy h2 em { color: var(--af-charcoal); font-style: italic; }
.x-eyebrow, .x-eyebrow span, .sh-eyebrow, .k-eyebrow, .b-eyebrow, .ct-eyebrow, .f-st-line2 { color: var(--af-rose) !important; text-shadow: none !important; }
.x-eyebrow i, .sh-orna, .sh-orna b, .k-orna, .k-orna b, .b-orna, .b-orna b, .se-rule, .k-qrule, .f-st-rule, .ct-rule { color: var(--af-gold); border-color: var(--af-gold) !important; }
.x-sub, .sh-sub, .k-sub, .b-sub, .se-para, .k-desc, .f-st-copy { color: var(--af-taupe) !important; text-shadow: none !important; }
.k-quote { color: var(--af-charcoal) !important; text-shadow: none !important; }
.rail, .rail p, .corner, .k-rail, .k-rail p, .k-corner, .b-rail, .b-rail p, .b-corner { color: var(--af-taupe) !important; }
.rail-rule, .k-rail-line, .b-rail-line { background: var(--af-line) !important; }
.lotus, .lotus path { stroke: var(--af-gold) !important; }
.w-nav, .w-count, .w-btn { color: var(--af-burgundy) !important; border-color: var(--af-line) !important; }

/* about cards: cream cards, imagery stays natural */
.x-card { background: var(--af-cream) !important; border: 1px solid var(--af-line); box-shadow: none !important; }

/* collection / kalakaari / more-than-fashion cards: thin border, soft scrim */
.w-card, .k-panel, .b-card { border: 1px solid var(--af-line); box-shadow: 0 18px 40px -30px rgba(41, 37, 34, 0.35) !important; }
.w-scrim, .k-scrim { background: linear-gradient(180deg, rgba(41, 37, 34, 0) 45%, rgba(41, 37, 34, 0.55) 100%) !important; }

/* values: minimal ivory cards */
#craft .c-row { gap: 20px; }
#craft .c-sep { display: none; }
#craft .c-item { background: var(--af-light); border: 1px solid var(--af-line); padding: 40px 24px; flex: 1; }
#craft .c-item p, #craft .c-item p span { color: var(--af-charcoal) !important; }
#craft svg, #craft svg * { stroke: var(--af-burgundy) !important; }
#craft .c-orna { display: none; }
@media (max-width: 767px) { #craft .c-row { flex-direction: column; } }

/* story */
.se-frame { border-color: var(--af-gold) !important; }

/* footer: Option B — warm ivory */
#footer { color: var(--af-charcoal); border-top: 1px solid var(--af-line); }
#footer h4 { color: var(--af-burgundy) !important; }
#footer .f-col i, #footer .f-news i, .f-orna, .f-script-rule { background: var(--af-line) !important; }
#footer a, #footer .f-about, #footer .f-news p, #footer .f-bottom, #footer .f-bottom p, #footer .f-region { color: var(--af-charcoal) !important; }
#footer a:hover { color: var(--af-burgundy) !important; }
#footer .f-script, #footer .f-script span { color: var(--af-burgundy) !important; }
#footer .f-aura { display: none; }
#footer .f-social a { border-color: var(--af-line) !important; }
#footer svg { stroke: var(--af-burgundy); }
#backTop, #backTop * { color: var(--af-burgundy) !important; border-color: var(--af-burgundy) !important; }

/* contact */
.ct-card { background: var(--af-beige); }
.ct-head h2 em { color: var(--af-charcoal); }

/* gentle, slow motion */
.cta, .btn, .ct-card, .util { transition-duration: 0.6s; }

/* fixes: no dark fade bands, long copy stays clear of the cards */
.x-stage::before, #hero::after { display: none !important; }
@media (min-width: 768px) {
  .x-head .x-sub, .b-head .b-sub { font-size: clamp(13px, 1.1vw, 17px) !important; max-width: 92ch; line-height: 1.55; }
}
.x-copy { text-shadow: 0 1px 14px rgba(41, 37, 34, 0.45); }

/* CTAs sitting on photographs stay light */
.x-copy .cta { color: var(--af-light); border-color: rgba(255, 253, 249, 0.75); }
.x-copy .cta:hover { border-color: var(--af-burgundy); }
@media (min-width: 768px) {
  .b-c1, .b-c4 { top: 27%; height: 53.5%; }
  .b-c2 { top: 27%; height: 25.5%; }
  .b-c3 { top: 54.5%; height: 26%; }
}

/* ============================================================
   COLLECTIONS REFINEMENT — palette, campaign cards, spacing
   ============================================================ */
:root {
  --af-ivory: #F5EFE5;
  --af-beige: #EFE3D0;
  --af-cream: #FAF7F1;
  --af-light: #FAF7F1;
  --af-burgundy: #70263D;
  --af-burgundy-dk: #591D30;
  --af-taupe: #6F6258;
  --af-gold: #C8A45D;
  --af-line: #D8C7AA;
  --af-scrim: rgba(28, 18, 16, 0.78);
}

/* section balance: composed, not empty */
#women-new { padding: clamp(64px, 9vh, 104px) 0 clamp(56px, 8vh, 96px) !important; }
#women-new .sec-head { margin-bottom: clamp(32px, 5vh, 56px) !important; }
#women-new .sh-title { line-height: 1.02; }
#women-new .sh-sub { margin-top: 0.9rem; }
#women-new .rail { opacity: 0.75; }
#explore, #kalakaari, #storyEd, #best, #craft, #contact { scroll-margin-top: 90px; }
#contact { padding-block: clamp(64px, 9vw, 110px) !important; }

/* campaign cards: 3:4 portrait, figure kept in frame */
.w-track {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(16px, 1.6vw, 28px) !important;
  width: min(92vw, 1360px) !important;
  padding: 0 !important;
  overflow: visible !important;
}
.w-card {
  max-width: none !important;
  aspect-ratio: 3 / 4 !important;
  border-radius: 999px 999px 4px 4px !important;
  border: 1px solid var(--af-line) !important;
  flex: none !important;
  opacity: 1;
}
.w-card > img { object-fit: cover; object-position: 50% 30%; }
.w-card[data-kind="craft"] > img, .w-card img[data-collection="kalakaari"] { object-position: 60% 60%; }
.w-card:hover > img, .w-card.is-focus > img { transform: scale(1.025); }
.w-scrim { background: linear-gradient(180deg, rgba(28, 18, 16, 0) 52%, rgba(28, 18, 16, 0.38) 72%, var(--af-scrim) 100%) !important; }
.w-caption { bottom: 6%; }
.w-kicker { color: var(--af-gold) !important; letter-spacing: 0.36em; }
.w-caption h3 { color: var(--af-cream) !important; font-weight: 400; letter-spacing: 0.08em; }
.w-line { color: rgba(250, 247, 241, 0.88) !important; font-style: italic; margin-bottom: 1.6vh; }
.w-caption .cta { color: var(--af-cream); border-color: rgba(250, 247, 241, 0.7); }
.w-caption .cta:hover { border-color: var(--af-burgundy); }
.w-nav { display: none !important; }

@media (max-width: 1100px) {
  .w-track { grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(88vw, 760px) !important; }
}
@media (max-width: 600px) {
  .w-track { grid-template-columns: 1fr; width: 86vw !important; gap: 22px !important; }
  .w-card { scroll-snap-align: none; }
}

/* collection page: same 3:4 framing, tighter rhythm */
.cp-hero { padding: clamp(56px, 7vw, 96px) var(--content-x) 24px; }
.cp-sec { padding: clamp(40px, 5.5vw, 80px) var(--content-x); }
.cp-img { aspect-ratio: 3 / 4; max-width: 560px; width: 100%; justify-self: center; }
.cp-img img { object-position: 50% 30%; }
.cp-img img[data-collection="kalakaari"] { object-position: 60% 60%; }
.cp-top nav a { letter-spacing: 0.26em; }
/* side rails are decorative: keep them out of the flow so they don't push the heading down */
#women-new > .rail { position: absolute !important; top: 50%; transform: translateY(-50%); }
#women-new > .rail-left { left: 3vw; } #women-new > .rail-right { right: 3vw; }
@media (max-width: 1100px) { #women-new > .rail { display: none; } }
@media (max-width: 1600px) { #women-new > .rail, #women-new > .corner { display: none !important; } }
.w-kicker { color: rgba(250, 247, 241, 0.82) !important; }

/* ============================================================
   QUALITY PASS — readability, layout safety, new sections
   ============================================================ */
html, body { width: 100%; max-width: 100%; overflow-x: clip; }
img { max-width: 100%; }
:root { --af-deco: #7d6a57; }

/* decorative editorial text: subtle but always readable */
.rail span, .corner span, .k-rail span, .k-corner span, .b-rail span, .b-corner span, .hero-rail span, .hero-desc span {
  color: var(--af-deco) !important; opacity: 1 !important; text-shadow: none !important;
}
.hero-rail span, .hero-desc span { color: rgba(250, 247, 241, 0.92) !important; text-shadow: 0 1px 10px rgba(28, 18, 16, 0.45) !important; }
.k-rail, .k-corner, .b-rail, .b-corner { max-width: 18%; }
.k-rail span, .k-corner span, .b-rail span, .b-corner span { font-size: clamp(9px, 0.75cqw, 12px) !important; }
@media (max-width: 1280px) {
  .k-rail, .k-corner, .b-rail, .b-corner, .corner, .hero-desc { display: none !important; }
}
@media (max-width: 767px) { .hero-rail { display: none !important; } }

/* keyboard focus + skip link */
a:focus-visible, button:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--af-gold); outline-offset: 3px;
}
.skip-link { position: absolute; left: 12px; top: -60px; z-index: 100; padding: 10px 16px; background: var(--af-burgundy); color: var(--af-cream); font-family: var(--sans); font-size: 12px; text-decoration: none; transition: top .3s var(--ease); }
.skip-link:focus { top: 12px; }

/* home: saree varieties strip under the collection cards */
.w-vars { width: min(92vw, 1100px); margin: clamp(28px, 4vh, 44px) auto 0; text-align: center; }
.w-vars-t { font-family: var(--sans); font-size: 11px; letter-spacing: 0.36em; text-transform: uppercase; color: var(--af-burgundy); margin-bottom: 14px; }
.w-vars ul { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.w-vars a {
  display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px;
  border: 1px solid var(--af-line); color: var(--af-taupe); text-decoration: none;
  font-family: var(--serif-i); font-style: italic; font-size: 17px;
  transition: border-color .4s var(--ease), color .4s var(--ease), background .4s var(--ease);
}
.w-vars a:hover { border-color: var(--af-burgundy); color: var(--af-burgundy); background: var(--af-cream); }

/* home: contact */
.ct-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.ct-card h3 { color: var(--af-burgundy); }
.ct-card p, .ct-card address { color: var(--af-charcoal); font-style: normal; font-family: var(--serif-i); font-size: 17px; line-height: 1.45; overflow-wrap: anywhere; }
.ct-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.ct-cta.ct-ghost { background: transparent; color: var(--af-burgundy); border: 1px solid var(--af-burgundy); }
.ct-cta.ct-ghost:hover { background: var(--af-burgundy); color: var(--af-cream); }
@media (max-width: 1000px) { .ct-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } .ct-grid > :last-child { grid-column: auto; } }
@media (max-width: 520px) { .ct-grid { grid-template-columns: 1fr !important; } .ct-actions .ct-cta { flex: 1 1 100%; justify-content: center; } }

/* home: footer */
#footer .f-main { grid-template-columns: 1.2fr 1fr 1fr 1.4fr 1.3fr !important; gap: clamp(24px, 3vw, 48px) !important; }
#footer .f-brand img { width: 96px; height: 96px; border-radius: 50%; }
#footer .f-about { font-family: var(--serif-i); font-style: italic; font-size: 18px; margin: 14px 0; }
#footer .f-shop { display: inline-flex; align-items: center; min-height: 44px; margin-top: 16px; padding: 0 22px; border: 1px solid var(--af-burgundy); color: var(--af-burgundy) !important; font-family: var(--sans); font-size: 11px; letter-spacing: 0.28em; text-transform: uppercase; text-decoration: none; transition: background .4s var(--ease), color .4s var(--ease); }
#footer .f-shop:hover { background: var(--af-burgundy); color: var(--af-cream) !important; }
#footer .f-contact address { font-style: normal; font-size: 14px; line-height: 1.7; color: var(--af-charcoal); margin-top: 6px; }
#footer .f-contact a { overflow-wrap: anywhere; }
#footer .f-region { color: var(--af-taupe) !important; }
@media (max-width: 1100px) { #footer .f-main { grid-template-columns: 1fr 1fr !important; } #footer .f-brand { grid-column: 1 / -1; } }
@media (max-width: 520px) { #footer .f-main { grid-template-columns: 1fr !important; } }

/* collection page */
.cp-top nav a[aria-current] { color: var(--af-burgundy); }
.cp-utils { display: flex; align-items: center; gap: 14px; }
.cp-ig { display: grid; place-items: center; width: 44px; height: 44px; color: var(--af-burgundy); }
.cp-ig svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.3; }
.cp-store { display: inline-flex; align-items: center; min-height: 40px; padding: 0 18px; border: 1px solid var(--af-gold); color: var(--af-burgundy); font-family: var(--sans); font-size: 10px; letter-spacing: 0.26em; text-transform: uppercase; text-decoration: none; transition: background .4s var(--ease), color .4s var(--ease); }
.cp-store:hover { background: var(--af-burgundy); color: var(--af-cream); }
.cp-hero p { color: var(--af-taupe); }
.cp-index { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 26px; margin-top: 28px; }
.cp-index a { color: var(--af-burgundy); font-family: var(--sans); font-size: 11px; letter-spacing: 0.28em; text-transform: uppercase; text-decoration: none; padding: 10px 0; border-bottom: 1px solid transparent; transition: border-color .4s var(--ease); }
.cp-index a:hover { border-color: var(--af-gold); }
.cp-sec, .cv, .cp-contact { scroll-margin-top: 100px; }
.cv-card { scroll-margin-top: 100px; }
.cp-copy p { color: var(--af-charcoal); }
.cp-varlist { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 4px 20px; margin: 0.4rem 0 1.4rem; }
.cp-varlist a { display: block; padding: 8px 0; border-bottom: 1px solid var(--af-line); color: var(--af-burgundy); font-family: var(--serif-i); font-size: 17px; text-decoration: none; }
.cp-varlist a:hover { color: var(--af-charcoal); }
.cp-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 1.2rem; }
.cp-actions .ct-cta { margin-top: 0; }
.cp-ghost { display: inline-flex; align-items: center; padding: 18px 30px; border: 1px solid var(--af-burgundy); color: var(--af-burgundy); font-family: var(--sans); font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase; text-decoration: none; transition: background .4s var(--ease), color .4s var(--ease); }
.cp-ghost:hover { background: var(--af-burgundy); color: var(--af-cream); }
.cv { padding: clamp(40px, 5vw, 72px) var(--content-x); background: var(--af-cream); border-block: 1px solid var(--af-line); }
.cv-head { text-align: center; margin-bottom: clamp(28px, 4vw, 48px); }
.cv-head h2 { font-family: var(--serif); font-weight: 400; color: var(--af-burgundy); font-size: clamp(30px, 4vw, 52px); margin-top: 0.4em; }
.cv-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(18px, 2vw, 32px); max-width: 1320px; margin: 0 auto; }
.cv-card { display: flex; flex-direction: column; }
.cv-img { aspect-ratio: 3 / 4; overflow: hidden; border: 1px solid var(--af-line); border-radius: 999px 999px 0 0; background: var(--af-beige); }
.cv-img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; display: block; transition: transform .7s var(--ease); }
.cv-card:hover .cv-img img { transform: scale(1.03); }
.cv-card h3 { font-family: var(--serif); font-weight: 500; font-size: clamp(20px, 1.6vw, 25px); color: var(--af-burgundy); margin: 16px 0 6px; line-height: 1.15; }
.cv-card p { font-family: var(--sans); font-size: 13.5px; line-height: 1.7; color: var(--af-taupe); flex: 1; }
.cv-shop { display: inline-flex; align-items: center; gap: 10px; align-self: flex-start; min-height: 44px; margin-top: 10px; color: var(--af-burgundy); font-family: var(--sans); font-size: 11px; letter-spacing: 0.28em; text-transform: uppercase; text-decoration: none; border-bottom: 1px solid var(--af-gold); }
.cv-shop svg, .cp-shop svg { width: 26px; height: 10px; fill: none; stroke: currentColor; stroke-width: 1.2; transition: transform .4s var(--ease); }
.cv-shop:hover svg, .cp-shop:hover svg { transform: translateX(4px); }
.cp-contact { text-align: center; padding: clamp(48px, 6vw, 88px) var(--content-x); }
.cp-contact h2 { font-family: var(--serif); font-weight: 400; color: var(--af-burgundy); font-size: clamp(28px, 3.6vw, 46px); margin: 0.5em 0; }
.cp-contact address { font-style: normal; font-family: var(--serif-i); font-size: 19px; line-height: 1.7; color: var(--af-charcoal); }
.cp-contact address a { color: var(--af-burgundy); }
.cp-actions-c { justify-content: center; margin-top: 1.6rem; }
.cp-foot-brand { font-family: var(--serif); font-size: 22px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--af-burgundy); margin-bottom: 6px; }
.cp-foot nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 22px; margin: 18px 0; }
.cp-foot nav a { color: var(--af-charcoal); text-decoration: none; padding: 8px 0; }
.cp-foot nav a:hover { color: var(--af-burgundy); }
@media (max-width: 1100px) {
  .cv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cp-top { flex-wrap: wrap; }
  .cp-top nav { order: 3; width: 100%; justify-content: center; }
}
@media (max-width: 560px) {
  .cv-grid { grid-template-columns: 1fr; max-width: 420px; }
  .cp-varlist { grid-template-columns: 1fr; }
  .cp-top nav { gap: 4px 16px; }
  .cp-top nav a { padding: 8px 0; font-size: 10px; }
  .cp-actions > * { flex: 1 1 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
/* small labels: deeper rose / antique gold so they read on ivory and beige */
:root { --af-eyebrow: #8a4f5e; }
.x-eyebrow, .x-eyebrow span, .sh-eyebrow, .k-eyebrow, .b-eyebrow, .ct-eyebrow, .f-st-line2,
#women-new .sh-eyebrow { color: var(--af-eyebrow) !important; }
/* decorative rails never fade below readable */
.rail, .corner, .k-rail, .k-corner, .b-rail, .b-corner { opacity: 1 !important; }
.rail span, .corner span, .k-rail span, .k-corner span, .b-rail span, .b-corner span { opacity: 1 !important; transform: none !important; }
@media (max-width: 1500px) { .k-corner, .b-corner { display: none !important; } }
#footer .f-contact address, #footer .f-contact a { font-family: var(--serif-i); font-size: 16px; }
.cp-body { overflow-x: clip !important; }
@media (max-width: 560px) { .cp-top { padding-block: 8px; gap: 6px 12px; } .cp-top img { width: 44px; height: 44px; } }
