/* ============================================================
   AUTHENTEQUE – GLOBAL HEADER
   ============================================================ */

:root{
  --sep: rgba(17,17,17,.12);
  --sepMax: 980px;
  --sepFade: 11%;
}

.header-top-wrapper,
.header-bottom-wrapper{ position:relative; }

.header-top-wrapper:after,
.header-bottom-wrapper:after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  height:1px;
  width:min(var(--sepMax), calc(100% - 36px));
  pointer-events:none;
  background:linear-gradient(90deg,
    rgba(17,17,17,0),
    var(--sep) var(--sepFade),
    var(--sep) calc(100% - var(--sepFade)),
    rgba(17,17,17,0));
}
.header-top-wrapper:after{ bottom:4px; }
.header-bottom-wrapper:after{ bottom:-2px; }

@media (max-width:768px){
  :root{ --sepMax:520px; --sepFade:14%; --sep:rgba(17,17,17,.10); }
  .header-top-wrapper:after{ bottom:3px; }
  .header-bottom-wrapper:after{ bottom:-2px; display:none !important; }
}

/* ---- ICONS ---- */
:root{
  --au-ic: rgba(17,17,17,.86);
  --au-ic-hover: rgba(17,17,17,1);
  --au-ic-border: rgba(17,17,17,.10);
  --au-ic-border-hover: rgba(17,17,17,.16);
  --au-ic-bg-hover: rgba(17,17,17,.035);
  --au-ic-r: 999px;
}

.navigation-buttons a[data-target="navigation"]{ display:none !important; }
@media (max-width:768px){
  .navigation-buttons a[data-target="navigation"]{ display:inline-flex !important; }
}

.navigation-buttons a[data-target="search"],
.navigation-buttons button[data-target="login"],
.navigation-buttons a[data-target="cart"]{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  width:40px !important; height:40px !important; padding:0 !important;
  border:1px solid var(--au-ic-border) !important; border-radius:var(--au-ic-r) !important;
  background:transparent !important; color:var(--au-ic) !important;
  box-shadow:none !important; text-decoration:none !important;
  transition:background .15s ease, border-color .15s ease, transform .15s ease, color .15s ease;
}
.navigation-buttons a[data-target="search"]:hover,
.navigation-buttons button[data-target="login"]:hover,
.navigation-buttons a[data-target="cart"]:hover,
.navigation-buttons a[data-target="search"]:focus-visible,
.navigation-buttons button[data-target="login"]:focus-visible,
.navigation-buttons a[data-target="cart"]:focus-visible{
  background:var(--au-ic-bg-hover) !important;
  border-color:var(--au-ic-border-hover) !important;
  color:var(--au-ic-hover) !important;
  transform:translateY(-1px) !important;
  outline:none !important;
}
.navigation-buttons a[data-target="search"] i,
.navigation-buttons button[data-target="login"] i,
.navigation-buttons a[data-target="cart"] .icon-cart,
.navigation-buttons a[data-target="cart"] span.icon-cart{
  font-size:18px !important; line-height:1 !important; color:currentColor !important;
}
.navigation-buttons a[data-target="cart"] .icon-cart:before,
.navigation-buttons a[data-target="cart"] span.icon-cart:before,
.navigation-buttons a[data-target="search"] i:before,
.navigation-buttons button[data-target="login"] i:before{ color:currentColor !important; }

.header-top .cart-price{ color:rgba(17,17,17,.70) !important; font-size:13px !important; }
.header-top .navigation-buttons{ display:flex !important; gap:16px !important; }

@media (max-width:768px){
  .navigation-buttons a[data-target="search"],
  .navigation-buttons button[data-target="login"],
  .navigation-buttons a[data-target="cart"]{ width:36px !important; height:36px !important; }
  .navigation-buttons a[data-target="search"] i,
  .navigation-buttons button[data-target="login"] i,
  .navigation-buttons a[data-target="cart"] .icon-cart,
  .navigation-buttons a[data-target="cart"] span.icon-cart{ font-size:17px !important; }
}

@media (max-width:768px){
  li.appended-category{ display:none !important; }
  ul.menu-level-2-appended{ display:none !important; }
  li.appended-category, li.appended-category *{
    visibility:hidden !important; max-height:0 !important; height:0 !important;
    margin:0 !important; padding:0 !important; border:0 !important; overflow:hidden !important;
  }
}

/* ============================================================
   HOMEPAGE
   ============================================================ */

