/*
 Theme Name:   House of 789
 Theme URI:    https://houseof789.com
 Description:  Custom child theme of Storefront for House of 789 — inherits Storefront's tested WooCommerce behavior (cart, checkout, product pages) and layers our own branding/design on top.
 Author:       House of 789
 Template:     storefront
 Version:      1.0.1
 Text Domain:  house-of-789
*/

  :root{
    --teal:        #214a49;
    --teal-soft:   #2c5c5a;
    --gold:        #CCB261;
    --gold-soft:   #E4D9B8;
    --gold-deep:   #8A6414;
    --gold-rich:   #9C6F0B;
    --gold-bright: #F0D998;
    --ivory:       #FDFBF8;
    --ivory-deep:  #FDFBF8;
    --ink-muted:   #6E6858;
    --ring:        rgba(33,74,73,0.12);
    --shadow:      0 10px 30px rgba(33,74,73,0.08);
    /* metallic-white finish tokens kept for reference / future use */
    --metal-base:      #F3F4F3;
    --metal-highlight: rgba(255,255,255,0.95);
    --metal-mid:       rgba(226,227,224,0.55);
    --metal-shadow:    rgba(196,198,194,0.35);
    /* fabric grain lifted from the logo's own background texture — tiled
       seamlessly and laid over any teal fill via background-blend-mode */
    --fabric:      url("data:image/webp;base64,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");
  }

  /* Ticker strip: flat, uniform teal — no texture blend, so the band of
     color reads as one clean solid rather than a mottled/patchy fill. */
  .h789-ticker{
    /* Slightly lighter than --teal on purpose: sitting in a thin band
       between white on both sides, --teal alone reads darker than the
       identical color does across the footer's large solid area
       (simultaneous contrast). --teal-soft compensates for that so the
       two visually read as the same weight of color. */
    background-color:var(--teal-soft);
    border-bottom:1px solid transparent;
    border-image:linear-gradient(90deg,
      rgba(204,178,97,0) 0%,
      rgba(204,178,97,.55) 50%,
      rgba(204,178,97,0) 100%) 1;
  }

  *{ box-sizing:border-box; }
  html,body{ margin:0; padding:0; }
  body{
    background-color:#FDFBF8;
    font-family:'Jost', sans-serif;
  }

  /* ============ SITE HEADER WRAPPER ============ */
  .h789-header{
    position:sticky;
    top:0;
    z-index:100;
    width:100%;
    font-family:'Jost', sans-serif;
  }

  /* ============ TICKER STRIP ============ */
  .h789-ticker{
    color:var(--gold);
    display:flex;
    align-items:stretch;
    padding:0 clamp(20px, 4vw, 56px);
  }

  /* Desktop: all four messages laid out evenly, edge to edge */
  .h789-ticker__row{
    display:flex;
    align-items:center;
    width:100%;
    min-height:44px;
  }
  .h789-ticker__item{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    flex:1 1 0;
    padding:10px 22px;
    white-space:nowrap;
    font-size:13.5px;
    font-weight:400;
    letter-spacing:.01em;
    border-left:1px solid rgba(204,178,97,0.28);
  }
  .h789-ticker__item:first-child{
    border-left:none;
    padding-left:0;
    justify-content:flex-start;
  }
  .h789-ticker__item:last-child{
    padding-right:0;
    justify-content:flex-end;
  }
  .h789-ticker__item svg{ width:15px; height:15px; flex:0 0 auto; }

  /* Desktop row: offers drop in one by one, left to right, then all
     clear together and the sequence loops. See script at page end. */
  .h789-ticker__row .h789-ticker__item{
    opacity:0;
    transform:translateY(-14px);
    transition:opacity .55s cubic-bezier(.22,1,.36,1), transform .55s cubic-bezier(.22,1,.36,1);
  }
  .h789-ticker__row .h789-ticker__item.is-dropped{
    opacity:1;
    transform:translateY(0);
  }

  /* Mobile: single rotating message, centered */
  .h789-ticker__mobile{
    display:none;
    align-items:center;
    justify-content:center;
    gap:12px;
    width:100%;
    min-height:40px;
  }
  .h789-ticker__mobile .h789-ticker__chevron{
    color:var(--gold-soft);
    opacity:.55;
    flex:0 0 auto;
    display:flex;
  }
  .h789-ticker__mobile .h789-ticker__chevron svg{ width:9px; height:9px; }
  .h789-ticker__stage{
    position:relative;
    height:16px;
    width:min(78vw, 460px);
    overflow:hidden;
  }
  .h789-ticker__stage .h789-ticker__item{
    position:absolute;
    inset:0;
    flex:none;
    border-left:none;
    padding:0;
    font-size:12.5px;
    text-transform:uppercase;
    letter-spacing:.05em;
    font-weight:500;
    opacity:0;
    transform:translateY(6px);
    transition:opacity .5s ease, transform .5s ease;
    pointer-events:none;
  }
  .h789-ticker__stage .h789-ticker__item.is-active{
    opacity:1;
    transform:translateY(0);
  }

  /* ============ MAIN HEADER ROW ============ */
  .h789-main{
    background:var(--ivory);
    border-bottom:1px solid var(--ring);
    display:flex;
    align-items:center;
    gap:28px;
    padding:16px clamp(20px, 4vw, 56px);
  }

  /* ---- Brand lockup (icon + wordmark + rotating tagline) ---- */
  .h789-brand{
    display:flex;
    align-items:center;
    gap:14px;
    flex:0 0 auto;
    text-decoration:none;
    cursor:pointer;
  }
  .h789-brand__mark{
    width:58px;
    height:58px;
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .h789-brand__mark img{
    width:100%;
    height:100%;
    object-fit:contain;
  }
  .h789-brand__text{
    display:flex;
    flex-direction:column;
    justify-content:center;
    line-height:1;
  }
  .h789-brand__name{
    font-family:'Fraunces', serif;
    font-optical-sizing:auto;
    font-weight:700;
    font-size:32px;
    color:var(--teal);
    letter-spacing:.005em;
    white-space:nowrap;
    font-variant-numeric: lining-nums proportional-nums;
    font-feature-settings: "lnum" 1, "pnum" 1;
    margin:0 0 6px 0;
  }
  .h789-tagline{
    position:relative;
    height:22px;
    overflow:hidden;
    width:305px;
    max-width:100%;
  }
  .h789-tagline__item{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-weight:700;
    font-size:17.5px;
    color:var(--gold-deep);
    letter-spacing:.02em;
    white-space:nowrap;
    opacity:0;
    transform:translateY(-100%);
    transition:transform .65s cubic-bezier(.4,0,.2,1), opacity .5s ease;
  }
  .h789-tagline__item.is-active{
    opacity:1;
    transform:translateY(0);
  }

  /* ---- Search ---- */
  .h789-search{
    flex:1 1 auto;
    display:flex;
    justify-content:center;
    min-width:0;
  }
  .h789-search__field{
    position:relative;
    width:100%;
    max-width:520px;
  }
  .h789-search__field input{
    width:100%;
    height:46px;
    border:1.5px solid var(--teal);
    border-radius:9px;
    background:var(--ivory-deep);
    padding:0 46px 0 18px;
    font-family:'Jost', sans-serif;
    font-size:14px;
    color:var(--teal);
    outline:none;
    transition:border-color .2s ease, box-shadow .2s ease;
  }
  .h789-search__field input::placeholder{
    color:#9C9686;
    font-style:italic;
  }
  .h789-search__field input:focus{
    border-color:var(--teal-soft);
    box-shadow:0 0 0 3px rgba(33,74,73,0.18);
  }
  .h789-search__icon{
    position:absolute;
    right:15px;
    top:50%;
    transform:translateY(-50%);
    color:var(--teal);
    display:flex;
    pointer-events:none;
  }
  .h789-search__icon svg{ width:19px; height:19px; stroke-width:2.1; }

  /* ---- Icon cluster ---- */
  .h789-actions{
    display:flex;
    align-items:center;
    flex:0 0 auto;
  }
  .h789-icon-btn{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    padding:6px 12px;
    border-radius:10px;
    color:var(--teal);
    background:transparent;
    border:none;
    cursor:pointer;
    text-decoration:none;
    transition:background .2s ease;
  }
  .h789-icon-btn:hover{
    background:rgba(33,74,73,0.06);
  }
  .h789-icon-btn__glyph{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
  }
  .h789-icon-btn__glyph svg{ width:22px; height:22px; }
  .h789-icon-btn__glyph--filled{
    width:28px;
    height:28px;
    border-radius:50%;
    background:var(--gold);
    color:var(--teal);
  }
  .h789-icon-btn__glyph--filled svg{ width:16px; height:16px; }
  .h789-icon-btn__label{
    font-size:10.5px;
    font-weight:500;
    letter-spacing:.02em;
    color:var(--teal);
    white-space:nowrap;
  }
  .h789-icon-btn__badge{
    position:absolute;
    top:-4px;
    right:-8px;
    min-width:15px;
    height:15px;
    padding:0 3px;
    border-radius:8px;
    background:var(--gold);
    color:var(--teal);
    font-size:9.5px;
    font-weight:600;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1;
  }

  .h789-divider{
    width:1px;
    height:30px;
    background:var(--ring);
    margin:0 4px;
    flex:0 0 auto;
  }

  /* ============ CATEGORY NAV ============ */
  .h789-nav{
    background-color:var(--ivory);
    background-image:linear-gradient(180deg, rgba(33,74,73,0.07) 0%, rgba(33,74,73,0) 62%);
    border-bottom:1px solid transparent;
    border-image:linear-gradient(90deg,
      rgba(204,178,97,0) 0%,
      rgba(204,178,97,.45) 50%,
      rgba(204,178,97,0) 100%) 1;
  }
  .h789-nav__row{
    display:flex;
    align-items:center;
    gap:clamp(22px, 2.6vw, 38px);
    padding:15px clamp(20px, 4vw, 56px) 8px;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .h789-nav__row::-webkit-scrollbar{ display:none; }
  .h789-nav__link{
    position:relative;
    display:inline-flex;
    flex:0 0 auto;
    padding-bottom:13px;
    text-decoration:none;
  }
  .h789-nav__link::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:2px;
    width:0;
    height:2px;
    background:var(--gold);
    transform:translateX(-50%);
    transition:width .25s ease;
  }
  .h789-nav__link:hover::after{ width:100%; }
  .h789-nav__item{
    position:relative;
    display:inline-grid;
    align-items:center;
    height:19px;
    overflow:hidden;
  }
  .h789-nav__hi,
  .h789-nav__en{
    grid-area:1 / 1;
    font-family:'Jost', sans-serif;
    font-size:14px;
    font-weight:500;
    letter-spacing:.015em;
    white-space:nowrap;
    line-height:19px;
    transition:transform .35s cubic-bezier(.4,0,.2,1), opacity .3s ease;
  }
  .h789-nav__hi{
    color:var(--teal);
    transform:translateY(0);
    opacity:1;
  }
  .h789-nav__en{
    color:var(--gold-deep);
    font-style:italic;
    transform:translateY(115%);
    opacity:0;
  }
  .h789-nav__link:hover .h789-nav__hi{
    transform:translateY(-115%);
    opacity:0;
  }
  .h789-nav__link:hover .h789-nav__en{
    transform:translateY(0);
    opacity:1;
  }

  /* ============ RESPONSIVE ============ */
  @media (max-width: 980px){
    .h789-tagline{ width:250px; }
    .h789-search__field{ max-width:320px; }
  }

  @media (max-width: 860px){
    .h789-ticker__row{ display:none; }
    .h789-ticker__mobile{ display:flex; }
    .h789-ticker{ padding:0 16px; }
    .h789-nav__row{ padding:13px 16px 8px; gap:24px; }
  }

  @media (max-width: 720px){
    .h789-main{ gap:14px; padding:14px 16px; }
    .h789-brand__mark{ width:48px; height:48px; }
    .h789-brand__name{ font-size:24px; margin-bottom:4px; }
    .h789-tagline{ display:none; }
    .h789-search__field{ max-width:none; }
    .h789-icon-btn__label{ display:none; }
    .h789-icon-btn{ padding:8px; }
    .h789-icon-btn__glyph--filled{ width:32px; height:32px; }
    .h789-icon-btn__glyph--filled svg{ width:18px; height:18px; }
    .h789-divider{ display:none; }
  }

  @media (max-width: 460px){
    .h789-search{ order:3; flex-basis:100%; margin-top:10px; }
    .h789-main{ flex-wrap:wrap; }
    .h789-search__field{ max-width:none; }
  }

  @media (prefers-reduced-motion: reduce){
    .h789-ticker__item, .h789-tagline__item, .h789-nav__hi, .h789-nav__en{ transition:none !important; }
    .h789-ticker__row .h789-ticker__item{ opacity:1 !important; transform:none !important; }
  }

  /* ================================================================
     HERO SECTION — 3D fanned card carousel, one card per nav category
     ================================================================ */
  .h789-hero{
    position:relative;
    overflow:hidden;
    padding:clamp(48px, 7vw, 76px) 20px clamp(40px, 6vw, 64px);
    background:var(--ivory);
    isolation:isolate;
  }

  /* fine grain, echoes the fabric-grain treatment used elsewhere in the header */
  .h789-hero::before{
    content:"";
    position:absolute; inset:0;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.35'/></svg>");
    opacity:.04;
    mix-blend-mode:multiply;
    pointer-events:none;
  }

  /* thin gold corner brackets framing the hero — same corner-tick language
     used on the card hover state, tying the section together as a
     deliberately "framed" panel rather than a plain block */
  .h789-hero::after{
    content:"";
    position:absolute;
    inset:18px;
    background-image:
      linear-gradient(var(--gold), var(--gold)), linear-gradient(var(--gold), var(--gold)),
      linear-gradient(var(--gold), var(--gold)), linear-gradient(var(--gold), var(--gold)),
      linear-gradient(var(--gold), var(--gold)), linear-gradient(var(--gold), var(--gold)),
      linear-gradient(var(--gold), var(--gold)), linear-gradient(var(--gold), var(--gold));
    background-repeat:no-repeat;
    background-size:
      52px 3px, 3px 52px,
      52px 3px, 3px 52px,
      52px 3px, 3px 52px,
      52px 3px, 3px 52px;
    background-position:
      top left, top left,
      top right, top right,
      bottom left, bottom left,
      bottom right, bottom right;
    opacity:.9;
    filter:drop-shadow(0 0 5px rgba(204,178,97,.45));
    pointer-events:none;
  }

  .h789-hero__inner{
    position:relative;
    z-index:1;
    max-width:1300px;
    margin:0 auto;
    text-align:center;
  }

  /* ================================================================
     Ambient video layer — ONE clip fills the hero at a time (full-bleed,
     object-fit:cover so it always shows as a clean widescreen shot
     rather than being squeezed into a vertical strip). A light ivory
     wash sits on top just to keep the eyebrow/title/subtitle and cards
     legible — dialed back so the footage itself stays clearly visible.
     Sits behind .h789-hero__inner (z-index:1) via z-index:0.
     Playback cycling (swap to next clip every ~6s / on 'ended') is
     handled by the script near the end of the file.
     ================================================================ */
  .h789-hero__bgvideos{
    position:absolute;
    inset:0;
    z-index:0;
    overflow:hidden;
    pointer-events:none;
  }
  .h789-hero__bgvideo{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:0;
    transition:opacity .8s ease;
  }
  .h789-hero__bgvideo.is-active{
    opacity:1;
  }
  /* light ivory wash — enough to keep text legible without hiding the
     footage; tune the opacity values below to taste (lower = more
     visible video, higher = more legible text) */
  .h789-hero__bgvideos::after{
    content:"";
    position:absolute; inset:0;
    background:
      radial-gradient(ellipse 70% 60% at 50% 42%, rgba(253,251,248,.58) 0%, rgba(253,251,248,.48) 55%, rgba(253,251,248,.36) 100%);
  }

  @media (prefers-reduced-motion: reduce){
    .h789-hero__bgvideos{ display:none; }
  }
  /* Video now plays on mobile too, at the user's request. Note this
     does mean phones on slower connections / limited data plans will
     download video instead of just a static hero — if that ever
     becomes a problem, re-add a max-width:720px rule here to hide
     .h789-hero__bgvideos on small screens again. */

  /* Light background now, so the heading borrows the same teal + gold
     pairing as the logo lockup (brand name teal, tagline gold-deep italic) */
  .h789-hero__eyebrow{
    display:inline-block;
    font-family:'Jost', sans-serif;
    font-size:clamp(15px, 1.9vw, 18px);
    font-weight:600;
    letter-spacing:.22em;
    text-transform:uppercase;
    margin-bottom:16px;
    /* richer, more saturated gold + a slow glitter sweep across the letters */
    background-image:linear-gradient(100deg,
      var(--gold-rich) 0%,
      var(--gold-rich) 38%,
      var(--gold-bright) 50%,
      var(--gold-rich) 62%,
      var(--gold-rich) 100%);
    background-size:260% 100%;
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    color:var(--gold-rich);
    text-shadow:0 0 14px rgba(156,111,11,.25);
    animation:h789Glitter 5.5s linear infinite;
  }

  @keyframes h789Glitter{
    0%{ background-position:220% 0; }
    100%{ background-position:-60% 0; }
  }

  .h789-hero__title{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:clamp(2rem, 5vw, 3.6rem);
    line-height:1.1;
    margin:0 0 14px;
    color:var(--teal);
    /* Same continuous-sweep pattern as the eyebrow glitter above (a
       single 0%→100% linear loop, no hold/pause keyframes) — the
       previous hold-then-jump version stalled visually on the first
       word because the eased pause segments ate most of the cycle. */
    background-image:linear-gradient(100deg,
      var(--teal) 0%,
      var(--teal) 44%,
      var(--gold-bright) 50%,
      var(--teal) 56%,
      var(--teal) 100%);
    background-size:300% 100%;
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    animation:h789TitleShine 15s ease-in-out infinite;
  }

  @keyframes h789TitleShine{
    0%   { background-position:220% 0; }
    100% { background-position:-120% 0; }
  }

  .h789-hero__subtitle{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-weight:600;
    font-size:clamp(1.25rem, 2.1vw, 1.65rem);
    color:var(--gold-rich);
    text-shadow:0 1px 14px rgba(253,251,248,.85), 0 1px 12px rgba(156,111,11,.18);
    max-width:600px;
    margin:0 auto clamp(32px, 5vw, 52px);
  }

  /* perspective wrapper for the fanned 3D cards */
  .h789-stage{
    --lift: -46px;
    position:relative;
    display:flex;
    justify-content:center;
    align-items:flex-end;
    perspective:1500px;
    padding:36px 0 4px;
    transition:transform .5s cubic-bezier(.2,.8,.2,1);
    will-change:transform;
  }

  /* soft gold halo blurred behind the fan — gives the cards a sense of
     depth/lift off the page instead of sitting flat on white */
  .h789-stage::before{
    content:"";
    position:absolute;
    left:50%;
    top:54%;
    width:112%;
    height:130%;
    transform:translate(-50%,-50%);
    background:radial-gradient(ellipse at center, rgba(204,178,97,.32) 0%, rgba(204,178,97,.14) 38%, rgba(204,178,97,0) 72%);
    filter:blur(22px);
    z-index:-1;
    pointer-events:none;
  }

  .h789-card{
    all:unset;
    position:relative;
    display:block;
    cursor:pointer;
    width:clamp(102px, 10.6vw, 156px);
    aspect-ratio:9/16;
    margin-left:clamp(-32px, -3.2vw, -18px);
    border-radius:16px 7px 16px 7px;
    overflow:hidden;
    box-shadow:0 16px 34px rgba(15,39,37,.32), 0 2px 0 rgba(228,217,184,.10) inset;
    outline:2px solid transparent;
    outline-offset:3px;
    transform-style:preserve-3d;
    transition:transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s ease, filter .5s ease;
  }
  .h789-card:first-child{ margin-left:0; }
  .h789-card:focus-visible{ outline-color:var(--gold); }

  /* premium gradient border frame — sits above the photo/media and label,
     drawn as a thin ring (mask-out the centre) so whatever you upload as
     --photo shows cleanly inside it without the teal placeholder ever
     bleeding through at the edges */
  .h789-card::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    padding:2.6px;
    background:linear-gradient(150deg,
      var(--gold-bright) 0%,
      var(--gold) 22%,
      var(--teal-soft) 52%,
      var(--gold-deep) 78%,
      var(--gold-bright) 100%);
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    pointer-events:none;
    opacity:.9;
    transition:opacity .4s ease, padding .4s ease;
  }
  .h789-card:hover::after,
  .h789-card:focus-visible::after{
    padding:3.2px;
    opacity:1;
  }

  /* corner bracket ticks — two thin gold L-marks that fade in on hover,
     like the register marks on a framed print or museum label. Reads as
     refined framing rather than an icon or logo. */
  .h789-card::before{
    content:"";
    position:absolute;
    top:9px; left:9px; right:9px; bottom:9px;
    background-image:
      linear-gradient(var(--gold-bright), var(--gold-bright)),
      linear-gradient(var(--gold-bright), var(--gold-bright)),
      linear-gradient(var(--gold-bright), var(--gold-bright)),
      linear-gradient(var(--gold-bright), var(--gold-bright));
    background-repeat:no-repeat;
    background-size:11px 1.5px, 1.5px 11px, 11px 1.5px, 1.5px 11px;
    background-position:
      top left, top left,
      bottom right, bottom right;
    opacity:0;
    transition:opacity .4s ease;
    pointer-events:none;
    z-index:4;
  }
  .h789-card:hover::before,
  .h789-card:focus-visible::before{
    opacity:.85;
  }
  .h789-card:hover::before,
  .h789-card:focus-visible::before{
    opacity:1;
    transform:scale(1) rotate(0deg);
  }

  /* fanned resting position — angled and offset a little differently per
     card, echoing the wave from the reference screenshot */
  .h789-card:nth-child(1){ transform:rotate(-9deg)  translateY(24px); z-index:4; }
  .h789-card:nth-child(2){ transform:rotate(6deg)   translateY(-6px); z-index:6; }
  .h789-card:nth-child(3){ transform:rotate(-5deg)  translateY(16px); z-index:8; }
  .h789-card:nth-child(4){ transform:rotate(3deg)   translateY(-2px); z-index:9; }
  .h789-card:nth-child(5){ transform:rotate(0deg)   translateY(-18px); z-index:10; }
  .h789-card:nth-child(6){ transform:rotate(-3deg)  translateY(-2px); z-index:9; }
  .h789-card:nth-child(7){ transform:rotate(5deg)   translateY(16px); z-index:8; }
  .h789-card:nth-child(8){ transform:rotate(-6deg)  translateY(-6px); z-index:6; }
  .h789-card:nth-child(9){ transform:rotate(9deg)   translateY(24px); z-index:4; }

  .h789-card:hover,
  .h789-card:focus-visible{
    transform:rotate(0deg) translateY(var(--lift)) translateZ(64px) scale(1.07) !important;
    z-index:50 !important;
    box-shadow:
      0 34px 64px rgba(15,39,37,.4),
      0 0 0 1px rgba(204,178,97,.18),
      0 18px 40px rgba(156,111,11,.16),
      0 2px 0 rgba(228,217,184,.18) inset;
  }

  /* neighbours recede slightly so the hovered card reads as the focal point
     — pure CSS, no JS needed: any hover inside the stage dims cards that
     aren't themselves being hovered */
  .h789-stage:hover .h789-card:not(:hover){
    filter:saturate(.75) brightness(.94);
  }

  .h789-card__media{
    position:absolute; inset:0;
    background-image:var(--photo, linear-gradient(158deg, var(--teal-soft) 0%, var(--teal) 100%));
    background-size:cover;
    background-position:center;
  }

  /* placeholder motif — purely decorative so empty cards don't look like
     broken assets; it sits underneath whatever photo you add via --photo */
  .h789-card__media::after{
    content:"";
    position:absolute; inset:0;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path d='M50 20c14 0 22 10 22 24 0 16-12 22-12 32 0 6 5 8 10 8v4c-10 2-22-3-22-16 0-13 12-20 12-32 0-9-5-16-16-16s-18 8-18 18c0 8 5 13 12 13v4c-10 0-18-8-18-19 0-16 13-28 30-28z' fill='none' stroke='%23E4D9B8' stroke-width='1.1' opacity='0.28'/></svg>");
    background-repeat:no-repeat;
    background-position:center 20%;
    background-size:30% auto;
    pointer-events:none;
  }

  /* gentle wash across the whole photo so text keeps contrast no matter
     what's behind it, plus a frosted pill sitting right behind the label */
  .h789-card__scrim{
    position:absolute; inset:0;
    background:
      linear-gradient(180deg, rgba(15,39,37,.06) 0%, rgba(15,39,37,.10) 55%, rgba(15,39,37,.30) 100%),
      radial-gradient(120% 90% at 50% 50%, rgba(15,39,37,0) 55%, rgba(15,39,37,.24) 100%);
  }

  .h789-card__label{
    position:absolute; left:12px; right:12px; top:50%;
    transform:translateY(-50%);
    display:grid;
    height:32px;
    border-radius:8px;
    overflow:hidden;
    background:linear-gradient(135deg, rgba(33,74,73,.80) 0%, rgba(15,39,37,.90) 100%);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    box-shadow:
      0 6px 16px rgba(15,39,37,.32),
      inset 0 0 0 1px rgba(228,217,184,.30),
      inset 0 1px 0 rgba(255,255,255,.08);
    z-index:3;
  }
  .h789-card__hi,
  .h789-card__en{
    grid-area:1 / 1;
    font-family:'Jost', sans-serif;
    font-size:12.5px;
    font-weight:500;
    letter-spacing:.03em;
    line-height:32px;
    text-align:center;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    padding:0 10px;
    transition:transform .4s cubic-bezier(.4,0,.2,1), opacity .35s ease;
  }
  .h789-card__hi{ color:var(--ivory); transform:translateY(0); opacity:1; }
  .h789-card__en{
    color:var(--gold-soft);
    font-style:italic;
    font-variant:small-caps;
    letter-spacing:.05em;
    transform:translateY(115%);
    opacity:0;
  }

  .h789-card:hover .h789-card__hi,
  .h789-card:focus-visible .h789-card__hi{ transform:translateY(-115%); opacity:0; }
  .h789-card:hover .h789-card__en,
  .h789-card:focus-visible .h789-card__en{ transform:translateY(0); opacity:1; }

  @media (prefers-reduced-motion: reduce){
    .h789-stage, .h789-card, .h789-card__hi, .h789-card__en{ transition:none !important; }
    .h789-hero__eyebrow{ animation:none !important; background-position:0 0; }
    .h789-hero__title{ animation:none !important; background-position:0 0; }
  }

  /* mobile — fan collapses into a swipeable row; hover doesn't exist on
     touch, so links just work like tapping a nav item does today */
  @media (max-width: 720px){
    .h789-stage{
      justify-content:flex-start;
      overflow-x:auto;
      scroll-snap-type:x mandatory;
      -webkit-overflow-scrolling:touch;
      scrollbar-width:none;
      padding-left:6vw;
      padding-right:6vw;
    }
    .h789-stage::-webkit-scrollbar{ display:none; }
    .h789-card{
      width:132px;
      margin-left:16px;
      scroll-snap-align:center;
      transform:none !important;
      flex:0 0 auto;
    }
    .h789-card:first-child{ margin-left:0; }
  }

  /* ============ Trust strip — below hero ============ */
  .h789-trust{
    position:relative;
    background-color:var(--ivory);
    padding:clamp(32px, 5vw, 56px) 6vw clamp(40px, 6vw, 64px);
    border-top:1px solid transparent;
    border-image:linear-gradient(90deg,
      rgba(204,178,97,0) 0%,
      rgba(204,178,97,.18) 50%,
      rgba(204,178,97,0) 100%) 1;
  }
  .h789-trust__row{
    max-width:1240px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:20px;
  }
  .h789-trust__card{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    padding:34px 20px 26px;
    border-radius:14px 6px 14px 6px;
    background:linear-gradient(180deg, #FDFBF8 0%, var(--ivory) 100%);
    border:2px solid rgba(33,74,73,.55);
    box-shadow:0 10px 26px rgba(33,74,73,.10);
    transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
    text-decoration:none;
  }
  .h789-trust__card:hover{
    transform:translateY(-4px);
    border-color:var(--teal);
    box-shadow:0 18px 36px rgba(33,74,73,.22);
  }
  /* thin gold corner ticks, same family as the hero cards, kept static
     here (not hover-only) since these cards read best with a constant
     touch of framing rather than a reveal */
  .h789-trust__card::before, .h789-trust__card::after{
    content:"";
    position:absolute;
    width:20px; height:20px;
    border:3px solid var(--gold-deep);
    opacity:.85;
  }
  .h789-trust__card::before{ top:8px; left:8px; border-right:none; border-bottom:none; }
  .h789-trust__card::after{ bottom:8px; right:8px; border-left:none; border-top:none; }

  .h789-trust__icon{
    width:60px; height:60px;
    display:grid;
    place-items:center;
    border-radius:50%;
    border:2.2px solid rgba(204,178,97,.75);
    background:radial-gradient(circle at 50% 28%, rgba(204,178,97,.14), rgba(204,178,97,0) 72%);
    color:var(--teal);
    margin-bottom:18px;
  }
  .h789-trust__icon svg{ width:28px; height:28px; }

  .h789-trust__headline{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:15.5px;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:var(--teal);
    margin:0 0 8px;
  }
  .h789-trust__desc{
    font-family:'Jost', sans-serif;
    font-size:12.5px;
    line-height:1.55;
    color:#5b6f6c;
    margin:0 0 20px;
    max-width:220px;
  }
  .h789-trust__cta{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-family:'Jost', sans-serif;
    font-size:11px;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--gold-rich);
    border:1.8px solid rgba(156,111,11,.55);
    border-radius:999px;
    padding:9px 18px;
    background:transparent;
    transition:background .3s ease, color .3s ease, border-color .3s ease;
  }
  .h789-trust__cta svg{ width:11px; height:11px; transition:transform .3s ease; }
  .h789-trust__card:hover .h789-trust__cta{
    background:var(--teal);
    color:var(--ivory);
    border-color:var(--teal);
  }
  .h789-trust__card:hover .h789-trust__cta svg{ transform:translate(2px,-2px); }

  @media (max-width: 980px){
    .h789-trust__row{ grid-template-columns:repeat(2, 1fr); }
  }
  @media (max-width: 560px){
    .h789-trust__row{ grid-template-columns:1fr; }
  }

  @media (prefers-reduced-motion: reduce){
    .h789-trust__card, .h789-trust__cta, .h789-trust__cta svg{ transition:none !important; }
  }

  /* ============ Shop by Category — product shelves below trust strip ============ */
  .h789-shelf-section{
    position:relative;
    background-color:var(--ivory);
    padding:clamp(8px, 2vw, 16px) 6vw clamp(48px, 6vw, 72px);
  }
  .h789-shelf{
    max-width:1240px;
    margin:0 auto;
    padding:clamp(30px, 4vw, 42px) 0;
  }
  .h789-shelf + .h789-shelf{
    border-top:1px solid rgba(33,74,73,.10);
  }

  .h789-shelf__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:20px;
  }
  .h789-shelf__title{
    position:relative;
    display:inline-grid;
    align-items:center;
    height:44px;
    overflow:hidden;
    cursor:default;
  }
  .h789-shelf__hi, .h789-shelf__en{
    grid-area:1 / 1;
    white-space:nowrap;
    transition:transform .4s cubic-bezier(.4,0,.2,1), opacity .3s ease;
  }
  .h789-shelf__hi{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:clamp(19px, 2.1vw, 25px);
    color:var(--teal);
    transform:translateY(0);
    opacity:1;
  }
  .h789-shelf__en{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-weight:700;
    font-size:clamp(24px, 2.9vw, 34px);
    letter-spacing:.01em;
    color:var(--gold-deep);
    transform:translateY(115%);
    opacity:0;
  }
  .h789-shelf__title:hover .h789-shelf__hi{ transform:translateY(-115%); opacity:0; }
  .h789-shelf__title:hover .h789-shelf__en{ transform:translateY(0); opacity:1; }

  .h789-shelf__viewall{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-family:'Jost', sans-serif;
    font-size:11.5px;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--gold-rich);
    border:1.8px solid rgba(156,111,11,.55);
    border-radius:999px;
    padding:9px 18px;
    background:transparent;
    text-decoration:none;
    white-space:nowrap;
    transition:background .3s ease, color .3s ease, border-color .3s ease;
  }
  .h789-shelf__viewall svg{ width:11px; height:11px; transition:transform .3s ease; }
  .h789-shelf__viewall:hover{
    background:var(--teal);
    color:var(--ivory);
    border-color:var(--teal);
  }
  .h789-shelf__viewall:hover svg{ transform:translate(2px,-2px); }

  .h789-shelf__strip{ position:relative; }

  .h789-shelf__track{
    display:flex;
    gap:16px;
    overflow-x:auto;
    scroll-behavior:smooth;
    scroll-snap-type:x proximity;
    padding:4px 6px 14px;
    -ms-overflow-style:none;
    scrollbar-width:none;
  }
  .h789-shelf__track::-webkit-scrollbar{ display:none; }

  .h789-shelf__item{
    all:unset;
    position:relative;
    display:block;
    cursor:pointer;
    flex:0 0 auto;
    width:clamp(122px, 12vw, 168px);
    aspect-ratio:3/4;
    border-radius:12px 6px 12px 6px;
    overflow:hidden;
    background-image:var(--photo, linear-gradient(158deg, var(--teal-soft) 0%, var(--teal) 100%));
    background-size:cover;
    background-position:center;
    border:1px solid rgba(33,74,73,.14);
    box-shadow:0 8px 20px rgba(33,74,73,.10);
    scroll-snap-align:start;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  /* placeholder motif — same paisley used on the hero cards, so empty
     slots don't look like broken images before you add real photos */
  .h789-shelf__item::after{
    content:"";
    position:absolute; inset:0;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path d='M50 20c14 0 22 10 22 24 0 16-12 22-12 32 0 6 5 8 10 8v4c-10 2-22-3-22-16 0-13 12-20 12-32 0-9-5-16-16-16s-18 8-18 18c0 8 5 13 12 13v4c-10 0-18-8-18-19 0-16 13-28 30-28z' fill='none' stroke='%23E4D9B8' stroke-width='1.1' opacity='0.22'/></svg>");
    background-repeat:no-repeat;
    background-position:center 22%;
    background-size:34% auto;
    pointer-events:none;
  }
  .h789-shelf__item:hover{
    transform:translateY(-4px);
    box-shadow:0 14px 28px rgba(33,74,73,.20);
  }

  .h789-shelf__badge{
    position:absolute;
    top:8px; left:8px;
    font-family:'Jost', sans-serif;
    font-size:9.5px;
    font-weight:600;
    letter-spacing:.10em;
    text-transform:uppercase;
    color:var(--teal);
    background:var(--gold-bright);
    border-radius:999px;
    padding:3px 9px;
    box-shadow:0 2px 6px rgba(33,74,73,.18);
    z-index:2;
  }

  .h789-shelf__arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:38px; height:38px;
    display:grid;
    place-items:center;
    border-radius:50%;
    border:1.6px solid rgba(204,178,97,.65);
    background:rgba(255,255,255,.94);
    color:var(--teal);
    cursor:pointer;
    box-shadow:0 8px 20px rgba(33,74,73,.16);
    transition:background .3s ease, color .3s ease, border-color .3s ease, opacity .3s ease;
    z-index:3;
  }
  .h789-shelf__arrow svg{ width:15px; height:15px; }
  .h789-shelf__arrow:hover{
    background:var(--teal);
    color:var(--ivory);
    border-color:var(--teal);
  }
  .h789-shelf__arrow--prev{ left:-8px; }
  .h789-shelf__arrow--next{ right:-8px; }
  .h789-shelf__arrow:disabled{
    opacity:0;
    pointer-events:none;
  }

  @media (max-width: 980px){
    .h789-shelf__arrow--prev{ left:-4px; }
    .h789-shelf__arrow--next{ right:-4px; }
  }
  @media (max-width: 560px){
    .h789-shelf__head{ gap:10px; margin-bottom:14px; }
    .h789-shelf__viewall{ padding:7px 14px; font-size:10.5px; }
  }
  @media (hover: none){
    .h789-shelf__arrow{ display:none; }
  }

  @media (prefers-reduced-motion: reduce){
    .h789-shelf__hi, .h789-shelf__en, .h789-shelf__item,
    .h789-shelf__viewall, .h789-shelf__viewall svg{ transition:none !important; }
  }

  /* ============ Every Drape in Motion — video-preview cards inside a shelf ============ */
  /* Applied together with .h789-shelf__item (e.g. on a <div>), so it only
     adds what's different for a video card rather than resetting anything. */
  .h789-shelf__item--video{
    cursor:pointer;
  }
  .h789-shelf__video{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
    background:var(--teal-soft);
    pointer-events:none;
  }
  /* bottom scrim so the tag + shop chip stay readable over any footage */
  .h789-shelf__item--video::before{
    content:"";
    position:absolute; left:0; right:0; bottom:0; height:50%;
    background:linear-gradient(180deg, rgba(15,39,37,0) 0%, rgba(15,39,37,.62) 100%);
    pointer-events:none;
    z-index:1;
  }
  .h789-shelf__video-tag{
    position:absolute; top:8px; left:8px;
    font-family:'Jost', sans-serif;
    font-size:9px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--ivory);
    background:rgba(33,74,73,.72);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
    border-radius:999px;
    padding:3px 9px;
    z-index:2;
  }
  .h789-shelf__play{
    position:absolute; inset:0;
    display:grid;
    place-items:center;
    z-index:2;
    pointer-events:none;
    transition:opacity .25s ease;
  }
  .h789-shelf__play span{
    width:38px; height:38px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(255,255,255,.92);
    box-shadow:0 6px 16px rgba(15,39,37,.32);
  }
  .h789-shelf__play svg{ width:14px; height:14px; margin-left:2px; fill:var(--teal); }
  .h789-shelf__item--video.is-playing .h789-shelf__play{ opacity:0; }

  .h789-shelf__shop-chip{
    position:absolute; left:8px; right:8px; bottom:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    font-family:'Jost', sans-serif;
    font-size:10px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--ivory);
    background:rgba(33,74,73,.88);
    border:1px solid rgba(228,217,184,.35);
    border-radius:999px;
    padding:7px 10px;
    text-decoration:none;
    z-index:3;
    transition:background .25s ease;
  }
  .h789-shelf__shop-chip:hover{ background:var(--teal); }

  @media (prefers-reduced-motion: reduce){
    .h789-shelf__play{ transition:none !important; }
  }

  /* ============ Customer Love — testimonial strip (sits directly below
     "Every Drape in Motion"). Background is the site teal at low opacity,
     just enough to separate this block from the white shelves above it
     while staying much lighter than the solid teal used up top / that
     the footer will use. ============ */
  .h789-testi-section{
    position:relative;
    background-color:rgba(33,74,73,.07);
    padding:clamp(48px, 6vw, 76px) 6vw clamp(56px, 7vw, 84px);
  }
  .h789-testi{
    max-width:1240px;
    margin:0 auto;
  }
  .h789-testi__head{
    text-align:center;
    margin-bottom:clamp(28px, 4vw, 40px);
  }
  .h789-testi__heading{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:clamp(22px, 2.6vw, 32px);
    color:var(--teal);
    letter-spacing:.01em;
  }

  .h789-testi__strip{ position:relative; }

  .h789-testi__track{
    display:flex;
    gap:18px;
    overflow-x:auto;
    scroll-behavior:smooth;
    scroll-snap-type:x proximity;
    padding:4px 6px 10px;
    -ms-overflow-style:none;
    scrollbar-width:none;
  }
  .h789-testi__track::-webkit-scrollbar{ display:none; }

  .h789-testi__card{
    flex:0 0 auto;
    width:clamp(240px, 26vw, 300px);
    background:var(--ivory);
    border:1px solid rgba(33,74,73,.12);
    border-radius:14px 6px 14px 6px;
    box-shadow:0 10px 26px rgba(33,74,73,.08);
    padding:22px 22px 20px;
    scroll-snap-align:start;
    display:flex;
    flex-direction:column;
    gap:10px;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .h789-testi__card:hover{
    transform:translateY(-4px);
    box-shadow:0 16px 32px rgba(33,74,73,.14);
  }
  .h789-testi__stars{
    display:flex;
    gap:2px;
    color:var(--gold);
  }
  .h789-testi__stars svg{ width:15px; height:15px; }
  .h789-testi__quote{
    font-family:'Jost', sans-serif;
    font-size:14px;
    line-height:1.55;
    color:var(--ink-muted);
    flex:1;
  }
  .h789-testi__name{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:14.5px;
    color:var(--teal);
  }
  .h789-testi__date{
    font-family:'Jost', sans-serif;
    font-size:11px;
    letter-spacing:.04em;
    color:var(--ink-muted);
    opacity:.75;
  }

  .h789-testi__arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:38px; height:38px;
    display:grid;
    place-items:center;
    border-radius:50%;
    border:1.6px solid rgba(204,178,97,.65);
    background:rgba(255,255,255,.94);
    color:var(--teal);
    cursor:pointer;
    box-shadow:0 8px 20px rgba(33,74,73,.16);
    transition:background .3s ease, color .3s ease, border-color .3s ease, opacity .3s ease;
    z-index:3;
  }
  .h789-testi__arrow svg{ width:15px; height:15px; }
  .h789-testi__arrow:hover{
    background:var(--teal);
    color:var(--ivory);
    border-color:var(--teal);
  }
  .h789-testi__arrow--prev{ left:-8px; }
  .h789-testi__arrow--next{ right:-8px; }
  .h789-testi__arrow:disabled{
    opacity:0;
    pointer-events:none;
  }

  .h789-testi__foot{
    text-align:center;
    margin-top:clamp(28px, 4vw, 38px);
  }
  .h789-testi__viewall{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-family:'Jost', sans-serif;
    font-size:12px;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--ivory);
    background:var(--teal);
    border:1.8px solid var(--teal);
    border-radius:999px;
    padding:13px 30px;
    text-decoration:none;
    white-space:nowrap;
    transition:background .3s ease, color .3s ease, border-color .3s ease;
  }
  .h789-testi__viewall svg{ width:12px; height:12px; transition:transform .3s ease; }
  .h789-testi__viewall:hover{
    background:transparent;
    color:var(--teal);
  }
  .h789-testi__viewall:hover svg{ transform:translate(2px,-2px); }

  @media (max-width: 980px){
    .h789-testi__arrow--prev{ left:-4px; }
    .h789-testi__arrow--next{ right:-4px; }
  }
  @media (hover: none){
    .h789-testi__arrow{ display:none; }
  }
  @media (prefers-reduced-motion: reduce){
    .h789-testi__card, .h789-testi__viewall, .h789-testi__viewall svg{ transition:none !important; }
  }

  /* ================================================================
     FOOTER — reuses the exact same tokens as the header/hero above
     (--teal, --gold family, Fraunces/Cormorant Garamond/Jost) so it
     reads as one continuous brand system rather than a bolted-on piece.
     ================================================================ */
  .h789-footer{
    position:relative;
    background-color:var(--teal);
    color:var(--gold-soft);
    font-family:'Jost', sans-serif;
    border-top:1px solid transparent;
    border-image:linear-gradient(90deg,
      rgba(204,178,97,0) 0%,
      rgba(204,178,97,.55) 50%,
      rgba(204,178,97,0) 100%) 1;
  }

  .h789-footer__main{
    max-width:1300px;
    margin:0 auto;
    padding:clamp(48px, 6vw, 72px) clamp(20px, 4vw, 56px) clamp(36px, 5vw, 52px);
    display:grid;
    grid-template-columns: 1.35fr 1fr 1fr 1.15fr;
    gap:clamp(28px, 4vw, 56px);
  }

  .h789-footer__brand{
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    margin-bottom:22px;
  }
  .h789-footer__mark{
    width:44px; height:44px; flex:0 0 auto;
    display:flex; align-items:center; justify-content:center;
  }
  .h789-footer__mark img{ width:100%; height:100%; object-fit:contain; }
  .h789-footer__wordmark{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:24px;
    color:var(--ivory);
    letter-spacing:.005em;
    white-space:nowrap;
  }

  .h789-footer__manuf-label{
    font-family:'Jost', sans-serif;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:.10em;
    text-transform:uppercase;
    color:var(--gold);
    margin:0 0 10px;
  }
  .h789-footer__legal-name{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:15px;
    color:var(--ivory);
    margin:0 0 8px;
  }
  .h789-footer__address{
    font-size:13.5px;
    line-height:1.7;
    color:var(--gold-soft);
    opacity:.85;
    margin:0 0 10px;
    max-width:280px;
  }
  .h789-footer__origin{
    font-size:13px;
    color:var(--gold-soft);
    opacity:.85;
  }
  .h789-footer__origin b{
    color:var(--ivory);
    font-weight:600;
  }

  .h789-footer__heading{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:14px;
    letter-spacing:.10em;
    text-transform:uppercase;
    color:var(--gold-bright);
    margin:0 0 20px;
  }
  .h789-footer__links{
    list-style:none;
    margin:0; padding:0;
    display:flex;
    flex-direction:column;
    gap:13px;
  }
  .h789-footer__links a{
    position:relative;
    display:inline-flex;
    align-items:center;
    color:var(--gold-soft);
    text-decoration:none;
    font-size:13.5px;
    letter-spacing:.01em;
    width:max-content;
    transition:color .25s ease;
  }
  .h789-footer__links a::after{
    content:"";
    position:absolute;
    left:0; bottom:-3px;
    width:0; height:1px;
    background:var(--gold);
    transition:width .25s ease;
  }
  .h789-footer__links a:hover{ color:var(--ivory); }
  .h789-footer__links a:hover::after{ width:100%; }

  .h789-footer__lede{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-weight:600;
    font-size:15px;
    line-height:1.5;
    color:var(--gold-soft);
    margin:0 0 18px;
    max-width:270px;
  }

  .h789-footer__form{
    display:flex;
    align-items:center;
    border:1.5px solid rgba(228,217,184,.4);
    border-radius:9px;
    background:var(--teal-deep, #163332);
    overflow:hidden;
    transition:border-color .25s ease, box-shadow .25s ease;
  }
  .h789-footer__form:focus-within{
    border-color:var(--gold);
    box-shadow:0 0 0 3px rgba(204,178,97,.18);
  }
  .h789-footer__form input{
    flex:1 1 auto;
    min-width:0;
    height:46px;
    border:none;
    background:transparent;
    padding:0 14px;
    font-family:'Jost', sans-serif;
    font-size:13.5px;
    color:var(--ivory);
    outline:none;
  }
  .h789-footer__form input::placeholder{
    color:rgba(228,217,184,.55);
    font-style:italic;
  }
  .h789-footer__form button{
    flex:0 0 auto;
    width:46px; height:46px;
    border:none;
    background:var(--gold);
    color:var(--teal);
    display:flex; align-items:center; justify-content:center;
    cursor:pointer;
    transition:background .25s ease;
  }
  .h789-footer__form button:hover{ background:var(--gold-bright); }
  .h789-footer__form button svg{ width:16px; height:16px; }

  .h789-footer__trust{
    margin-top:18px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    border-radius:12px 5px 12px 5px;
    background:rgba(228,217,184,.06);
    border:1px solid rgba(228,217,184,.22);
  }
  .h789-footer__trust-icon{
    width:34px; height:34px; flex:0 0 auto;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background:var(--gold);
    color:var(--teal);
  }
  .h789-footer__trust-icon svg{ width:17px; height:17px; }
  .h789-footer__trust-text{ line-height:1.35; }
  .h789-footer__trust-title{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:12.5px;
    color:var(--ivory);
  }
  .h789-footer__trust-sub{
    font-size:11px;
    color:var(--gold-soft);
    opacity:.8;
  }

  .h789-footer__social{
    max-width:1300px;
    margin:0 auto;
    padding:0 clamp(20px, 4vw, 56px) clamp(32px, 4vw, 44px);
    display:flex;
    justify-content:center;
    gap:14px;
  }
  .h789-footer__social a{
    width:38px; height:38px;
    display:flex; align-items:center; justify-content:center;
    border-radius:50%;
    border:1.4px solid rgba(228,217,184,.35);
    color:var(--gold-soft);
    text-decoration:none;
    transition:background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
  }
  .h789-footer__social a svg{ width:16px; height:16px; }
  .h789-footer__social a:hover{
    background:var(--gold);
    border-color:var(--gold);
    color:var(--teal);
    transform:translateY(-2px);
  }

  .h789-footer__legal{
    border-top:1px solid rgba(228,217,184,.16);
    padding:20px clamp(20px, 4vw, 56px);
  }
  .h789-footer__legal-row{
    max-width:1300px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
  }
  .h789-footer__copy{
    font-size:12px;
    color:var(--gold-soft);
    opacity:.75;
    letter-spacing:.02em;
  }
  .h789-footer__copy b{ color:var(--gold); font-weight:600; }

  .h789-footer__payments{
    display:flex;
    align-items:center;
    gap:8px;
  }
  .h789-footer__payments span{
    height:26px;
    padding:0 10px;
    display:flex; align-items:center; justify-content:center;
    border-radius:5px;
    background:rgba(255,255,255,.9);
    color:var(--teal);
    font-family:'Jost', sans-serif;
    font-size:10px;
    font-weight:600;
    letter-spacing:.03em;
  }

  @media (max-width: 980px){
    .h789-footer__main{
      grid-template-columns: 1fr 1fr;
      row-gap:40px;
    }
  }

  @media (max-width: 620px){
    .h789-footer__main{ grid-template-columns: 1fr; }
    .h789-footer__legal-row{ flex-direction:column; align-items:flex-start; }
  }

  @media (prefers-reduced-motion: reduce){
    .h789-footer__links a, .h789-footer__links a::after,
    .h789-footer__social a, .h789-footer__form button{ transition:none !important; }
  }


/* ================================================================
   WHOLESALE / B2B PAGE — page-wholesale.php
   Deliberately uses a simple solid-color heading (not the animated
   gradient-sweep title from the homepage hero) — a calmer, more
   "business" tone fits a B2B landing page better, and it sidesteps
   any risk of that more complex effect rendering oddly here.
   ================================================================ */

.h789-b2b-intro{
  background: linear-gradient(180deg, var(--ivory) 0%, #F7F1E4 100%);
  padding: 88px 6vw 72px;
  text-align: center;
}
.h789-b2b-intro__inner{
  max-width: 720px;
  margin: 0 auto;
}
.h789-b2b-intro__eyebrow{
  display:inline-block;
  font-family:'Jost', sans-serif;
  font-size:clamp(13px, 1.6vw, 15px);
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold-rich);
  margin-bottom:16px;
}
.h789-b2b-intro__title{
  font-family:'Fraunces', serif;
  font-weight:700;
  font-size:clamp(2rem, 4.4vw, 3.1rem);
  line-height:1.15;
  color:var(--teal);
  margin:0 0 18px;
}
.h789-b2b-intro__subtitle{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-weight:600;
  font-size:clamp(1.15rem, 2vw, 1.5rem);
  color:var(--ink-muted);
  max-width:560px;
  margin:0 auto 34px;
  line-height:1.5;
}
.h789-b2b-intro__whatsapp{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:'Jost', sans-serif;
  font-size:14px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--ivory);
  background:var(--teal);
  border:1.8px solid var(--teal);
  border-radius:999px;
  padding:14px 30px;
  box-shadow:var(--shadow);
  transition:background .3s ease, transform .3s ease, box-shadow .3s ease;
}
.h789-b2b-intro__whatsapp svg{ width:20px; height:20px; }
.h789-b2b-intro__whatsapp:hover{
  background:var(--teal-soft);
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(33,74,73,.16);
}

