/* VI integration candidate. Requires the st-brand body class. */
@font-face{font-family:'ST Cormorant';src:url('../fonts/cormorant-roman.woff2') format('woff2');font-weight:400 600;font-style:normal;font-display:swap}
@font-face{font-family:'ST Cormorant';src:url('../fonts/cormorant-italic.woff2') format('woff2');font-weight:400 600;font-style:italic;font-display:swap}
@font-face{font-family:'ST Jost';src:url('../fonts/jost-roman.woff2') format('woff2');font-weight:400 600;font-style:normal;font-display:swap}
body.st-brand{
  --ink:#1C2B4A;--ink-deep:#14213A;--ink-soft:#2E4165;
  --silk:#FAF7F1;--silk-dim:#F1ECE2;--silk-deep:#E9E2D4;
  --gold:#B48A3C;--gold-deep:#8A6A2F;--gold-light:#D8BE7F;
  --stone:#6E6A63;--warm-stone:#E5DDD0;--celadon:#8FA8A3;
  --font-display:'ST Cormorant',Georgia,serif;
  --font-body:'ST Jost',system-ui,sans-serif;
  --wp--preset--font-family--display:var(--font-display);
  --wp--preset--font-family--body:var(--font-body);
  font-family:var(--font-body);font-size:18px;line-height:1.7;
  background:var(--silk);color:var(--ink);
}
.st-brand :where(h1,h2,h3,h4){font-family:var(--font-display);font-weight:500}
/* Clip horizontal decoration without creating a scroll container that breaks
   sticky headers. Preserve the existing open-menu scroll locks. */
body.st-brand:not(.mobile-nav-open):not(.menu-open){overflow-x:clip}
/* Transparent at the very top; the shared scroll observer adds the solid state.
   The home mobile overlay retains its separate dark-menu header treatment. */