@keyframes au-fadeUp{
  from{ opacity:0; transform:translateY(20px); }
  to  { opacity:1; transform:translateY(0); }
}
@keyframes au-letterOpen{
  from{ letter-spacing:.02em; opacity:0; }
  to  { letter-spacing:.28em; opacity:1; }
}
@keyframes au-scaleIn{
  from{ transform:scale(1.05); opacity:0; }
  to  { transform:scale(1); opacity:1; }
}
@keyframes au-gradPulse{
  0%,100%{ opacity:.90; }
  50%    { opacity:1;   }
}
@keyframes au-shimmer{
  0%  { background-position:200% center; }
  100%{ background-position:-200% center; }
}

/* reveal on scroll */
.au-reveal{
  opacity:0; transform:translateY(26px);
  transition:opacity .78s cubic-bezier(.22,1,.36,1), transform .78s cubic-bezier(.22,1,.36,1);
}
.au-reveal.is-visible{ opacity:1; transform:translateY(0); }

/* base */
.au-wrap{
  background:transparent; padding:32px 0 80px;
  font-family:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color:#111;
}
.au-inner{ max-width:1260px; margin:0 auto; padding:0 18px; }

/* ============================================================
   INTRO
   ============================================================ */
.au-intro{ padding:32px 0 50px; }
.au-introInner{ max-width:860px; margin:0 auto; text-align:center; }

.au-introEyebrow{
  display:block; text-transform:uppercase; letter-spacing:.28em;
  font-size:10px; color:rgba(17,17,17,.36); margin:0 0 20px;
  animation:au-letterOpen .9s .08s cubic-bezier(.22,1,.36,1) both;
}
.au-introStatement{
  font-family:ui-serif, Georgia, "Times New Roman", serif;
  font-weight:400; font-size:clamp(22px, 2.9vw, 38px);
  line-height:1.26; letter-spacing:.01em; color:#111; margin:0 0 30px;
  animation:au-fadeUp .9s .22s cubic-bezier(.22,1,.36,1) both;
}
.au-introStatement em{ font-style:italic; color:rgba(17,17,17,.52); }

.au-introRule{
  width:1px; height:40px; margin:0 auto;
  background:linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.16), rgba(0,0,0,0));
  animation:au-fadeUp .8s .52s cubic-bezier(.22,1,.36,1) both;
}

/* ============================================================
   HERO
   ============================================================ */
.au-hero{ margin:0; }
.au-hero + .au-hero{ margin-top:64px; }

.au-heroCard{
  position:relative; border-radius:22px; overflow:hidden;
  border:1px solid rgba(0,0,0,.055);
  box-shadow:0 20px 58px rgba(0,0,0,.10), 0 1px 0 rgba(255,255,255,.85) inset;
  animation:au-scaleIn .95s .12s cubic-bezier(.22,1,.36,1) both;
}
.au-heroCard img{
  width:100%; height:auto; display:block;
  transform:translateY(0) scale(1.08); transform-origin:center top;
  will-change:transform;
  transition:transform 1.2s cubic-bezier(.22,1,.36,1);
}
.au-heroCard:hover img{ transform:translateY(0) scale(1.11); }

.au-grad-left, .au-grad-right{
  position:absolute; inset:0; pointer-events:none;
}
.au-grad-left{
  background:
    radial-gradient(860px 440px at 16% 20%, rgba(0,0,0,.56) 0%, rgba(0,0,0,.12) 50%, rgba(0,0,0,0) 74%),
    linear-gradient(180deg, rgba(0,0,0,.14), rgba(0,0,0,0) 52%);
}
.au-grad-right{
  background:
    radial-gradient(860px 440px at 84% 20%, rgba(0,0,0,.56) 0%, rgba(0,0,0,.12) 50%, rgba(0,0,0,0) 74%),
    linear-gradient(180deg, rgba(0,0,0,.14), rgba(0,0,0,0) 52%);
}
.au-heroCard.is-marsh .au-grad-left{
  background:
    radial-gradient(860px 440px at 16% 20%, rgba(246,227,198,.94) 0%, rgba(246,227,198,.48) 48%, rgba(246,227,198,0) 74%),
    linear-gradient(180deg, rgba(255,255,255,.26), rgba(255,255,255,0) 55%);
  animation:au-gradPulse 8s ease-in-out infinite;
}
.au-heroCard.is-queen .au-grad-right{
  background:
    radial-gradient(860px 440px at 84% 20%, rgba(255,205,187,.94) 0%, rgba(255,205,187,.48) 48%, rgba(255,205,187,0) 74%),
    linear-gradient(180deg, rgba(255,255,255,.26), rgba(255,255,255,0) 55%);
  animation:au-gradPulse 8s ease-in-out infinite;
}