/* ---- Album content area (the_content() — Heading + Gallery blocks) ---- */
.h789-b2b-albums{
  max-width:1200px;
  margin:0 auto;
  padding:64px 6vw 100px;
}
.h789-b2b-albums h2,
.h789-b2b-albums h3,
.h789-b2b-albums h4,
.h789-b2b-albums .wp-block-heading{
  font-family:'Fraunces', serif !important;
  font-weight:700 !important;
  font-size:clamp(1.5rem, 2.6vw, 2.1rem) !important;
  color:var(--teal) !important;
  margin:64px 0 8px;
  position:relative;
}
.h789-b2b-albums > *:first-child h2,
.h789-b2b-albums > *:first-child h3,
.h789-b2b-albums > *:first-child h4,
.h789-b2b-albums > *:first-child .wp-block-heading,
.h789-b2b-albums h2:first-child,
.h789-b2b-albums h3:first-child,
.h789-b2b-albums h4:first-child,
.h789-b2b-albums .wp-block-heading:first-child{
  margin-top:0;
}
.h789-b2b-albums h2::after,
.h789-b2b-albums h3::after,
.h789-b2b-albums h4::after,
.h789-b2b-albums .wp-block-heading::after{
  content:"";
  display:block;
  width:56px;
  height:3px;
  background:var(--gold);
  margin-top:14px;
  border-radius:2px;
}
.h789-b2b-albums .wp-block-gallery{
  margin-top:28px;
  gap:14px !important;
}
.h789-b2b-albums .wp-block-image img{
  border-radius:10px;
  box-shadow:var(--shadow);
  transition:transform .35s ease, box-shadow .35s ease;
}
.h789-b2b-albums .wp-block-image:hover img{
  transform:translateY(-4px);
  box-shadow:0 16px 36px rgba(33,74,73,.14);
}
.h789-b2b-albums .wp-block-image figcaption{
  font-family:'Jost', sans-serif;
  font-size:12px;
  color:var(--ink-muted);
  text-align:center;
  margin-top:8px;
}
.h789-b2b-albums p{
  font-family:'Jost', sans-serif;
  font-size:15px;
  line-height:1.7;
  color:var(--ink-muted);
  max-width:760px;
}

