/* ==========================================================================
   AALANKAAR STUDIOS — 05 · SITE CHROME
   Announcement bar · navigation · mobile menu · cart drawer · quick view ·
   search overlay · footer · toasts
   ========================================================================== */

/* --------------------------------------------------------------------------
   ANNOUNCEMENT BAR
   -------------------------------------------------------------------------- */

.announce{
  position:relative;
  z-index:calc(var(--z-nav) + 1);
  background:var(--c-ink-deep);
  color:var(--c-ivory);
  padding-block:9px;
  overflow:hidden;
}
.announce .marquee__item{
  font-family:var(--font-sans);
  font-style:normal;
  font-size:var(--fs-label);
  letter-spacing:var(--ls-label);
  text-transform:uppercase;
  color:var(--c-ivory);
  opacity:.82;
}
.announce .marquee__item::after{ color:var(--c-gold); }

/* --------------------------------------------------------------------------
   NAVIGATION
   Transparent over the hero, then a solid ivory rail once you scroll.
   It also hides on scroll-down and returns on scroll-up.
   -------------------------------------------------------------------------- */

.nav{
  position:sticky;
  top:0;
  z-index:var(--z-nav);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--s-5);
  padding:var(--s-4) var(--gutter);
  background:transparent;
  border-bottom:1px solid transparent;
  transition:background var(--dur-3) var(--ease),
             border-color var(--dur-3) var(--ease),
             transform var(--dur-3) var(--ease),
             padding var(--dur-3) var(--ease),
             backdrop-filter var(--dur-3) var(--ease);
}
.nav.is-stuck{
  background:rgba(232,218,180,.86);
  -webkit-backdrop-filter:blur(14px) saturate(1.1);
          backdrop-filter:blur(14px) saturate(1.1);
  border-bottom-color:var(--rule);
  padding-block:var(--s-3);
}
.nav.is-hidden{ transform:translateY(-102%); }

/* Over a dark hero the nav inverts its ink. Keyed off the body class rather
   than the nav alone: a front page rebuilt in Elementor may have no dark
   hero at all, and ivory-on-ivory would make the whole nav disappear. */
body.has-dark-hero .nav:not(.is-stuck){ color:var(--c-ivory); }

/* Wordmark */
.nav__mark{
  display:flex;
  align-items:baseline;
  gap:.42em;
  line-height:1;
}
.nav__mark-name{
  font-family:var(--font-display);
  font-size:1.42rem;
  font-weight:500;
  font-style:italic;
  letter-spacing:-0.03em;
}
.nav__mark-sub{
  font-family:var(--font-sans);
  font-size:9px;
  letter-spacing:var(--ls-wide);
  text-transform:uppercase;
  opacity:.6;
  transform:translateY(-2px);
}
.nav__mark:hover .nav__mark-name{ font-style:normal; }
.nav__mark-name{ transition:font-style var(--dur-2) var(--ease); }

/* Links */
.nav__links{
  display:flex;
  align-items:center;
  gap:var(--s-5);
}
.nav__links a,
.nav__link{
  position:relative;
  font-size:var(--fs-label);
  font-weight:500;
  letter-spacing:var(--ls-label);
  text-transform:uppercase;
  padding-block:4px;
}
.nav__links a::after,
.nav__link::after{
  content:"";
  position:absolute; left:0; bottom:0;
  width:100%; height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:right center;
  transition:transform var(--dur-3) var(--ease);
}
.nav__links a:hover::after,
.nav__link:hover::after,
.nav__links .current-menu-item > a::after{ transform:scaleX(1); transform-origin:left center; }

/* WP menu markup normalisation */
.nav__menu{ display:flex; align-items:center; gap:var(--s-5); }
.nav__menu li{ position:relative; }
.nav__menu .sub-menu{
  position:absolute;
  top:calc(100% + 14px);
  left:0;
  min-width:210px;
  background:var(--c-ivory-lift);
  border:1px solid var(--rule);
  padding:var(--s-3) 0;
  display:flex;
  flex-direction:column;
  gap:0;
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px);
  transition:opacity var(--dur-2) var(--ease), transform var(--dur-2) var(--ease), visibility var(--dur-2);
  box-shadow:var(--shadow-md);
}
.nav__menu li:hover > .sub-menu,
.nav__menu li:focus-within > .sub-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.nav__menu .sub-menu a{
  display:block;
  padding:9px var(--s-4);
  letter-spacing:.12em;
  transition:background var(--dur-1) var(--ease), padding-left var(--dur-2) var(--ease);
}
.nav__menu .sub-menu a::after{ display:none; }
.nav__menu .sub-menu a:hover{ background:var(--c-ivory); padding-left:calc(var(--s-4) + 6px); }