/* overlay */
.au-overlay{
  position:absolute; top:44px; left:44px; z-index:2; max-width:500px; color:#fff;
}
.au-overlay.right{ left:auto; right:44px; text-align:right; }
.au-overlay > *{ animation:au-fadeUp .8s cubic-bezier(.22,1,.36,1) both; }
.au-kicker{ animation-delay:.48s !important; }
.au-title { animation-delay:.60s !important; }
.au-sub   { animation-delay:.72s !important; }
.au-cta   { animation-delay:.84s !important; }

.au-kicker{
  text-transform:uppercase; letter-spacing:.20em; font-size:10.5px;
  color:rgba(255,255,255,.70); margin:0 0 10px;
}
.au-title{
  font-family:Georgia, "Times New Roman", serif; font-weight:500;
  font-size:clamp(26px, 3.2vw, 40px); line-height:1.07; letter-spacing:.01em;
  margin:0 0 12px;
  text-shadow:0 2px 12px rgba(0,0,0,.30), 0 12px 34px rgba(0,0,0,.24);
}
.au-sub{
  margin:0 0 22px; color:rgba(255,255,255,.82); font-size:14px;
  line-height:1.74; max-width:50ch; text-shadow:0 2px 8px rgba(0,0,0,.20);
}
.au-overlay.right .au-sub{ margin-left:auto; }