@media (max-width: 720px){
  .h789-b2b-intro{ padding:64px 6vw 48px; }
  .h789-b2b-albums{ padding:40px 6vw 64px; }
  .h789-b2b-albums h2{ margin-top:44px; }
}

/* ---- Album covers — horizontal row of square tiles ---- */
.h789-b2b-album-covers{
  display:flex;
  flex-wrap:wrap;
  gap:22px;
  margin-top:4px;
}
.h789-b2b-album-cover{
  flex:1 1 200px;
  max-width:260px;
  background:none;
  border:none;
  padding:0;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.h789-b2b-album-cover__img{
  display:block;
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:12px;
  box-shadow:var(--shadow);
}
.h789-b2b-album-cover__img img{
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}
.h789-b2b-album-cover:hover .h789-b2b-album-cover__img img{
  transform:scale(1.06);
}
.h789-b2b-album-cover__label{
  display:block;
  margin-top:12px;
  font-family:'Fraunces', serif;
  font-weight:700;
  font-size:1.05rem;
  color:var(--teal);
}
.h789-b2b-album-cover__label em{
  display:block;
  font-style:normal;
  font-family:'Jost', sans-serif;
  font-size:12px;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--ink-muted);
  margin-top:3px;
}

/* ---- Opened album — square photo tile grid ---- */
.h789-b2b-album-back{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:none;
  border:none;
  padding:0;
  margin-bottom:22px;
  font-family:'Jost', sans-serif;
  font-size:13px;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--gold-rich);
  cursor:pointer;
}
.h789-b2b-album-back:hover{ color:var(--teal); }
.h789-b2b-album-detail__title{
  font-family:'Fraunces', serif;
  font-weight:700;
  font-size:clamp(1.5rem, 2.6vw, 2.1rem);
  color:var(--teal);
  margin:0 0 24px;
}
.h789-b2b-album-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(170px, 1fr));
  gap:14px;
}
.h789-b2b-tile{
  position:relative;
  aspect-ratio:1/1;
  border-radius:10px;
  overflow:hidden;
  box-shadow:var(--shadow);
  cursor:pointer;
}
.h789-b2b-tile img{
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.h789-b2b-tile:hover img{ transform:scale(1.05); }
.h789-b2b-tile__wa,
.h789-b2b-tile__share{
  position:absolute;
  bottom:8px;
  width:34px; height:34px;
  padding:0;
  margin:0;
  box-sizing:border-box;
  border-radius:50%;
  -webkit-appearance:none;
  appearance:none;
  outline:none;
  font:inherit;
  line-height:1;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(0,0,0,.28);
  transition:transform .2s ease, background .2s ease;
}
.h789-b2b-tile__wa{
  right:8px;
  background:var(--teal);
  border:none;
  color:var(--ivory);
}
.h789-b2b-tile__wa svg{ width:18px; height:18px; display:block; }
.h789-b2b-tile__wa:hover{
  background:var(--teal-soft);
  transform:scale(1.12);
}
.h789-b2b-tile__share{
  left:8px;
  border:none;
  background:rgba(20,20,18,.55);
  color:var(--ivory);
}
.h789-b2b-tile__share svg{ width:16px; height:16px; display:block; }
.h789-b2b-tile__share:hover{
  background:rgba(20,20,18,.8);
  transform:scale(1.12);
}

/* ---- Lightbox ---- */
.h789-b2b-lightbox{
  position:fixed;
  inset:0;
  background:rgba(20,20,18,.92);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:20px;
  padding:5vh 5vw;
  z-index:9999;
}
.h789-b2b-lightbox__img{
  max-width:min(600px, 90vw);
  max-height:68vh;
  object-fit:contain;
  border-radius:8px;
  box-shadow:0 20px 60px rgba(0,0,0,.45);
}
.h789-b2b-lightbox__close{
  position:absolute;
  top:20px; right:24px;
  background:none;
  border:none;
  font-size:34px;
  line-height:1;
  color:var(--ivory);
  cursor:pointer;
}
.h789-b2b-lightbox__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
}
.h789-b2b-lightbox__wa,
.h789-b2b-lightbox__share{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-family:'Jost', sans-serif;
  font-size:14px;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
  border-radius:999px;
  padding:13px 28px;
  cursor:pointer;
}
.h789-b2b-lightbox__wa{
  color:var(--ivory);
  background:var(--teal);
  border:1.8px solid var(--teal);
}
.h789-b2b-lightbox__wa svg{ width:18px; height:18px; }
.h789-b2b-lightbox__wa:hover{ background:var(--teal-soft); }
.h789-b2b-lightbox__share{
  color:var(--ivory);
  background:transparent;
  border:1.8px solid var(--ivory);
}
.h789-b2b-lightbox__share svg{ width:17px; height:17px; }
.h789-b2b-lightbox__share:hover{ background:rgba(255,255,255,.12); }

@media (max-width: 720px){
  .h789-b2b-album-cover{ flex:1 1 42%; max-width:none; }
  .h789-b2b-album-grid{ grid-template-columns:repeat(auto-fill, minmax(130px, 1fr)); }
}