body.st-brand #hd,
body.st-brand:not(.menu-open) .site-header{
  background:transparent;
  backdrop-filter:none;
  box-shadow:none;
}
body.st-brand #hd.st-nav-scrolled,
body.st-brand:not(.menu-open) .site-header.st-nav-scrolled{
  background:var(--silk);
  box-shadow:0 1px 0 rgba(28,43,74,.12);
}
/* Keep the announcement in normal flow above the home navigation. */
body.st-brand .site-header{
  position:sticky;padding:14px 0;
  /* Let the hero image extend beneath the transparent navigation. */
  margin-bottom:calc(-1 * var(--st-nav-height,72px));
}
body.st-brand .site-header .cart-flag{color:var(--ink);flex-shrink:0;min-width:44px}
body.st-brand .site-header .cart-flag:hover{color:var(--gold-deep)}
.st-brand .st-account-link{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;color:var(--ink);text-decoration:none}
.st-brand .st-account-link:hover{color:var(--gold-deep)}
/* Keep account and cart as adjacent, equal-size header controls. */
body.st-brand #hd .cart-flag{margin-left:0}
.st-brand .st-account-link svg,.st-brand .cart-flag svg{display:block;width:20px;height:20px}
.st-brand :where(button,input,select,textarea){font-family:var(--font-body)}
.st-brand :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-size:16px;min-height:44px}
.st-brand :where(.btn,.hd-cta,.m-cta,.mm-cta,.burger,.m-close,.cart-flag){min-height:44px}
.st-brand :where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--gold-deep);outline-offset:4px}
.st-brand footer :where(a,button,input):focus-visible,
.st-brand :where(.mobile-menu,.m-menu) :where(a,button):focus-visible{outline-color:var(--silk)}
.st-brand .st-brand-logo{display:inline-flex;align-items:center;max-width:100%;line-height:1;flex-shrink:0;min-height:44px}
.st-brand .st-brand-wordmark{display:block;width:220px;max-width:100%;height:auto;object-fit:contain}
.st-brand .ft-logo,.st-brand .m-logo{line-height:1}
.st-brand footer:not(.co-foot){background-color:var(--ink);color:var(--silk);position:relative}
.st-brand footer:not(.co-foot)::before{content:'';display:block;height:22px;background:url('../brand/thread-pattern.svg') center/800px auto;opacity:.18;pointer-events:none}
.st-brand .ft-tag,.st-brand .ft-brand>p{font-size:16px;line-height:1.75;max-width:35ch;color:var(--silk);opacity:.82}
.st-brand .hero .kicker,.st-brand .sec-kicker{color:var(--gold-deep);font-weight:500;letter-spacing:.16em}
.st-brand .hero h1{font-size:clamp(48px,5.5vw,76px);line-height:1.06;max-width:12ch;font-weight:500}
.st-brand .hero:not(.hero-product)>.container{text-align:center}
.st-brand .hero:not(.hero-product) h1{max-width:22ch;margin-inline:auto;text-align:center}
.st-brand .hero:not(.hero-product) .hero-sub{margin-inline:auto;text-align:center}
.st-brand .hero h1 em{color:var(--gold-deep)}
.st-brand .hero .sub{font-size:18px;line-height:1.75;max-width:42ch;color:var(--stone)}
.st-brand .hero-cta .btn-light,.st-brand .hd-cta{background:var(--ink);border-color:var(--ink);color:var(--silk)}
.st-brand .hero-cta .btn-light:hover,.st-brand .hd-cta:hover{background:var(--ink-soft);border-color:var(--ink-soft);color:var(--silk)}
.st-brand .hero-cta .btn-outline-light{background:transparent;color:var(--ink);border-color:var(--ink)}
.st-brand .hero-cta .btn-outline-light:hover{background:var(--ink);color:var(--silk)}
@media(min-width:1024px) and (max-width:1279px){
  .st-brand .hd-inner,.st-brand .hd-wrap{gap:16px}
  .st-brand header .st-brand-wordmark{width:180px}
  .st-brand nav.main,.st-brand .main-nav{gap:16px;margin-left:auto}
  .st-brand nav.main>a,.st-brand .main-nav>a{font-size:12px;letter-spacing:0}
  .st-brand .hd-cta{padding-inline:14px;font-size:12px;margin-left:0}
}
@media(max-width:1023px){
  body.st-brand #hd .hd-wrap,
  body.st-brand .site-header .hd-inner{grid-template-columns:minmax(0,1fr) auto auto auto;gap:4px}
  body.st-brand #hd .cart-flag,
  body.st-brand .site-header .cart-flag{width:44px;height:44px;min-width:44px;margin:0}
}
@media(max-width:767px){
  body.st-brand{font-size:16px}
  body.st-brand #hd .hd-wrap,
  body.st-brand .site-header .hd-inner{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 40px 40px 40px!important;
    gap:4px!important;
    width:100%;
    max-width:100%;
  }
  body.st-brand #hd .st-brand-logo,
  body.st-brand .site-header .st-brand-logo{min-width:0;max-width:100%;overflow:hidden}
  .st-brand header .st-brand-wordmark,.st-brand .m-logo .st-brand-wordmark{width:150px;max-width:100%}
  body.st-brand #hd .st-account-link,
  body.st-brand #hd .cart-flag,
  body.st-brand #hd .burger,
  body.st-brand .site-header .st-account-link,
  body.st-brand .site-header .cart-flag,
  body.st-brand .site-header .burger{
    display:flex!important;
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    min-height:40px!important;
    margin:0!important;
  }
  body.st-brand .announce{white-space:normal;overflow-wrap:break-word;text-align:center}
  .st-brand .hero h1{font-size:clamp(46px,12vw,60px)}
  .st-brand .hero .sub{font-size:16px;line-height:1.7}
}
@media(max-width:360px){
  .st-brand header .st-brand-wordmark,.st-brand .m-logo .st-brand-wordmark{width:128px}
}
@media(prefers-reduced-motion:reduce){
  .st-brand [data-reveal]{opacity:1;transform:none;transition:none}
  .st-brand .marquee-track{animation:none}
  html:has(body.st-brand){scroll-behavior:auto}
}
