/*
Theme Name: Hanilen Cosmetics
Template: astra
Author: Moshiko
Description: Luxury-minimalist child theme for Hanilen Cosmetics — laser hair removal & skincare. Hebrew/RTL.
Version: 1.6.1
Text Domain: hanilen
*/

:root{
  --hc-cream:#FBFAF7;
  --hc-bg:#FFFFFF;
  --hc-charcoal:#2B2724;
  --hc-gray:#6E6A65;
  --hc-line:#ECE7E1;
  --hc-taupe:#B79C82;      /* warm nude / taupe accent */
  --hc-taupe-dk:#9C8166;
  --hc-soft:#F3EEE8;
}

/* ---------- Base / typography ---------- */
body,
.ast-container{
  font-family:"Noto Sans Hebrew","Assistant",system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--hc-charcoal);
  background:var(--hc-bg);
  letter-spacing:.1px;
}
h1,h2,h3,h4,h5,h6{
  font-family:"Noto Sans Hebrew","Assistant",sans-serif;
  color:var(--hc-charcoal);
  font-weight:700;
  letter-spacing:.2px;
}
p{ color:var(--hc-gray); line-height:1.9; }
a{ color:var(--hc-taupe-dk); }

/* ---------- Buttons ---------- */
.ast-button,.button,button,input[type=submit],
.wp-block-button__link,
.wc-block-components-button{
  background:var(--hc-charcoal)!important;
  color:#fff!important;
  border:none!important;
  border-radius:0!important;
  padding:.9em 2.4em!important;
  letter-spacing:1px;
  font-weight:500;
  transition:background .25s ease,transform .15s ease;
}
.ast-button:hover,.button:hover,button:hover,
.wp-block-button__link:hover,
.wc-block-components-button:hover{
  background:var(--hc-taupe-dk)!important;
  transform:translateY(-1px);
}
.hc-btn-outline .wp-block-button__link{
  background:transparent!important;
  color:var(--hc-charcoal)!important;
  border:1px solid var(--hc-charcoal)!important;
}
.hc-btn-outline .wp-block-button__link:hover{
  background:var(--hc-charcoal)!important;
  color:#fff!important;
}

/* ---------- Header ---------- */
.site-header,.ast-primary-header-bar{
  background:var(--hc-bg)!important;
  border-bottom:1px solid var(--hc-line);
}
.main-header-menu a{ letter-spacing:.5px; font-weight:500; }

/* Text-based HANI LEN logo */
.site-title{ font-family:"Montserrat",sans-serif!important; letter-spacing:6px!important; font-weight:400!important; }
.site-title a{ color:var(--hc-charcoal)!important; }
.site-header .site-description{
  color:var(--hc-taupe-dk)!important; letter-spacing:3px!important;
  font-size:.66rem!important; text-transform:none; margin-top:2px;
}

/* Center the logo in the header (so the hamburger never covers it) */
.ast-primary-header-bar .ast-builder-grid-row,
.main-header-bar .ast-builder-grid-row{ justify-content:center!important; }
.site-branding,.ast-site-identity{ text-align:center!important; width:100%; }
.site-branding .site-logo-img,.site-branding .ast-logo-title-inline{ justify-content:center!important; display:flex; flex-direction:column; align-items:center; }