/* Utility cluster on the right */
.nav__utils{ display:flex; align-items:center; gap:var(--s-4); }

.nav__icon-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:var(--fs-label);
  font-weight:500;
  letter-spacing:var(--ls-label);
  text-transform:uppercase;
}
.nav__icon-btn svg{ width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.3; }

/* Bag count bubble — pops when the count changes */
.nav__bag-count{
  display:inline-grid;
  place-items:center;
  min-width:19px; height:19px;
  padding-inline:5px;
  border-radius:var(--radius-pill);
  background:var(--c-vermilion);
  color:var(--c-ivory);
  font-size:9.5px;
  font-weight:600;
  letter-spacing:0;
  font-variant-numeric:tabular-nums;
  transition:transform var(--dur-2) var(--ease-back);
}
.nav__bag-count.is-empty{ opacity:.35; background:transparent; color:inherit; border:1px solid currentColor; }
.nav__bag-count.is-bumped{ transform:scale(1.42); }

/* Hamburger — two rules that cross into an X */
.nav__toggle{
  display:none;
  width:34px; height:20px;
  position:relative;
}
.nav__toggle i{
  position:absolute; left:0;
  width:100%; height:1.4px;
  background:currentColor;
  transition:transform var(--dur-3) var(--ease), opacity var(--dur-2) var(--ease), width var(--dur-3) var(--ease);
}
.nav__toggle i:nth-child(1){ top:3px; }
.nav__toggle i:nth-child(2){ top:10px; width:68%; }
.nav__toggle i:nth-child(3){ top:17px; }
.nav__toggle.is-open i:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav__toggle.is-open i:nth-child(2){ opacity:0; width:0; }
.nav__toggle.is-open i:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

@media (max-width:1024px){
  .nav__links,
  .nav__menu{ display:none; }
  .nav__toggle{ display:block; }
}

/* --------------------------------------------------------------------------
   MOBILE / FULLSCREEN MENU
   -------------------------------------------------------------------------- */

.menu-overlay{
  position:fixed; inset:0;
  z-index:var(--z-menu);
  background:var(--c-ink-deep);
  color:var(--c-ivory);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:var(--s-8) var(--gutter) var(--s-6);
  clip-path:circle(0% at calc(100% - 56px) 44px);
  transition:clip-path .82s var(--ease-snap);
  overflow-y:auto;
}
.menu-overlay.is-open{ clip-path:circle(150% at calc(100% - 56px) 44px); }

/* Close control — always on top of the overlay itself, so it never depends
   on the nav bar (behind the overlay's higher z-index) staying visible. */
.menu-overlay__close{
  position:absolute;
  top:var(--s-4); right:var(--gutter);
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:var(--fs-label);
  font-weight:500;
  letter-spacing:var(--ls-label);
  text-transform:uppercase;
  color:var(--c-ivory);
  opacity:0;
  transition:color var(--dur-2) var(--ease), opacity .5s var(--ease) .3s;
}
.menu-overlay.is-open .menu-overlay__close{ opacity:.85; }
.menu-overlay__close:hover{ color:var(--c-gold-soft); opacity:1; }
.menu-overlay__close i{ font-style:normal; font-size:1.5rem; line-height:1; transition:transform var(--dur-3) var(--ease); }
.menu-overlay__close:hover i{ transform:rotate(90deg); }

.menu-overlay__links{ display:flex; flex-direction:column; gap:var(--s-2); }
.menu-overlay__links a{
  font-family:var(--font-display);
  font-size:clamp(2.1rem, 9vw, 4rem);
  font-weight:500;
  line-height:1.08;
  letter-spacing:var(--ls-display);
  opacity:0;
  transform:translateY(28px);
  transition:opacity .6s var(--ease), transform .6s var(--ease), color var(--dur-2) var(--ease);
}
.menu-overlay.is-open .menu-overlay__links a{
  opacity:1;
  transform:translateY(0);
  transition-delay:calc(var(--i, 0) * 70ms + 200ms);
}
.menu-overlay__links a:hover{ color:var(--c-gold-soft); font-style:italic; }

