/* Brand and campaign-video updates */
.brand {
  color: var(--oxblood);
  font: 400 27px/1 'RLYN Lexend', sans-serif;
  letter-spacing: -0.08em;
  text-decoration: none;
}

/* Navigation floats over the video until the wordmark reaches it. */
.announcement { position: fixed; z-index: 8; top: 0; right: 0; left: 0; background: transparent; color: var(--ivory); transition: background .35s, color .35s; }
.announcement.scrolled { background: var(--maroon); }
.site-header { position: fixed; z-index: 7; top: 31px; right: 0; left: 0; height: 58px; background: transparent; border-bottom-color: transparent; transition: background .35s, border-color .35s, transform .32s ease; }
.site-header.scrolled { background: var(--ivory); border-bottom-color: #d9d2c8; }
.site-header.scrolled .side-menu-toggle,
.site-header.scrolled .text-button,
.site-header.scrolled .bag-button { color:var(--oxblood); }
.site-header.header-hidden { transform: translateY(-120%); }
.site-header:not(.scrolled) .nav-links a, .site-header:not(.scrolled) .text-button, .site-header:not(.scrolled) .bag-button { color: var(--ivory); }
.site-header:not(.scrolled) .side-menu-toggle { color:var(--ivory); }
.header-brand-space { width: 80px; height: 1px; }

/* Left-side navigation modelled on a tabbed editorial drawer. */
.side-menu-toggle { display:flex; align-items:center; gap:10px; border:0; padding:0; background:transparent; color:inherit; font:11px var(--mono); letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.menu-icon, .menu-icon::before, .menu-icon::after { display:block; width:17px; height:1px; background:currentColor; transition:transform .24s ease; }
.menu-icon { position:relative; }.menu-icon::before, .menu-icon::after { content:''; position:absolute; left:0; }.menu-icon::before{top:-5px}.menu-icon::after{top:5px}
.side-menu-backdrop { position:fixed; z-index:28; inset:0; background:rgba(19,13,11,.42); opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s; }
.side-menu-backdrop.open { opacity:1; visibility:visible; }
.side-menu { position:fixed; z-index:29; top:0; bottom:0; left:0; width:min(430px,92vw); padding:32px 30px 28px; overflow:auto; background:#fff; box-shadow:18px 0 55px rgba(20,10,7,.15); transform:translateX(-103%); transition:transform .36s cubic-bezier(.2,.7,.2,1); }
.side-menu.open { transform:translateX(0); }
.side-menu-tabs { display:flex; align-items:center; gap:24px; border-bottom:1px solid #d9d2c8; }
.side-menu-tab { position:relative; padding:5px 0 16px; border:0; background:transparent; color:#766f69; font:11px var(--mono); letter-spacing:.07em; text-transform:uppercase; cursor:pointer; }
.side-menu-tab.active { color:var(--ink); }.side-menu-tab.active::after { content:''; position:absolute; right:0; bottom:-1px; left:0; height:1px; background:var(--ink); }
.side-menu-close { margin-left:auto; margin-bottom:8px; border:0; background:transparent; color:var(--ink); font:28px/1 var(--sans); cursor:pointer; }
.side-menu-view { display:none; padding:28px 0; }.side-menu-view.active { display:block; animation:side-menu-in .22s ease both; }
.side-menu-list { display:flex; flex-direction:column; gap:0; }.side-menu-link, .side-menu-parent, .side-menu-parent-line > a { display:block; width:100%; padding:13px 0; border:0; background:transparent; color:var(--ink); font:14px/1.35 var(--sans); text-align:left; text-decoration:none; cursor:pointer; }
.side-menu-parent { display:flex; justify-content:space-between; align-items:center; }.side-menu-parent span, .side-menu-arrow { color:var(--oxblood); transition:transform .22s ease; }
.side-menu-parent-line { display:flex; align-items:center; justify-content:space-between; }.side-menu-parent-line > a { flex:1; }.side-menu-arrow { width:36px; border:0; padding:0; background:transparent; font:18px/1 var(--sans); cursor:pointer; }
.side-menu-item.open .side-menu-parent span, .side-menu-item.open .side-menu-arrow { transform:rotate(90deg); }
.side-menu-children { max-height:0; overflow:hidden; padding-left:16px; border-left:1px solid transparent; opacity:0; transition:max-height .32s ease, opacity .2s ease, border-color .2s ease; }.side-menu-item.open .side-menu-children, .side-menu-item:hover .side-menu-children { max-height:420px; border-left-color:#d9d2c8; opacity:1; }
.side-menu-item:hover .side-menu-parent span, .side-menu-item:hover .side-menu-arrow { transform:rotate(90deg); }.side-menu-children a { display:block; padding:8px 0; color:#4c4641; font:12px/1.35 var(--sans); text-decoration:none; }.side-menu-children a:first-child { padding-top:2px; }.side-menu-children a:last-child { padding-bottom:14px; }
.side-menu a:hover, .side-menu button:hover { color:var(--oxblood); }
body.menu-open { overflow:hidden; } @keyframes side-menu-in { from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)} }

.bag-button { display: flex; align-items: center; gap: 6px; }
.bag-button svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.4; }

.hero-video { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-art::after { z-index: 1; }
.hero-art p { z-index: 2; }
.hero-art .sun { display: none; }
.hero-video-only { display: block; min-height: 100vh; }
.hero-video-only .hero-art { height: 100vh; min-height: 580px; }
.hero-wordmark { position: fixed; z-index: 9; left: 50%; margin: 0; color: var(--ivory); font: 400 clamp(38px, 7vw, 110px)/1 'RLYN Lexend', sans-serif; letter-spacing: -0.07em; text-decoration: none; text-shadow: 0 2px 24px rgba(0,0,0,.18); white-space: nowrap; transition: color .35s, text-shadow .35s, opacity .22s; }
.hero-wordmark.settled { color: var(--oxblood); text-shadow: none; }
.hero-wordmark.header-hidden { opacity: 0; pointer-events: none; }

/* Home campaign pair — two editorial columns directly below the hero video. */
.campaign-editorial-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); background:var(--ivory); }
.campaign-editorial-image { margin:0; overflow:hidden; background:#d5d3d0; }
.campaign-editorial-image img { display:block; width:100%; height:auto; }

footer .footer-brand { color: var(--oxblood); font-size: 38px; }

/* Home footer: quiet, editorial layout based on the supplied reference. */
.footer-full { display:grid; grid-template-columns:24% 24% 25% 27%; gap:0; padding:52px 3.1vw 0; border-top:1px solid #d9d2c8; background:#fff; }
.footer-full a, .footer-full span { color:var(--ink); font:12px/1.1 var(--sans); text-decoration:none; }
.footer-full a:hover { text-decoration:underline; text-underline-offset:4px; }
.footer-bottom { grid-column:1/-1; display:grid; grid-template-columns:24% 52% 24%; align-items:end; gap:12px; margin-top:76px; padding:0 0 28px; }
.footer-bottom > div { display:flex; flex-wrap:wrap; gap:11px 30px; }
.footer-bottom .shipping-link { text-align:right; }
.footer-minimal { display:block; padding-top:0; }.footer-minimal .footer-bottom { margin-top:0; padding-top:30px; }

@media (max-width: 720px) {
  .brand { font-size: 23px; }
  .hero-video-only, .hero-video-only .hero-art { min-height: 100svh; height: 100svh; }
  .site-header { top: 31px; }
  .mega-menu { display:none; }
  .campaign-editorial-pair { grid-template-columns:1fr; }
  .footer-full { grid-template-columns:1fr 1fr; gap:35px 16px; padding:42px 20px 0; }
  .footer-bottom { grid-column:1/-1; grid-template-columns:1fr; gap:26px; margin-top:29px; padding-bottom:24px; }
  .footer-bottom > div { gap:11px 22px; }
  .footer-bottom .shipping-link { text-align:left; }
  .footer-minimal .footer-bottom { padding-top:25px; }
}