/* Home: transparent header merged into the hero image, white centered logo */
body.home #masthead,
body.home .main-header-bar,
body.home .ast-primary-header-bar,
body.home .site-header{ background:transparent!important; border-bottom:none!important; box-shadow:none!important; }
body.home #masthead{ position:absolute; left:0; right:0; top:2.4rem; z-index:99; width:100%; }
body.home .site-title a,
body.home .site-title{ color:#fff!important; }
body.home .site-header .site-description{ color:rgba(255,255,255,.82)!important; }
/* hamburger turns white over the dark hero on home */
body.home .hc-burger{ background:rgba(255,255,255,.18)!important; }
body.home .hc-burger span{ background:#fff; }
/* Hide Astra's native menu toggles (desktop + mobile) — we use our own hamburger */
.main-header-menu-toggle,.menu-toggle,
.ast-mobile-menu-buttons,.ast-button-wrap .menu-toggle,
.ast-mobile-menu-trigger-fill,.ast-mobile-menu-trigger-minimal,
.ast-mobile-menu-trigger-outline{ display:none!important; }

/* ---------- Hero ---------- */
.hc-hero{
  background:var(--hc-cream);
  padding:7rem 1.5rem;
  text-align:center;
}
.hc-hero .hc-eyebrow{
  display:inline-block;
  color:var(--hc-taupe-dk);
  letter-spacing:4px;
  font-size:.8rem;
  font-weight:600;
  margin-bottom:1.2rem;
}
.hc-hero h1{
  font-size:clamp(2.2rem,5vw,3.6rem);
  line-height:1.25;
  margin:0 auto 1.4rem;
  max-width:14ch;
}
.hc-hero p.hc-lead{
  font-size:1.15rem;
  max-width:46ch;
  margin:0 auto 2.4rem;
}

/* ---------- Section scaffolding ---------- */
.hc-section{ padding:5.5rem 1.5rem; }
.hc-section.alt{ background:var(--hc-cream); }
.hc-wrap{ max-width:1140px; margin:0 auto; }
.hc-center{ text-align:center; }
.hc-eyebrow{
  color:var(--hc-taupe-dk);
  letter-spacing:4px;
  font-size:.8rem;
  font-weight:600;
  text-transform:uppercase;
}
.hc-section h2{ font-size:clamp(1.8rem,3.5vw,2.6rem); margin:.6rem 0 1rem; }
.hc-divider{
  width:60px;height:1px;background:var(--hc-taupe);
  margin:1.2rem auto 2.5rem;border:none;
}

/* ---------- Cards grid ---------- */
.hc-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.6rem;
}
/* Trust strip reads best as one even row of four */
.hc-trust .hc-grid{ grid-template-columns:repeat(4,1fr); }
@media(max-width:900px){
  .hc-grid{ grid-template-columns:repeat(2,1fr); }
  .hc-trust .hc-grid{ grid-template-columns:repeat(4,1fr); }
}
.hc-card{
  background:var(--hc-bg);
  border:1px solid var(--hc-line);
  padding:2.4rem 1.8rem;
  text-align:center;
  transition:box-shadow .25s ease,transform .25s ease;
}
.hc-card:hover{ box-shadow:0 14px 40px rgba(43,39,36,.08); transform:translateY(-3px); }
.hc-card h3{ font-size:1.25rem; margin:.4rem 0 .6rem; }
.hc-card .hc-price{ color:var(--hc-taupe-dk); font-weight:600; font-size:1.05rem; }
.hc-card .hc-ico{ font-size:1.8rem; color:var(--hc-taupe); display:block; margin-bottom:.6rem; }

/* ---------- Trust strip ---------- */
.hc-trust{ background:var(--hc-charcoal); color:#fff; padding:3rem 1.5rem; }
.hc-trust .hc-grid{ gap:1rem; }
.hc-trust h3{ color:#fff; font-size:2rem; margin:0; }
.hc-trust span{ color:#cfc7bd; letter-spacing:1px; font-size:.85rem; }

/* ---------- WooCommerce tidy ---------- */
.woocommerce ul.products li.product .price{ color:var(--hc-taupe-dk); }
.woocommerce span.onsale{ background:var(--hc-taupe); border-radius:0; }

/* ---------- Footer ---------- */
.site-footer,.ast-small-footer{
  background:var(--hc-charcoal)!important;
  color:#cfc7bd!important;
}
.site-footer a{ color:#fff!important; }

/* ---------- RTL niceties ---------- */
body{ direction:rtl; }
.hc-center,.hc-hero{ text-align:center; }

@media(max-width:600px){
  .hc-hero{ padding:4.5rem 1.2rem; }
  .hc-section{ padding:3.5rem 1.2rem; }
  .hc-grid{ grid-template-columns:1fr; }
  .hc-trust .hc-grid{ grid-template-columns:repeat(2,1fr); }
}

/* ============ ilanaeyal-style components ============ */

/* Announcement bar */
.hc-annc{
  background:var(--hc-charcoal);
  color:#f3ece3;
  overflow:hidden;
  white-space:nowrap;
  font-size:.82rem;
  letter-spacing:.5px;
}
.hc-annc-track{
  display:inline-flex;
  gap:3.5rem;
  padding:.7rem 0;
  animation:hc-marquee 28s linear infinite;
}
.hc-annc-track span{ display:inline-block; }
.hc-annc-track span::before{ content:"✦"; color:var(--hc-taupe); margin-inline-start:3.5rem; }
@keyframes hc-marquee{ from{transform:translateX(0)} to{transform:translateX(50%)} }

/* Full-bleed hero */
.hc-hero-full{
  position:relative;
  min-height:88vh;
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:6rem 1.5rem;
  color:#fff;
}
.hc-hero-inner{ max-width:680px; }
.hc-hero-full h1{
  color:#fff;
  font-size:clamp(2.4rem,6vw,4rem);
  line-height:1.2;
  margin:1rem 0 1.4rem;
}
.hc-eyebrow.light{ color:#e7d9c8; }
.hc-lead.light{ color:#f0e9e1; }
.hc-hero-btns{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-top:2rem; }
.hc-ghost.wp-block-button__link,
.ast-button.hc-ghost{
  background:transparent!important;
  color:#fff!important;
  border:1px solid #fff!important;
}
.ast-button.hc-ghost:hover{ background:#fff!important; color:var(--hc-charcoal)!important; }
.hc-hero-brand{
  position:absolute;
  bottom:1.6rem; inset-inline-start:2rem;
  color:rgba(255,255,255,.55);
  letter-spacing:4px;
  font-size:.9rem;
  font-family:"Montserrat",sans-serif;
}

/* Icon trust row */
.hc-iconrow{ padding:3.2rem 1.5rem; border-bottom:1px solid var(--hc-line); }
.hc-iconrow-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; text-align:center; }
.hc-iconrow h4{ margin:.4rem 0 .2rem; font-family:"Noto Sans Hebrew",sans-serif; font-size:1.15rem; }
.hc-iconrow p{ margin:0; font-size:.9rem; }
.hc-iconrow .hc-ico{ font-size:1.6rem; color:var(--hc-taupe); }

/* Feature section (image + text) */
.hc-feature{ display:grid; grid-template-columns:1fr 1fr; align-items:stretch; }
.hc-feature-media{ min-height:480px; background:var(--hc-soft); overflow:hidden; }
.hc-feature-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.hc-feature-text{ padding:4.5rem; display:flex; flex-direction:column; justify-content:center; background:var(--hc-cream); }
.hc-feature-text h2{ font-size:clamp(1.8rem,3vw,2.4rem); margin:.6rem 0 1.2rem; }
.hc-feature-text .ast-button{ align-self:flex-start; margin-top:1rem; }

/* Treatment cards with image header */
.hc-card.has-img{ padding:0; overflow:hidden; text-align:center; }
.hc-card-img{ aspect-ratio:4/3; overflow:hidden; background:var(--hc-soft); }
.hc-card-img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }
.hc-card.has-img:hover .hc-card-img img{ transform:scale(1.06); }
.hc-card-body{ padding:1.6rem 1.4rem 2rem; }
.hc-card-body h3{ font-size:1.2rem; margin:0 0 .5rem; }

/* Quiz / booking band (image + dark overlay) */
.hc-quiz{ background:var(--hc-charcoal); background-size:cover; background-position:center; color:#fff; padding:5.5rem 1.5rem; text-align:center; }
.hc-quiz h2{ color:#fff; font-size:clamp(1.8rem,3.5vw,2.6rem); margin:.6rem 0 1rem; }

/* Instagram feed */
.hc-ig{ padding:4.5rem 0 0; }
.hc-ig h2{ letter-spacing:3px; font-size:clamp(1.4rem,3vw,2rem); margin:.5rem 0; }
.hc-ig-grid{ display:grid; grid-template-columns:repeat(5,1fr); margin-top:2.5rem; }
.hc-ig-grid a{
  display:block; aspect-ratio:1; overflow:hidden; position:relative;
  filter:grayscale(15%); transition:filter .3s ease,transform .3s ease;
}
.hc-ig-grid a img{ width:100%; height:100%; object-fit:cover; display:block; }
.hc-ig-grid a:hover{ filter:none; z-index:2; }
.hc-ig-grid a:hover img{ transform:scale(1.04); transition:transform .4s ease; }

/* Footer brand block */
.hc-foot-brand{ background:var(--hc-cream); padding:3.5rem 1.5rem; border-top:1px solid var(--hc-line); }
.hc-foot-logo{ font-family:"Montserrat",sans-serif; font-size:1.8rem; letter-spacing:6px; color:var(--hc-charcoal); }
.hc-foot-logo span{ display:block; font-size:.8rem; letter-spacing:6px; color:var(--hc-taupe-dk); margin-top:.2rem; }
.hc-foot-tag{ margin:.8rem 0 1.4rem; }
.hc-foot-social{ display:flex; gap:1.8rem; justify-content:center; }
.hc-foot-social a{ color:var(--hc-charcoal); letter-spacing:1px; font-size:.85rem; font-weight:500; }
.hc-foot-social a:hover{ color:var(--hc-taupe-dk); }

/* Floating WhatsApp */
.hc-wa{
  position:fixed; bottom:22px; inset-inline-start:22px; z-index:999;
  width:56px; height:56px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,.25);
}
.hc-wa-bubble{
  position:absolute; inset-inline-start:64px; white-space:nowrap;
  background:#fff; color:var(--hc-charcoal); padding:.5em 1em; border-radius:30px;
  font-size:.85rem; box-shadow:0 4px 14px rgba(0,0,0,.12);
}
.hc-wa-bubble::after{
  content:""; position:absolute; inset-inline-start:-6px; top:50%; transform:translateY(-50%);
  border:6px solid transparent; border-inline-end-color:#fff;
}

@media(max-width:900px){
  .hc-feature{ grid-template-columns:1fr; }
  .hc-feature-media{ min-height:300px; }
  .hc-feature-text{ padding:3rem 1.5rem; }
  .hc-ig-grid{ grid-template-columns:repeat(3,1fr); }
  .hc-iconrow-grid{ grid-template-columns:1fr; gap:1.8rem; }
}
@media(max-width:600px){
  .hc-ig-grid{ grid-template-columns:repeat(2,1fr); }
  .hc-hero-brand{ font-size:.7rem; inset-inline-start:1rem; }
}

/* ============ Hamburger + off-canvas, FAQ, 2-col grid ============ */

/* hide Astra desktop primary menu (we use our own hamburger) */
#masthead .main-navigation,.main-header-menu,.ast-builder-menu-1 .main-navigation,
.ast-mobile-header-wrap .main-navigation{ display:none!important; }

.hc-burger{
  position:fixed; top:46px; inset-inline-start:20px; z-index:1001;
  width:48px!important; height:48px!important; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px;
  background:rgba(255,255,255,.92)!important; border:none!important; border-radius:50%!important;
  padding:0!important; cursor:pointer; box-shadow:0 4px 16px rgba(0,0,0,.14);
}
.hc-burger:hover{ background:#fff!important; transform:none!important; }
.hc-burger span{ width:24px; height:2px; background:var(--hc-charcoal); transition:.3s; }
body.hc-nav-open .hc-burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
body.hc-nav-open .hc-burger span:nth-child(2){ opacity:0; }
body.hc-nav-open .hc-burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.hc-nav-overlay{
  position:fixed; inset:0; background:rgba(28,25,22,.55); z-index:1002;
  opacity:0; visibility:hidden; transition:.35s;
}
body.hc-nav-open .hc-nav-overlay{ opacity:1; visibility:visible; }

.hc-nav-panel{
  position:fixed; top:0; left:0; right:auto; height:100%; width:330px; max-width:85vw;
  background:var(--hc-bg); z-index:1003; padding:3.5rem 2.2rem;
  transform:translateX(-100%); transition:transform .38s cubic-bezier(.4,0,.2,1);
  visibility:hidden;
  box-shadow:6px 0 30px rgba(0,0,0,.15); overflow-y:auto;
}
body.hc-nav-open .hc-nav-panel{ transform:translateX(0); visibility:visible; }
.hc-nav-close{ position:absolute; top:14px; inset-inline-end:18px; background:none!important; border:none!important; border-radius:0!important; padding:0!important; font-size:2rem; line-height:1; color:var(--hc-charcoal)!important; cursor:pointer; width:auto!important; }
.hc-nav-logo{ font-family:"Montserrat",sans-serif; font-size:1.5rem; letter-spacing:6px; color:var(--hc-charcoal); margin-bottom:2.2rem; }
.hc-nav-logo span{ display:block; font-size:.6rem; letter-spacing:4px; color:var(--hc-taupe-dk); margin-top:4px; }
.hc-nav-list{ list-style:none; margin:0; padding:0; }
.hc-nav-list li{ border-bottom:1px solid var(--hc-line); }
.hc-nav-list a{ display:block; padding:1rem 0; color:var(--hc-charcoal); font-size:1.15rem; letter-spacing:1px; }
.hc-nav-list a:hover{ color:var(--hc-taupe-dk); padding-inline-start:6px; transition:.2s; }

/* 2x2 treatments grid */
.hc-grid.hc-grid-2{ grid-template-columns:repeat(2,1fr); gap:2rem; }
.hc-grid.hc-grid-2 .hc-card-img{ aspect-ratio:16/11; }

/* FAQ accordion */
.hc-faq .hc-q{ text-align:start; border-bottom:1px solid var(--hc-line); padding:.4rem 0; }
.hc-faq .hc-q summary{
  cursor:pointer; list-style:none; padding:1.1rem .2rem; font-weight:600;
  font-size:1.05rem; color:var(--hc-charcoal); position:relative;
}
.hc-faq .hc-q summary::-webkit-details-marker{ display:none; }
.hc-faq .hc-q summary::after{ content:"+"; position:absolute; inset-inline-start:0; color:var(--hc-taupe-dk); font-size:1.4rem; }
.hc-faq .hc-q[open] summary::after{ content:"–"; }
.hc-faq .hc-q p{ padding:0 .2rem 1.1rem; margin:0; }

@media(max-width:700px){
  .hc-grid.hc-grid-2{ grid-template-columns:1fr; }
  .hc-burger{ top:42px; }
}

/* =====================================================================
   v1.5.0 — UI/UX refinement pass (ui-ux-pro-max)
   Brand-preserving: same palette + structure. Adds editorial serif
   headings, accessible taupe, soft elevation, focus-visible, micro-
   interactions, tabular prices, and reduced-motion support.
   ===================================================================== */

:root{
  /* Accessible taupe for TEXT on light bg (AA ≥4.5:1). The lighter
     --hc-taupe / --hc-taupe-dk stay for borders, dividers & icons. */
  --hc-taupe-text:#7A6043;

  /* Soft-UI elevation scale (softer than flat, clearer than neumorphism) */
  --hc-elev-1:0 1px 2px rgba(43,39,36,.04), 0 2px 8px rgba(43,39,36,.05);
  --hc-elev-2:0 6px 18px rgba(43,39,36,.07), 0 2px 6px rgba(43,39,36,.05);
  --hc-elev-3:0 18px 48px rgba(43,39,36,.10), 0 4px 12px rgba(43,39,36,.06);

  /* Motion tokens — unify rhythm across the site */
  --hc-ease:cubic-bezier(.4,0,.2,1);
  --hc-dur:220ms;
}

/* ---------- Headings: original Noto Sans Hebrew (serif reverted per request) ---------- */
/* (Frank Ruhl Libre override removed — headings keep the base theme font.) */

/* ---------- Accessible taupe text (AA contrast) ---------- */
a{ color:var(--hc-taupe-text); }
.hc-eyebrow,.hc-hero .hc-eyebrow{ color:var(--hc-taupe-text); }
.hc-card .hc-price,
.woocommerce ul.products li.product .price{ color:var(--hc-taupe-text); }
.hc-faq .hc-q summary::after{ color:var(--hc-taupe-text); }
.hc-foot-social a:hover,.hc-nav-list a:hover{ color:var(--hc-taupe-text); }
/* Taupe text over the cream/dark heroes stays light — unchanged */

/* ---------- Tabular figures for prices (no layout shift) ---------- */
.hc-card .hc-price,
.hc-trust h3,
.woocommerce .price,.woocommerce .amount{ font-variant-numeric:tabular-nums; }

/* ---------- Soft-UI elevation on cards ---------- */
.hc-card{ box-shadow:var(--hc-elev-1); transition:box-shadow var(--hc-dur) var(--hc-ease), transform var(--hc-dur) var(--hc-ease); }
.hc-card:hover{ box-shadow:var(--hc-elev-3); transform:translateY(-4px); }

/* ---------- Micro-interactions: cursor + button press feedback ---------- */
a,button,summary,.hc-burger,.hc-card,.wp-block-button__link,.ast-button,.button{ cursor:pointer; }
.ast-button:active,.button:active,button:active,
.wp-block-button__link:active,.wc-block-components-button:active{ transform:translateY(0) scale(.985); }

/* ---------- Visible focus rings (keyboard accessibility, CRITICAL) ---------- */
a:focus-visible,button:focus-visible,summary:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible,
.wp-block-button__link:focus-visible,.ast-button:focus-visible,
.hc-burger:focus-visible,.hc-nav-list a:focus-visible{
  outline:2px solid var(--hc-taupe-dk);
  outline-offset:3px;
  border-radius:2px;
}
/* don't show the ring on mouse click, only keyboard */
a:focus:not(:focus-visible),button:focus:not(:focus-visible){ outline:none; }

/* ---------- Stronger off-canvas scrim (legibility) ---------- */
.hc-nav-overlay{ background:rgba(28,25,22,.6); }

/* ---------- Reduced-motion: respect user preference ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .hc-annc-track{ animation:none; transform:none; }   /* pause the marquee */
  .hc-card:hover{ transform:none; }
}

/* =====================================================================
   v1.6.0 — Motion & effects layer (visible refresh)
   Scroll-reveal, scroll progress, count-up, rich hovers, button shine,
   animated underlines, hero entrance. JS: assets/effects.js
   All wrapped so prefers-reduced-motion users get a calm static page.
   ===================================================================== */

/* ---------- Scroll progress bar ---------- */
.hc-progress{
  position:fixed; top:0; inset-inline-start:0; height:3px; width:0; z-index:2000;
  background:linear-gradient(90deg,var(--hc-taupe),var(--hc-taupe-dk));
  box-shadow:0 0 8px rgba(156,129,102,.5);
  transition:width .1s linear; pointer-events:none;
}

/* ---------- Scroll-reveal base (JS toggles .hc-in) ---------- */
.hc-reveal{
  opacity:0; transform:translateY(30px);
  transition:opacity .7s var(--hc-ease), transform .7s var(--hc-ease);
  will-change:opacity,transform;
}
.hc-reveal.hc-in{ opacity:1; transform:none; }

@media (prefers-reduced-motion: no-preference){

  /* ---------- Hero entrance (staggered rise on load) ---------- */
  @keyframes hc-rise{ from{opacity:0; transform:translateY(26px)} to{opacity:1; transform:none} }
  .hc-hero-full .hc-eyebrow,.hc-hero .hc-eyebrow{ animation:hc-rise .8s .10s both; }
  .hc-hero-full h1,.hc-hero h1{ animation:hc-rise .9s .24s both; }
  .hc-hero-full .hc-lead,.hc-hero .hc-lead{ animation:hc-rise .9s .40s both; }
  .hc-hero-full .hc-hero-btns,.hc-hero .ast-button{ animation:hc-rise .9s .56s both; }

  /* ---------- Slow Ken-Burns drift on the full-bleed hero ---------- */
  @keyframes hc-kenburns{ from{background-size:106%} to{background-size:118%} }
  .hc-hero-full{ animation:hc-kenburns 18s ease-in-out infinite alternate; }

  /* ---------- Marquee pauses on hover (lets users read it) ---------- */
  .hc-annc:hover .hc-annc-track{ animation-play-state:paused; }
}

/* ---------- Richer card hover: gradient overlay + deeper lift ---------- */
.hc-card.has-img{ position:relative; }
.hc-card-img{ position:relative; }
.hc-card-img::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(43,39,36,.42), rgba(43,39,36,0) 55%);
  opacity:0; transition:opacity .4s var(--hc-ease);
}
.hc-card.has-img:hover .hc-card-img::after{ opacity:1; }
.hc-card.has-img:hover .hc-card-img img{ transform:scale(1.08); }
.hc-card:hover h3{ color:var(--hc-taupe-text); transition:color .3s; }

/* ---------- Button shine sweep ---------- */
.ast-button,.button,button,input[type=submit],
.wp-block-button__link,.wc-block-components-button{ position:relative; overflow:hidden; }
.ast-button::after,.wp-block-button__link::after,.button::after{
  content:""; position:absolute; top:0; inset-inline-start:-130%;
  width:55%; height:100%; transform:skewX(-20deg);
  background:linear-gradient(120deg, transparent, rgba(255,255,255,.38), transparent);
  transition:inset-inline-start .6s var(--hc-ease); pointer-events:none;
}
.ast-button:hover::after,.wp-block-button__link:hover::after,.button:hover::after{ inset-inline-start:150%; }

/* ---------- Animated underline on menu + footer links ---------- */
.hc-nav-list a,.hc-foot-social a{ position:relative; }
.hc-nav-list a::after,.hc-foot-social a::after{
  content:""; position:absolute; bottom:.55rem; inset-inline-start:0;
  width:0; height:1.5px; background:var(--hc-taupe-dk);
  transition:width .3s var(--hc-ease);
}
.hc-foot-social a::after{ bottom:-4px; }
.hc-nav-list a:hover::after{ width:1.8rem; }
.hc-foot-social a:hover::after{ width:100%; }

/* ---------- Glass header once scrolled (subtle, all pages) ---------- */
body.hc-scrolled.home #masthead{
  position:fixed; top:0; padding-block:.5rem;
  background:rgba(251,250,247,.72)!important;
  -webkit-backdrop-filter:saturate(140%) blur(12px);
  backdrop-filter:saturate(140%) blur(12px);
  border-bottom:1px solid var(--hc-line)!important;
  box-shadow:0 4px 20px rgba(43,39,36,.06)!important;
  transition:background .3s,padding .3s;
}
body.hc-scrolled.home .site-title a,
body.hc-scrolled.home .site-title{ color:var(--hc-charcoal)!important; transition:color .3s; }
body.hc-scrolled.home .site-header .site-description{ color:var(--hc-taupe-text)!important; }

/* ---------- Trust numbers: a touch larger + tabular for the count-up ---------- */
.hc-trust h3{ font-variant-numeric:tabular-nums; font-size:2.3rem; }

/* ---------- Divider grows in when its section reveals ---------- */
.hc-reveal .hc-divider{ width:0; transition:width .8s .3s var(--hc-ease); }
.hc-reveal.hc-in .hc-divider{ width:60px; }