.menu-overlay__index{
  font-family:var(--font-sans);
  font-size:var(--fs-label);
  letter-spacing:var(--ls-label);
  color:var(--c-gold);
  margin-right:.8em;
  vertical-align:super;
}

.menu-overlay__foot{
  margin-top:var(--s-7);
  padding-top:var(--s-4);
  border-top:1px solid var(--rule-dark);
  display:flex;
  flex-wrap:wrap;
  gap:var(--s-5);
  justify-content:space-between;
  font-size:var(--fs-label);
  letter-spacing:var(--ls-label);
  text-transform:uppercase;
  color:rgba(232,218,180,.6);
  opacity:0;
  transition:opacity .6s var(--ease) .7s;
}
.menu-overlay.is-open .menu-overlay__foot{ opacity:1; }

/* --------------------------------------------------------------------------
   CART DRAWER
   -------------------------------------------------------------------------- */

.scrim{
  position:fixed; inset:0;
  z-index:calc(var(--z-drawer) - 1);
  background:rgba(10,5,4,.52);
  -webkit-backdrop-filter:blur(3px);
          backdrop-filter:blur(3px);
  opacity:0;
  visibility:hidden;
  transition:opacity var(--dur-3) var(--ease), visibility var(--dur-3);
}
.scrim.is-on{ opacity:1; visibility:visible; }

.drawer{
  position:fixed;
  top:0; right:0;
  z-index:var(--z-drawer);
  width:min(460px, 100vw);
  height:100dvh;
  background:var(--c-ivory-lift);
  display:flex;
  flex-direction:column;
  transform:translateX(101%);
  transition:transform .62s var(--ease-snap);
  box-shadow:var(--shadow-lg);
}
.drawer.is-open{ transform:translateX(0); }

.drawer__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:var(--s-5) var(--s-5) var(--s-4);
  border-bottom:1px solid var(--rule);
}
.drawer__title{
  font-family:var(--font-display);
  font-size:1.5rem;
  font-weight:500;
}
.drawer__title span{ color:var(--fg-faint); font-size:.7em; }

.drawer__close{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:var(--fs-label);
  letter-spacing:var(--ls-label);
  text-transform:uppercase;
  color:var(--fg-muted);
  transition:color var(--dur-2) var(--ease);
}
.drawer__close:hover{ color:var(--c-vermilion); }
.drawer__close i{ font-style:normal; font-size:1.35rem; line-height:1; transition:transform var(--dur-3) var(--ease); }
.drawer__close:hover i{ transform:rotate(90deg); }

.drawer__body{
  flex:1;
  overflow-y:auto;
  padding:var(--s-4) var(--s-5);
  overscroll-behavior:contain;
}
.drawer__foot{
  border-top:1px solid var(--rule);
  padding:var(--s-4) var(--s-5) var(--s-5);
  background:var(--c-ivory);
}
.drawer__row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  margin-bottom:var(--s-3);
}
.drawer__row--total{
  font-family:var(--font-display);
  font-size:1.25rem;
  padding-top:var(--s-3);
  border-top:1px solid var(--rule-soft);
}
.drawer__note{
  font-size:var(--fs-xs);
  color:var(--fg-faint);
  text-align:center;
  margin-top:var(--s-3);
}
.drawer__actions{ display:grid; gap:var(--s-2); margin-top:var(--s-3); }

/* Line items */
.mini-item{
  display:grid;
  grid-template-columns:78px 1fr auto;
  gap:var(--s-3);
  padding-block:var(--s-4);
  border-bottom:1px solid var(--rule-soft);
  animation:item-in .45s var(--ease) backwards;
}
@keyframes item-in{
  from{ opacity:0; transform:translateX(18px); }
}
.mini-item__media{ aspect-ratio:3/4; overflow:hidden; background:var(--bg-lift); }
.mini-item__media img{ width:100%; height:100%; object-fit:cover; }
.mini-item__name{ font-family:var(--font-display); font-size:1rem; line-height:1.25; }
.mini-item__meta{ font-size:var(--fs-xs); color:var(--fg-faint); margin-top:4px; }
.mini-item__price{ font-size:var(--fs-sm); margin-top:var(--s-2); }
.mini-item__remove{
  align-self:start;
  font-size:var(--fs-xs);
  color:var(--fg-faint);
  text-decoration:underline;
  text-underline-offset:3px;
  transition:color var(--dur-2) var(--ease);
}
.mini-item__remove:hover{ color:var(--c-vermilion); }
.mini-item.is-going{ opacity:.35; pointer-events:none; }