.au-cta{
  display:inline-flex; align-items:center; gap:9px;
  background:rgba(255,255,255,.95); color:#111;
  border:1px solid rgba(255,255,255,.58); border-radius:999px;
  padding:11px 20px; text-decoration:none;
  text-transform:uppercase; letter-spacing:.16em; font-size:10px; font-weight:700;
  box-shadow:0 10px 26px rgba(0,0,0,.16);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.au-cta:hover{ transform:translateY(-2px); box-shadow:0 18px 40px rgba(0,0,0,.22); background:#fff; }

/* tinted text corrections */
.au-heroCard.is-marsh .au-overlay,
.au-heroCard.is-queen .au-overlay{ color:#111; }
.au-heroCard.is-marsh .au-kicker,
.au-heroCard.is-queen .au-kicker{ color:rgba(17,17,17,.50); }
.au-heroCard.is-marsh .au-title,
.au-heroCard.is-queen .au-title{ color:#111; text-shadow:none; }
.au-heroCard.is-marsh .au-sub,
.au-heroCard.is-queen .au-sub{ color:rgba(17,17,17,.70); text-shadow:none; }
.au-heroCard.is-marsh .au-cta,
.au-heroCard.is-queen .au-cta{ background:#111; color:#fff; border-color:rgba(0,0,0,.10); }
.au-heroCard.is-marsh .au-cta:hover,
.au-heroCard.is-queen .au-cta:hover{ background:#1e1e1e; }

/* mobile block */
.au-mobileInfo{
  display:none; padding:20px 18px;
  border-top:1px solid rgba(0,0,0,.06); background:rgba(255,255,255,.93);
}
.au-mobileKicker{
  text-transform:uppercase; letter-spacing:.20em; font-size:10px;
  color:rgba(17,17,17,.42); margin:0 0 8px;
}
.au-mobileTitle{
  font-family:ui-serif, Georgia, "Times New Roman", serif;
  font-weight:500; font-size:22px; line-height:1.1; margin:0 0 10px; color:#111;
}
.au-mobileSub{ margin:0 0 16px; color:#5a5a60; font-size:13.5px; line-height:1.82; }
.au-mobileCta{
  display:inline-flex; align-items:center; gap:8px;
  background:#111; color:#fff; border-radius:999px; padding:11px 18px;
  text-decoration:none; text-transform:uppercase; letter-spacing:.15em; font-size:10px; font-weight:700;
}

/* ============================================================
   EDITORIAL STRIP
   ============================================================ */
.au-strip{ margin:0 0 64px; }
.au-stripDivider{
  display:flex; align-items:center; margin:30px 0 26px;
}
.au-stripDivider:before, .au-stripDivider:after{
  content:""; flex:1; height:1px;
  background:linear-gradient(90deg, transparent, rgba(0,0,0,.10), transparent);
}
.au-stripDiamond{
  width:4px; height:4px; background:#c8c8c8;
  transform:rotate(45deg); flex:0 0 auto; margin:0 14px;
}
.au-stripGrid{
  display:grid; grid-template-columns:1fr 1fr; gap:0;
  border-top:1px solid rgba(0,0,0,.07); border-bottom:1px solid rgba(0,0,0,.07);
}
.au-stripCol{ padding:26px 32px 26px 0; }
.au-stripCol + .au-stripCol{
  padding:26px 0 26px 32px; border-left:1px solid rgba(0,0,0,.07);
}
.au-stripLabel{
  display:block; text-transform:uppercase; letter-spacing:.22em;
  font-size:9px; color:rgba(17,17,17,.36); margin-bottom:14px;
}
.au-pyramidLines{ display:flex; flex-direction:column; gap:11px; }
.au-pyramidRow{
  display:flex; align-items:baseline; gap:14px;
  font-size:13.5px; line-height:1.5; color:#4a4a50;
}
.au-pyramidNote{
  text-transform:uppercase; letter-spacing:.12em; font-size:9px;
  color:rgba(17,17,17,.32); min-width:44px; flex:0 0 auto;
}
.au-editorialText{ font-size:13.5px; line-height:1.90; color:#5a5a60; max-width:58ch; }

/* ============================================================
   CATALOG BREAK
   ============================================================ */
.au-catalogBreak{
  margin:0 0 72px; padding:56px 18px;
  text-align:center; position:relative; overflow:hidden;
  border-top:1px solid rgba(0,0,0,.07);
  border-bottom:1px solid rgba(0,0,0,.07);
}
.au-catalogBreak:before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(105deg,
    transparent 38%, rgba(0,0,0,.022) 50%, transparent 62%);
  background-size:250% 100%;
  animation:au-shimmer 5s linear infinite;
  pointer-events:none;
}
.au-catalogEyebrow{
  display:block; text-transform:uppercase; letter-spacing:.26em;
  font-size:9.5px; color:rgba(17,17,17,.36); margin-bottom:16px;
}
.au-catalogTitle{
  font-family:ui-serif, Georgia, "Times New Roman", serif;
  font-weight:400; font-size:clamp(20px, 2.5vw, 32px);
  line-height:1.22; letter-spacing:.015em; color:#111; margin:0 0 28px;
}
.au-catalogTitle em{ font-style:italic; color:rgba(17,17,17,.50); }

.au-catalogCta{
  display:inline-flex; align-items:center; gap:10px;
  border:1px solid rgba(17,17,17,.18); border-radius:999px;
  padding:13px 28px; text-decoration:none; color:#111;
  text-transform:uppercase; letter-spacing:.18em; font-size:10px; font-weight:700;
  background:transparent;
  transition:background .22s ease, border-color .22s ease, transform .22s ease, box-shadow .22s ease, color .22s ease;
}
.au-catalogCta:hover{
  background:#111; color:#fff; border-color:#111;
  transform:translateY(-2px); box-shadow:0 14px 34px rgba(0,0,0,.16);
}
.au-catalogArrow{ display:inline-block; transition:transform .22s ease; }
.au-catalogCta:hover .au-catalogArrow{ transform:translateX(4px); }

/* ============================================================
   VIDEOS
   ============================================================ */
.au-videos{ margin-top:0; }

.au-sectionHead{
  display:flex; align-items:center; gap:18px; margin-bottom:16px;
}
.au-sectionEyebrow{
  text-transform:uppercase; letter-spacing:.24em; font-size:9.5px;
  color:rgba(17,17,17,.36); white-space:nowrap;
}
.au-sectionLine{
  flex:1; height:1px; max-width:240px;
  background:linear-gradient(90deg, rgba(0,0,0,.09), transparent);
}
.au-videoGrid{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px;
}
.au-videoCard{
  position:relative; border-radius:16px; overflow:hidden;
  border:1px solid rgba(0,0,0,.06); background:#0a0a0a;
  box-shadow:0 14px 44px rgba(0,0,0,.09); cursor:pointer;
  transition:transform .28s ease, box-shadow .28s ease;
}
.au-videoCard:hover{ transform:translateY(-4px); box-shadow:0 24px 54px rgba(0,0,0,.14); }
.au-video{
  width:100%; height:100%; display:block;
  aspect-ratio:9/16; object-fit:cover; background:#0a0a0a;
}
.au-videoShade{
  position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.40));
  opacity:.72; transition:opacity .25s ease;
}
.au-playBtn{
  position:absolute; inset:0; display:grid; place-items:center;
  cursor:pointer; border:0; background:transparent; padding:0;
}
.au-playPill{
  display:inline-flex; align-items:center; gap:9px; padding:10px 15px;
  border-radius:999px; background:rgba(255,255,255,.93); color:#111;
  border:1px solid rgba(255,255,255,.60); box-shadow:0 12px 38px rgba(0,0,0,.18);
  text-transform:uppercase; letter-spacing:.14em; font-size:10px; font-weight:700;
  transition:transform .18s ease, opacity .18s ease;
}
.au-playIcon{
  width:24px; height:24px; border-radius:999px;
  display:grid; place-items:center; border:1px solid rgba(0,0,0,.10); font-size:9px;
}
.au-videoCard:hover .au-playPill{ transform:translateY(-1px); }
.au-videoCard.is-playing .au-playBtn{ opacity:0; pointer-events:none; }
.au-videoCard.is-playing .au-videoShade{ opacity:.12; }

/* ============================================================
   FAQ
   ============================================================ */
.au-faq{ margin-top:72px; }
.au-faqGrid{
  display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:20px;
}
.au-details{
  border:1px solid rgba(0,0,0,.07); border-radius:14px;
  background:rgba(255,255,255,.70); overflow:hidden;
  transition:box-shadow .22s ease, border-color .22s ease;
}
.au-details:hover{ box-shadow:0 8px 26px rgba(0,0,0,.07); border-color:rgba(0,0,0,.11); }
.au-details summary{
  list-style:none; cursor:pointer; padding:15px 16px;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.au-details summary::-webkit-details-marker{ display:none; }
.au-q{ font-weight:600; letter-spacing:.008em; color:#111; font-size:13.5px; line-height:1.5; }
.au-plus{
  width:30px; height:30px; border-radius:999px;
  border:1px solid rgba(0,0,0,.10); display:grid; place-items:center;
  color:#999; font-size:14px; flex:0 0 auto;
  transition:transform .22s ease, color .22s ease, border-color .22s ease;
}
.au-details[open] .au-plus{ transform:rotate(45deg); color:#111; border-color:rgba(0,0,0,.24); }
.au-a{
  padding:0 16px 15px; color:#6a6a70; font-size:13.5px;
  line-height:1.86; border-top:1px solid rgba(0,0,0,.05);
}

/* utils */
.au-sr-only{
  position:absolute!important; width:1px!important; height:1px!important;
  padding:0!important; margin:-1px!important; overflow:hidden!important;
  clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1100px){
  .au-videoGrid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px){
  .au-faqGrid{ grid-template-columns:1fr; }
  .au-stripGrid{ grid-template-columns:1fr; }
  .au-stripCol + .au-stripCol{
    padding:20px 0 20px 0; border-left:none; border-top:1px solid rgba(0,0,0,.07);
  }
}
@media (max-width:768px){
  .au-overlay{ display:none; }
  .au-grad-left,
  .au-grad-right,
  .au-heroCard.is-marsh .au-grad-left,
  .au-heroCard.is-queen .au-grad-right{ display:none !important; }
  .au-mobileInfo{ display:block; }
  .au-catalogBreak{ padding:40px 14px; }
}
@media (max-width:520px){
  .au-wrap{ padding:22px 0 52px; }
  .au-inner{ padding:0 14px; }
  .au-intro{ padding:18px 0 28px; }
  .au-hero + .au-hero{ margin-top:40px; }
  .au-strip{ margin-bottom:48px; }
  .au-catalogBreak{ margin-bottom:48px; }
  .au-videoGrid{
    display:flex; gap:12px; overflow-x:auto; overflow-y:hidden;
    padding:4px 2px 12px; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  }
  .au-videoGrid::-webkit-scrollbar{ height:4px; }
  .au-videoGrid::-webkit-scrollbar-thumb{ background:rgba(0,0,0,.12); border-radius:999px; }
  .au-videoCard{ flex:0 0 72%; scroll-snap-align:start; }
}
@media (max-width:380px){ .au-videoCard{ flex-basis:84%; } }