.drawer__empty{
  text-align:center;
  padding:var(--s-8) var(--s-4);
  color:var(--fg-muted);
}
.drawer__empty p{ margin-bottom:var(--s-4); }

/* Free-shipping meter */
.ship-meter{ margin-bottom:var(--s-4); }
.ship-meter__bar{
  height:2px;
  background:var(--rule);
  overflow:hidden;
}
.ship-meter__bar i{
  display:block;
  height:100%;
  width:var(--pct, 0%);
  background:linear-gradient(90deg, var(--c-gold), var(--c-vermilion));
  transition:width var(--dur-4) var(--ease);
}
.ship-meter__text{
  font-size:var(--fs-xs);
  color:var(--fg-muted);
  margin-bottom:var(--s-2);
  letter-spacing:.04em;
}

/* --------------------------------------------------------------------------
   QUICK VIEW
   -------------------------------------------------------------------------- */

.quickview{
  position:fixed; inset:0;
  z-index:var(--z-modal);
  display:grid;
  place-items:center;
  padding:var(--gutter);
  opacity:0;
  visibility:hidden;
  transition:opacity var(--dur-3) var(--ease), visibility var(--dur-3);
}
.quickview.is-open{ opacity:1; visibility:visible; }

.quickview__panel{
  position:relative;
  width:min(1080px, 100%);
  max-height:88dvh;
  overflow-y:auto;
  background:var(--c-ivory-lift);
  display:grid;
  grid-template-columns:1fr 1fr;
  transform:translateY(28px) scale(.985);
  transition:transform var(--dur-4) var(--ease);
  box-shadow:var(--shadow-lg);
}
.quickview.is-open .quickview__panel{ transform:none; }

.quickview__media{ position:relative; background:var(--bg-lift); }
.quickview__media img{ width:100%; height:100%; object-fit:cover; min-height:340px; }

.quickview__body{ padding:var(--s-6) var(--s-6) var(--s-5); display:flex; flex-direction:column; }
.quickview__cat{
  font-size:var(--fs-label);
  letter-spacing:var(--ls-label);
  text-transform:uppercase;
  color:var(--c-gold);
  margin-bottom:var(--s-3);
}
.quickview__name{ font-family:var(--font-display); font-size:clamp(1.7rem, 3vw, 2.4rem); font-weight:500; line-height:1.1; }
.quickview__desc{ color:var(--fg-muted); line-height:var(--lh-loose); margin-top:var(--s-4); }
.quickview__tags{ display:flex; flex-wrap:wrap; gap:var(--s-2); margin-top:var(--s-4); }
.quickview__price{
  font-family:var(--font-display);
  font-size:1.6rem;
  margin-top:var(--s-5);
  display:flex; align-items:baseline; gap:var(--s-3);
}
.quickview__price del{ font-size:.62em; color:var(--fg-faint); }
.quickview__actions{ display:grid; gap:var(--s-2); margin-top:var(--s-4); }
.quickview__note{ font-size:var(--fs-xs); color:var(--fg-faint); margin-top:var(--s-3); }

.quickview__close{
  position:absolute;
  top:var(--s-3); right:var(--s-3);
  z-index:2;
  width:42px; height:42px;
  display:grid; place-items:center;
  background:var(--c-ivory);
  border:1px solid var(--rule);
  border-radius:50%;
  font-size:1.2rem;
  transition:transform var(--dur-3) var(--ease), background var(--dur-2) var(--ease), color var(--dur-2) var(--ease);
}
.quickview__close:hover{ transform:rotate(90deg); background:var(--c-vermilion); color:var(--c-ivory); }

@media (max-width:820px){
  .quickview__panel{ grid-template-columns:1fr; }
  .quickview__media img{ min-height:0; aspect-ratio:4/3; }
  .quickview__body{ padding:var(--s-5) var(--s-4) var(--s-5); }
}

/* --------------------------------------------------------------------------
   SEARCH OVERLAY
   -------------------------------------------------------------------------- */

.search-overlay{
  position:fixed; inset:0;
  z-index:var(--z-menu);
  background:rgba(232,218,180,.97);
  -webkit-backdrop-filter:blur(18px);
          backdrop-filter:blur(18px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:var(--gutter);
  opacity:0;
  visibility:hidden;
  transition:opacity var(--dur-3) var(--ease), visibility var(--dur-3);
}
.search-overlay.is-open{ opacity:1; visibility:visible; }
.search-overlay__form{
  width:min(900px, 100%);
  margin-inline:auto;
  border-bottom:1px solid var(--fg);
  display:flex;
  align-items:center;
  gap:var(--s-4);
}
.search-overlay__input{
  flex:1;
  border:0;
  background:transparent;
  font-family:var(--font-display);
  font-size:clamp(1.8rem, 6vw, 4rem);
  font-weight:500;
  letter-spacing:var(--ls-display);
  padding-block:var(--s-3);
}
.search-overlay__input:focus{ outline:none; }
.search-overlay__hint{
  width:min(900px, 100%);
  margin:var(--s-4) auto 0;
  font-size:var(--fs-label);
  letter-spacing:var(--ls-label);
  text-transform:uppercase;
  color:var(--fg-faint);
  display:flex;
  flex-wrap:wrap;
  gap:var(--s-3);
}
.search-overlay__hint a{ color:var(--c-vermilion); }

/* --------------------------------------------------------------------------
   TOASTS
   -------------------------------------------------------------------------- */

.toaster{
  position:fixed;
  left:50%;
  bottom:var(--s-5);
  z-index:calc(var(--z-drawer) + 10);
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  gap:var(--s-2);
  pointer-events:none;
  width:min(440px, calc(100vw - var(--gutter) * 2));
}
.toast{
  display:flex;
  align-items:center;
  gap:var(--s-3);
  padding:var(--s-3) var(--s-4);
  background:var(--c-ink-deep);
  color:var(--c-ivory);
  font-size:var(--fs-xs);
  letter-spacing:.06em;
  box-shadow:var(--shadow-md);
  animation:toast-in .5s var(--ease-back) both;
}
.toast.is-out{ animation:toast-out .35s var(--ease) forwards; }
.toast__dot{ width:6px; height:6px; border-radius:50%; background:var(--c-gold); flex-shrink:0; }
.toast--error .toast__dot{ background:var(--c-ruby); }
@keyframes toast-in{
  from{ opacity:0; transform:translateY(18px) scale(.96); }
}
@keyframes toast-out{
  to{ opacity:0; transform:translateY(10px); }
}

/* --------------------------------------------------------------------------
   BACK TO TOP
   -------------------------------------------------------------------------- */

.to-top{
  position:fixed;
  right:var(--gutter);
  bottom:var(--s-5);
  z-index:var(--z-sticky);
  width:54px; height:54px;
  display:grid; place-items:center;
  border:1px solid var(--rule);
  border-radius:50%;
  background:var(--c-ivory);
  font-size:var(--fs-label);
  letter-spacing:.1em;
  opacity:0;
  visibility:hidden;
  transform:translateY(14px);
  transition:opacity var(--dur-3) var(--ease), transform var(--dur-3) var(--ease), visibility var(--dur-3), background var(--dur-2) var(--ease), color var(--dur-2) var(--ease);
}
.to-top.is-on{ opacity:1; visibility:visible; transform:none; }
.to-top:hover{ background:var(--c-ink); color:var(--c-ivory); }

/* --------------------------------------------------------------------------
   FOOTER
   -------------------------------------------------------------------------- */

.footer{
  position:relative;
  background:var(--c-ink-deep);
  color:var(--c-ivory);
  overflow:hidden;
}

/* 4-column footer: brand · index · shop · reach us.
   Column 1 (brand) is slightly wider to hold the mark + blurb + socials;
   the other three are equal for balance. */
.footer__grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1.2fr;
  gap:clamp(var(--s-5), 4vw, var(--s-6));
  padding-block:var(--s-7);
}
@media (max-width:960px){ .footer__grid{ grid-template-columns:1fr 1fr; gap:var(--s-6) var(--s-5); } }
@media (max-width:560px){ .footer__grid{ grid-template-columns:1fr; } }

/* --- Column 1: brand block ------------------------------------------- */

.footer__col--brand{ display:flex; flex-direction:column; gap:var(--s-4); }

.footer__mark{
  display:inline-flex;
  align-items:baseline;
  gap:.42em;
  line-height:1;
  color:var(--c-ivory);
}
.footer__mark-name{
  font-family:var(--font-display);
  font-size:1.65rem;
  font-weight:500;
  font-style:italic;
  letter-spacing:-0.03em;
}
.footer__mark-sub{
  font-family:var(--font-sans);
  font-size:9.5px;
  letter-spacing:var(--ls-wide);
  text-transform:uppercase;
  opacity:.6;
}
/* If a custom logo is set, hide the text mark styling and let the logo image sit alone. */
.footer__mark .custom-logo-link{ display:block; line-height:0; }
.footer__mark .custom-logo{ max-width:200px; height:auto; }

.footer__col-title{
  font-size:var(--fs-label);
  letter-spacing:var(--ls-label);
  text-transform:uppercase;
  color:var(--c-gold);
  margin-bottom:var(--s-4);
}
.footer__list{ display:flex; flex-direction:column; gap:var(--s-2); }
.footer__list a{
  font-size:var(--fs-sm);
  color:rgba(232,218,180,.72);
  transition:color var(--dur-2) var(--ease), transform var(--dur-2) var(--ease);
  display:inline-block;
}
.footer__list a:hover{ color:var(--c-ivory); transform:translateX(5px); }

.footer__blurb{
  font-family:var(--font-script);
  font-style:italic;
  font-size:1.3rem;
  line-height:1.5;
  color:rgba(232,218,180,.78);
  max-width:34ch;
}

.footer__newsletter{ display:flex; gap:var(--s-2); border-bottom:1px solid var(--rule-dark); padding-bottom:var(--s-2); }
.footer__newsletter input{
  flex:1;
  border:0;
  background:transparent;
  color:var(--c-ivory);
  padding-block:var(--s-2);
  font-size:var(--fs-sm);
}
.footer__newsletter input::placeholder{ color:rgba(232,218,180,.4); }
.footer__newsletter button{
  font-size:var(--fs-label);
  letter-spacing:var(--ls-label);
  text-transform:uppercase;
  color:var(--c-gold-soft);
  transition:color var(--dur-2) var(--ease), transform var(--dur-2) var(--ease);
}
.footer__newsletter button:hover{ color:var(--c-ivory); transform:translateX(4px); }

/* The giant wordmark that anchors the bottom of every page */
.footer__wordmark{
  font-family:var(--font-display);
  font-size:clamp(3.4rem, 19vw, 19rem);
  font-weight:500;
  font-style:italic;
  line-height:.82;
  letter-spacing:-0.05em;
  color:transparent;
  -webkit-text-stroke:1px rgba(232,218,180,.22);
  text-align:center;
  padding-block:var(--s-5) 0;
  user-select:none;
  transition:-webkit-text-stroke-color var(--dur-4) var(--ease), color var(--dur-4) var(--ease);
}
.footer__wordmark:hover{ color:rgba(232,218,180,.05); -webkit-text-stroke-color:var(--c-gold-soft); }

.footer__base{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:var(--s-3);
  padding-block:var(--s-4) var(--s-5);
  border-top:1px solid var(--rule-dark);
  margin-top:var(--s-5);
  font-size:var(--fs-label);
  letter-spacing:var(--ls-label);
  text-transform:uppercase;
  color:rgba(232,218,180,.5);
}
/* Socials — icon + label rows in the brand column, plain text row in the
   copyright strip below. Both variants are the same class, differentiated
   by whether the child <a> contains an <svg>. */
.footer__socials{ display:flex; flex-wrap:wrap; gap:var(--s-4); margin:0; padding:0; list-style:none; }
.footer__socials li{ margin:0; padding:0; }
.footer__socials a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:var(--fs-label);
  letter-spacing:var(--ls-label);
  text-transform:uppercase;
  color:rgba(232,218,180,.72);
  transition:color var(--dur-2) var(--ease), transform var(--dur-2) var(--ease);
}
.footer__socials a:hover{ color:var(--c-gold-soft); transform:translateY(-2px); }
.footer__socials svg{ display:block; }

/* Legal links in the base strip */
.footer__legal{ display:flex; gap:var(--s-4); }
.footer__legal a{ transition:color var(--dur-2) var(--ease); }
.footer__legal a:hover{ color:var(--c-gold-soft); }

/* --------------------------------------------------------------------------
   FOOTER ADDRESS
   -------------------------------------------------------------------------- */

.footer__address{
  font-style:normal;
  font-size:var(--fs-sm);
  line-height:1.75;
  color:rgba(232,218,180,.72);
  max-width:30ch;
}

/* The footer now follows the made-to-order section rather than containing it,
   so it needs a little air of its own and a seam to separate the two. */
.footer{
  padding-top:var(--s-6);
  border-top:1px solid rgba(172,129,64,.22);
}
