:root {
  --ink: #111210;
  --ink-soft: #22231f;
  --paper: #f5f2ec;
  --cream: #ebe5db;
  --warm: #c8b9a4;
  --line: rgba(17, 18, 16, 0.12);
  --white: #fff;
  --radius: 22px;
  --shadow: 0 24px 70px rgba(28, 24, 20, 0.12);
  --sticky-header-height: 85px;
}

* { box-sizing: border-box; }
html { overflow-x: hidden; scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--paper);
  color: var(--ink);
  font-family: "Manrope", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
@supports (overflow: clip) {
  html, body { overflow-x: clip; }
}
body.locked { overflow: hidden; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
.container { width: min(1420px, calc(100% - 56px)); margin-inline: auto; }

.announcement {
  background: var(--ink);
  color: rgba(255, 255, 255, 0.76);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.announcement__inner {
  display: flex; align-items: center; justify-content: space-between; min-height: 34px;
}
.announcement__center { color: #d6c4a5; }
.announcement a { transition: color .25s ease; }
.announcement a:hover { color: white; }

.site-header {
  position: sticky; top: 0; z-index: 80; background: rgba(245, 242, 236, 0.96);
  border-bottom: 1px solid rgba(17,18,16,.06); box-shadow: 0 12px 35px rgba(28,24,20,.06); backdrop-filter: blur(20px);
}
.header-main { display: flex; align-items: center; gap: 16px; min-height: 84px; }
.brand { display: inline-flex; align-items: baseline; gap: 7px; min-width: 165px; letter-spacing: -.035em; }
.brand span { font-family: "Unbounded"; font-size: 21px; font-weight: 700; }
.brand b {
  display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px;
  border-radius: 50%; background: var(--ink); color: #d8c7aa; font-family: "Unbounded"; font-size: 10px;
}
.catalog-wrap { position: relative; }
.catalog-btn {
  display: flex; align-items: center; gap: 10px; height: 48px; padding: 0 19px; border: 0;
  border-radius: 13px; background: var(--ink); color: #fff; font-weight: 800; transition: background .25s ease;
}
.catalog-btn:hover { background: #31322f; }
.catalog-btn__icon { display:grid; grid-template-columns:repeat(2,4px); gap:3px; }
.catalog-btn__icon i { width:4px; height:4px; border-radius: 1px; background:#d6c4a5; transition: .25s ease; }
.catalog-btn[aria-expanded="true"] .catalog-btn__icon i:nth-child(1),
.catalog-btn[aria-expanded="true"] .catalog-btn__icon i:nth-child(4) { transform: rotate(45deg); }

.mega-menu {
  position: absolute; top: calc(100% + 17px); left: 0; display: grid; grid-template-columns: 270px 420px;
  width: 690px; padding: 9px; border: 1px solid rgba(17,18,16,.08); border-radius: 18px;
  background: #fff; box-shadow: var(--shadow); opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: .28s ease;
}
.catalog-wrap:hover .mega-menu, .mega-menu.open { opacity: 1; visibility: visible; transform: translateY(0); }
.mega-menu__sidebar { padding: 12px 5px; }
.mega-menu__sidebar p, .mega-menu__content small {
  margin: 0 10px 10px; color: #978a78; font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
}
.mega-menu__sidebar button {
  display:flex; justify-content:space-between; width:100%; padding: 13px 11px; border:0; border-radius: 9px;
  background: transparent; color: #55564f; font-size: 13px; text-align:left;
}
.mega-menu__sidebar button:hover, .mega-menu__sidebar .mega-menu__active { background:#f4f0e9; color:var(--ink); }
.mega-menu__content {
  display:grid; grid-template-columns: 1fr 138px; gap: 14px; min-height: 250px; padding: 24px;
  border-radius: 12px; background:#1b1c19; color:white; overflow:hidden;
}
.mega-menu__content small { display:block; margin:0 0 17px; color:#c7b18f; }
.mega-menu__content h3 { margin:0 0 12px; font-size:21px; line-height:1.2; letter-spacing:-.06em; }
.mega-menu__content p { margin:0; color:rgba(255,255,255,.56); font-size:12px; line-height:1.7; }
.mega-menu__content a { display:inline-block; margin-top:18px; color:#d8c6a8; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.mega-menu__visual { min-height:100%; border-radius: 8px; background: url("./assets/strong21-industrial-categories.jpg") 0 50%/500% 100%; position:relative; }
.mega-menu__visual span {
  position:absolute; right:-23px; bottom:49px; color:white; font-size:9px; letter-spacing:.15em; text-transform:uppercase; transform:rotate(-90deg);
}

.search { position: relative; display:flex; align-items:center; flex:1; min-width:0; height:48px; padding:0 17px; border-radius:13px; background:#ebe7e0; }
.search svg { width:20px; fill:none; stroke:#77746c; stroke-linecap:round; stroke-width:1.6; }
.search input { width:100%; height:100%; padding:0 12px; border:0; outline:0; background:transparent; color:var(--ink); font-size:14px; }
.search input::placeholder { color:#98938a; }
.search__clear { display:none; border:0; background:transparent; color:#8c877e; font-size:22px; line-height:1; }
.search.has-value .search__clear { display:block; }
.search-suggest {
  position:absolute; top:calc(100% + 11px); left:0; right:0; display:flex; flex-direction:column; padding:18px;
  border:1px solid rgba(17,18,16,.08); border-radius:16px; background:#fff; box-shadow:var(--shadow);
  opacity:0; visibility:hidden; transform:translateY(-5px); transition:.2s ease;
}
.search:focus-within .search-suggest { opacity:1; visibility:visible; transform:translateY(0); }
.search-suggest small { margin:0 0 9px 6px; color:#9a9286; font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.search-suggest button { padding:8px 6px; border:0; background:transparent; color:#4c4c47; font-size:13px; text-align:left; }
.search-suggest button:hover { color:var(--ink); }
.search-suggest span { display:inline-block; width:19px; color:#b29e7f; }

.header-actions { display:flex; align-items:center; gap:3px; }
.header-actions button {
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
  min-width:76px; border:0; background:transparent; color:#6b6962; font-size:10px; font-weight:700;
}
.header-actions svg { width:22px; height:22px; fill:none; stroke:#383934; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.5; }
.header-actions b {
  position:absolute; top:-5px; right:14px; display:none; align-items:center; justify-content:center; min-width:17px; height:17px;
  padding:0 4px; border:2px solid var(--paper); border-radius:20px; background:#1b1c19; color:#fff; font-size:9px;
}
.header-actions b.visible { display:flex; }

.hero { position:relative; min-height:660px; margin-top:20px; overflow:hidden; border-radius:var(--radius); color:#fff; }
.hero__image, .hero__overlay { position:absolute; inset:0; }
.hero__image { background:url("./assets/strong21-industrial-hero.jpg") center/cover; transition:transform 1s ease; }
.hero:hover .hero__image { transform:scale(1.025); }
.hero__overlay { background:linear-gradient(90deg, rgba(14,15,13,.84) 0%, rgba(14,15,13,.5) 37%, rgba(14,15,13,.08) 72%); }
.hero__content { position:relative; z-index:2; padding:111px 7.3%; }
.eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 20px; color:#d8c7aa; font-size:10px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.eyebrow i { display:block; width:23px; height:1px; background:currentColor; }
.eyebrow--dark { color:#8e7c65; }
.hero h1 { margin:0; max-width:980px; font-family:"Unbounded"; font-size:clamp(47px,5vw,78px); line-height:1.06; letter-spacing:-.045em; text-transform:uppercase; }
.hero__text { margin:25px 0 31px; color:rgba(255,255,255,.72); font-size:16px; line-height:1.7; }
.hero__actions { display:flex; gap:9px; }
.button {
  display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 21px; border:1px solid transparent;
  border-radius:11px; font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; transition:.25s ease;
}
.button--light { background:#f6f3ee; color:#1c1d1a; }
.button--light:hover { background:white; transform:translateY(-2px); }
.button--glass { border-color:rgba(255,255,255,.28); color:white; backdrop-filter:blur(8px); }
.button--glass:hover { background:rgba(255,255,255,.12); }
.button--dark { border:0; background:#1a1b18; color:white; }
.button--dark:hover { background:#34352f; }
.hero__foot {
  position:absolute; right:6%; bottom:31px; left:7.3%; z-index:2; display:flex; align-items:center; gap:11px;
  color:rgba(255,255,255,.62); font-size:9px; font-weight:800; letter-spacing:.14em;
}
.hero__foot i { width:46px; height:1px; background:#d8c7aa; }
.hero__foot span:last-child { margin-left:auto; }

.perks { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:18px; border-radius:14px; overflow:hidden; background:rgba(17,18,16,.1); }
.perks article { display:flex; align-items:center; gap:16px; padding:21px 24px; background:#eae5dd; }
.perks b { color:#a99474; font-family:"Unbounded"; font-size:13px; }
.perks h3 { margin:0 0 3px; font-size:13px; }
.perks p { margin:0; color:#858078; font-size:11px; }
.price-banner {
  display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:18px; padding:25px 28px;
  border-radius:14px; background:#20211e; color:#fff;
}
.price-banner .eyebrow { margin-bottom:8px; }
.price-banner h2 { margin:0 0 7px; font-family:"Unbounded"; font-size:21px; letter-spacing:-.035em; text-transform:uppercase; }
.price-banner span { color:rgba(255,255,255,.54); font-size:12px; }
.price-banner .button { flex:none; min-width:190px; }
.price-banner .button b { margin-left:10px; color:#a98d67; font-size:18px; line-height:.6; }

.section { padding-top:108px; }
.section-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom:30px; }
.section-heading h2, .story h2, .subscribe h2 {
  margin:0; font-family:"Unbounded"; font-size:clamp(29px,3vw,43px); line-height:1.18; letter-spacing:-.045em; text-transform:uppercase;
}
.section-heading a { margin-bottom:5px; color:#777166; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.section-heading a span, .text-link span { color:#aa9271; }

.category-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:10px; }
.category-card {
  position:relative; min-height:428px; overflow:hidden; border:0; border-radius:16px; background-image:linear-gradient(0deg,rgba(14,15,13,.74),rgba(14,15,13,0) 64%),url("./assets/strong21-industrial-categories.jpg");
  background-size:500% 100%, 500% 100%; color:white; text-align:left; transition:transform .35s ease, box-shadow .35s ease;
}
.category-card--bracelets {
  background-image:url("./assets/strong21-category-bracelets.jpg"); background-position:center; background-size:cover;
}
.category-card--bracelets > span, .category-card--bracelets > div { display:none; }
.category-card--slings {
  background-image:url("./assets/strong21-category-slings.jpg"); background-position:center; background-size:cover;
}
.category-card--slings > span, .category-card--slings > div { display:none; }
.category-card--ropes {
  background-image:url("./assets/strong21-category-ropes.jpg"); background-position:center; background-size:cover;
}
.category-card--ropes > span, .category-card--ropes > div { display:none; }
.category-card--tie-downs {
  background-image:url("./assets/strong21-category-tie-downs.jpg"); background-position:center; background-size:cover;
}
.category-card--tie-downs > span, .category-card--tie-downs > div { display:none; }
.category-card--tarps {
  background-image:url("./assets/strong21-category-tarps.jpg"); background-position:center; background-size:cover;
}
.category-card--tarps > span, .category-card--tarps > div { display:none; }
.category-card--custom { background-position:50% 0, 50% 0; }
.category-card:hover { transform:translateY(-7px); box-shadow:0 20px 36px rgba(29,26,22,.15); }
.category-card span { position:absolute; top:19px; left:19px; color:rgba(255,255,255,.62); font-family:"Unbounded"; font-size:11px; }
.category-card div { position:absolute; right:19px; bottom:20px; left:19px; }
.category-card h3 { margin:0 0 13px; font-family:"Unbounded"; font-size:18px; line-height:1.24; letter-spacing:-.035em; text-transform:uppercase; }
.category-card small { color:rgba(255,255,255,.72); font-size:10px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }

.section-heading--catalog { margin-bottom:23px; }
.section-heading--catalog > p { margin:0 0 4px; color:#938b80; font-size:12px; }
.catalog-sticky-panel {
  position: sticky; top: calc(var(--sticky-header-height) + 8px); z-index: 24; margin-bottom:25px; padding:10px; border:1px solid rgba(17,18,16,.08); border-radius:17px;
  background:rgba(245,242,236,.92); box-shadow:0 18px 44px rgba(32,28,22,.09); backdrop-filter:blur(18px);
}
.filter-row { display:flex; gap:8px; overflow:auto; scrollbar-width:none; }
.filter-row::-webkit-scrollbar { display:none; }
.filter-row button {
  flex:none; padding:11px 16px; border:1px solid rgba(17,18,16,.1); border-radius:30px; background:transparent; color:#69665f;
  font-size:12px; font-weight:700; transition:.22s ease;
}
.filter-row button:hover, .filter-row button.active { border-color:var(--ink); background:var(--ink); color:white; }
.product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px 12px; }
.product-card { position:relative; }
.product-photo { background-image:url("./assets/strong21-industrial-products.jpg"); background-repeat:no-repeat; background-size:400% 200%; }
.product-card__image {
  position:relative; aspect-ratio:3/4; overflow:hidden; border-radius:14px; background-color:#e9e3da; transition:transform .25s ease;
}
.product-card:hover .product-card__image { transform:translateY(-4px); }
.product-card__slides, .product-card__slide { position:absolute; inset:0; }
.product-card__slide { opacity:0; transition:opacity .25s ease; }
.product-card__slide.active { opacity:1; }
.product-card__badge { position:absolute; top:11px; left:11px; z-index:3; padding:5px 8px; border-radius:20px; background:rgba(255,255,255,.85); color:#544e46; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; backdrop-filter:blur(7px); }
.favorite {
  position:absolute; top:10px; right:10px; z-index:4; display:grid; place-items:center; width:34px; height:34px; border:0; border-radius:50%;
  background:rgba(255,255,255,.8); color:#383934; backdrop-filter:blur(6px); transition:.2s ease;
}
.favorite svg { width:17px; fill:transparent; stroke:currentColor; stroke-width:1.6; transition:.2s ease; }
.favorite.active { color:#1c1d1a; }
.favorite.active svg { fill:#1c1d1a; }
.quick-view {
  position:absolute; right:10px; bottom:10px; left:10px; z-index:4; min-height:39px; border:0; border-radius:9px; background:rgba(25,26,23,.9);
  color:white; font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; opacity:0; transform:translateY(5px); transition:.25s ease;
}
.product-card:hover .quick-view { opacity:1; transform:translateY(0); }
.product-card__dots {
  position:absolute; right:0; bottom:58px; left:0; z-index:4; display:flex; justify-content:center; gap:6px; pointer-events:none;
}
.product-card__dots button, .quick-modal__dots button {
  width:7px; height:7px; padding:0; border:0; border-radius:999px; background:rgba(255,255,255,.58); box-shadow:0 0 0 1px rgba(20,21,18,.18); transition:.2s ease;
  pointer-events:auto;
}
.product-card__dots button.active, .quick-modal__dots button.active { width:18px; background:#fff; }
.product-card__arrow, .quick-modal__arrow {
  position:absolute; top:50%; z-index:3; display:none; align-items:center; justify-content:center;
  width:33px; height:33px; margin-top:-17px; padding:0; border:0; border-radius:999px;
  background:rgba(17,18,15,.42); color:#fff; cursor:pointer; transition:background .2s ease;
}
.product-card__arrow svg, .quick-modal__arrow svg { width:15px; height:15px; }
.product-card__arrow:hover, .quick-modal__arrow:hover { background:rgba(17,18,15,.74); }
.product-card__arrow--prev, .quick-modal__arrow--prev { left:9px; }
.product-card__arrow--next, .quick-modal__arrow--next { right:9px; }
@media (hover: hover) and (pointer: fine) {
  .product-card__image:hover .product-card__arrow, .quick-modal__image:hover .quick-modal__arrow { display:flex; }
}
.product-card__skeleton {
  aspect-ratio:3/4; border-radius:14px;
  background:linear-gradient(100deg,#eae6df 40%,#f3f0ea 50%,#eae6df 60%); background-size:200% 100%;
  animation:productSkeleton 1.3s linear infinite;
}
@keyframes productSkeleton { to { background-position:-200% 0; } }
.product-card__body { padding:13px 3px 0; }
.product-card__category { color:#9d9488; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.product-card__body h3 { min-height:39px; margin:6px 0 8px; font-size:14px; line-height:1.4; }
.product-card__bottom { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.product-card__bottom > b { padding-top:8px; font-size:15px; }
.product-card__purchase { display:flex; flex-direction:column; align-items:flex-end; gap:5px; }
.add-cart {
  display:flex; align-items:center; gap:7px; padding:8px 10px; border:1px solid rgba(17,18,16,.13); border-radius:8px; background:transparent;
  color:#5b5953; font-size:10px; font-weight:800; text-transform:uppercase; transition:.22s ease;
}
.add-cart:hover { border-color:var(--ink); background:var(--ink); color:white; }
.add-cart span { font-size:17px; font-weight:400; line-height:.6; }
.catalog-qty { display:flex; align-items:center; overflow:hidden; border-radius:8px; background:#292a26; color:#fff; }
.catalog-qty button { display:grid; place-items:center; width:31px; height:32px; border:0; background:transparent; color:#fff; font-size:17px; transition:background .2s ease; }
.catalog-qty button:hover { background:rgba(255,255,255,.12); }
.catalog-qty b { min-width:25px; color:#fff; font-size:11px; text-align:center; }
.product-card__cart-status { color:#a66d49; font-size:9px; font-weight:800; letter-spacing:.03em; }
.empty-state { display:none; padding:80px 20px; border:1px solid var(--line); border-radius:14px; text-align:center; }
.empty-state.visible { display:block; }
.empty-state h3 { margin:0; font-family:"Unbounded"; font-size:21px; letter-spacing:-.08em; text-transform:uppercase; }
.empty-state p { margin:12px 0 23px; color:#827d74; font-size:13px; }

.story { display:grid; grid-template-columns:1.05fr .95fr; }
.story__visual { position:relative; min-height:486px; border-radius:17px 0 0 17px; background:url("./assets/strong21-industrial-hero.jpg") right center/cover; }
.story__stamp {
  position:absolute; right:25px; bottom:25px; display:grid; place-items:center; width:105px; height:105px;
  border:1px solid rgba(255,255,255,.34); border-radius:50%; color:white; backdrop-filter:blur(5px);
}
.story__stamp span { display:block; margin-top:17px; font-family:"Unbounded"; font-size:35px; letter-spacing:-.12em; }
.story__stamp small { margin-top:-17px; color:rgba(255,255,255,.66); font-size:8px; font-weight:800; letter-spacing:.16em; }
.story__body { display:flex; flex-direction:column; justify-content:center; padding:65px 9%; border-radius:0 17px 17px 0; background:#e8e1d7; }
.story__body > p:not(.eyebrow) { max-width:535px; margin:22px 0; color:#6f6c64; font-size:14px; line-height:1.9; }
.text-link { color:#2e302d; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.text-link--light { color:#fff; }
.delivery {
  display:grid; grid-template-columns:.86fr 1.14fr; gap:30px; margin-top:108px; padding:46px 4.8%; overflow:hidden;
  border-radius:17px; background:#20211e; color:#fff;
}
.delivery__intro { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.delivery__intro h2 { margin:12px 0 17px; font-family:"Unbounded"; font-size:clamp(26px,3.1vw,42px); line-height:1.2; letter-spacing:-.045em; text-transform:uppercase; }
.delivery__intro > p:not(.eyebrow) { max-width:455px; margin:0 0 24px; color:rgba(255,255,255,.56); font-size:13px; line-height:1.85; }
.delivery__services { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.delivery__services article {
  min-height:138px; padding:17px; border:1px solid rgba(255,255,255,.1); border-radius:11px; background:rgba(255,255,255,.035);
  transition:transform .22s ease, background .22s ease;
}
.delivery__services article:hover { transform:translateY(-3px); background:rgba(255,255,255,.075); }
.delivery__services article:last-child { grid-column:1/-1; }
.delivery__services b { color:#bd9f76; font-family:"Unbounded"; font-size:10px; letter-spacing:-.04em; }
.delivery__services h3 { margin:13px 0 7px; font-family:"Unbounded"; font-size:14px; letter-spacing:-.025em; text-transform:uppercase; }
.delivery__services p { margin:0; color:rgba(255,255,255,.5); font-size:11px; line-height:1.6; }
.contacts__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.contact-card {
  display:flex; flex-direction:column; min-height:230px; padding:23px; border:1px solid var(--line); border-radius:14px;
  background:#ebe5dc; transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.contact-card:hover { transform:translateY(-4px); box-shadow:0 18px 30px rgba(29,26,22,.1); background:#f0ebe3; }
.contact-card small { color:#9a8060; font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.contact-card h3 { margin:16px 0 10px; font-family:"Unbounded"; font-size:16px; line-height:1.48; letter-spacing:-.035em; text-transform:uppercase; }
.contact-card p { margin:0; color:#777168; font-size:12px; line-height:1.7; }
.contact-card b { margin-top:auto; padding-top:20px; color:#3c3d38; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.contact-card b span { color:#a68d69; }
.contact-card--address { background:#22231f; color:#fff; }
.contact-card--address:hover { background:#30312d; }
.contact-card--address p { color:rgba(255,255,255,.53); }
.contact-card--address b { color:#fff; }
.subscribe {
  display:flex; align-items:center; justify-content:space-between; gap:30px; min-height:244px; margin-top:108px; padding:40px 4.8%;
  border-radius:17px; background:#1b1c19; color:white;
}
.subscribe form { display:flex; gap:8px; width:min(560px,100%); padding:7px; border:1px solid rgba(255,255,255,.16); border-radius:13px; }
.subscribe input { width:100%; border:0; outline:0; padding:0 13px; background:transparent; color:white; }
.subscribe input::placeholder { color:rgba(255,255,255,.42); }
.subscribe form .button { white-space:nowrap; }

.footer { margin-top:18px; background:#20211e; color:white; }
.footer__grid { display:grid; grid-template-columns:1.7fr repeat(3,1fr); gap:40px; padding:62px 0 48px; }
.brand--footer span { font-size:18px; }
.brand--footer b { background:#d4bea0; color:#1b1c19; }
.footer p { color:rgba(255,255,255,.44); font-size:13px; line-height:1.8; }
.footer h4 { margin:4px 0 15px; color:#cbb99b; font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
.footer__grid div:not(:first-child) { display:flex; flex-direction:column; gap:10px; }
.footer__grid a:not(.brand) { color:rgba(255,255,255,.6); font-size:12px; transition:color .2s ease; }
.footer__grid a:hover { color:white; }
.footer__bottom { display:flex; justify-content:space-between; padding:18px 0; border-top:1px solid rgba(255,255,255,.08); color:rgba(255,255,255,.34); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }

.drawer-layer, .quick-modal { position:fixed; inset:0; z-index:50; background:rgba(12,13,11,.5); opacity:0; visibility:hidden; transition:.3s ease; backdrop-filter:blur(4px); }
.drawer-layer.visible, .quick-modal.visible { opacity:1; visibility:visible; }
.cart-drawer, .favorites-drawer {
  position:fixed; top:0; right:0; z-index:55; display:flex; flex-direction:column; width:min(440px,100%); height:100dvh;
  background:#f8f5f0; box-shadow:-15px 0 44px rgba(0,0,0,.18); transform:translateX(102%); transition:.36s ease;
}
.cart-drawer.visible, .favorites-drawer.visible { transform:translateX(0); }
.cart-drawer__head, .favorites-drawer__head { display:flex; justify-content:space-between; padding:26px 25px 20px; border-bottom:1px solid var(--line); }
.cart-drawer__head small, .favorites-drawer__head small, .quick-modal__body small { color:#a28b6b; font-size:9px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.cart-drawer__head h2, .favorites-drawer__head h2 { margin:5px 0 0; font-family:"Unbounded"; font-size:24px; letter-spacing:-.04em; text-transform:uppercase; }
.cart-drawer__head h2 span, .favorites-drawer__head h2 span { color:#a39177; }
.cart-drawer__head button, .favorites-drawer__head button, .quick-modal__close { border:0; background:transparent; color:#5f5d57; font-size:31px; line-height:.7; }
.cart-drawer__body, .favorites-drawer__body { flex:1; overflow:auto; padding:15px 24px; }
.cart-empty, .favorites-empty { display:grid; place-items:center; padding:67px 6px; text-align:center; }
.cart-empty div, .favorites-empty div {
  display:grid; place-items:center; width:82px; height:82px; border-radius:50%; background:#e9e1d6; color:#ad9676;
  font-family:"Unbounded"; font-size:29px; letter-spacing:-.12em;
}
.cart-empty h3, .favorites-empty h3 { margin:20px 0 0; font-family:"Unbounded"; font-size:16px; letter-spacing:-.08em; text-transform:uppercase; }
.cart-empty p, .favorites-empty p { margin:11px 0 23px; color:#8b857c; font-size:12px; line-height:1.7; }
.cart-item { display:grid; grid-template-columns:60px 1fr auto; gap:12px; padding:11px 0; border-bottom:1px solid var(--line); }
.cart-item__image { width:60px; height:80px; border-radius:8px; background-color:#eee7dc; }
.cart-item h3 { margin:3px 0 7px; font-size:12px; line-height:1.35; }
.cart-item b { font-size:12px; }
.cart-item__qty { display:flex; align-items:center; gap:8px; margin-top:8px; color:#777269; font-size:11px; }
.cart-item__qty button { display:grid; place-items:center; width:21px; height:21px; border:1px solid var(--line); border-radius:50%; background:transparent; font-size:14px; line-height:1; }
.cart-item__remove { align-self:start; border:0; background:transparent; color:#a69e93; font-size:17px; }
.favorite-item { display:grid; grid-template-columns:69px 1fr; gap:13px; padding:13px 0; border-bottom:1px solid var(--line); }
.favorite-item__image { width:69px; height:92px; border-radius:9px; background-color:#eee7dc; }
.favorite-item small { color:#a28b6b; font-size:8px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.favorite-item h3 { margin:5px 0 7px; font-size:12px; line-height:1.35; }
.favorite-item b { display:block; margin-bottom:9px; font-size:12px; }
.favorite-item__actions { display:flex; flex-wrap:wrap; gap:6px; }
.favorite-item__actions button { padding:7px 9px; border:1px solid var(--line); border-radius:7px; background:transparent; color:#625f58; font-size:9px; font-weight:800; text-transform:uppercase; }
.favorite-item__actions button:first-child { background:#292a26; color:#fff; }
.cart-drawer__checkout { display:none; padding:19px 24px 24px; border-top:1px solid var(--line); background:#f2ede6; }
.cart-drawer__checkout.visible { display:block; }
.checkout-total { display:flex; align-items:center; justify-content:space-between; margin-bottom:9px; }
.checkout-total span { color:#777168; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.checkout-total b { font-family:"Unbounded"; font-size:21px; letter-spacing:-.08em; }
.cart-drawer__checkout p { margin:0 0 11px; color:#8b847a; font-size:10px; line-height:1.55; }
.cart-drawer__checkout input { width:100%; margin-top:7px; padding:12px 13px; border:1px solid var(--line); border-radius:8px; outline:0; background:#fff; font-size:12px; }
.cart-drawer__checkout .button { width:100%; margin-top:10px; min-height:48px; }

.quick-modal { display:grid; place-items:center; padding:20px; }
.quick-modal__card { position:relative; display:grid; grid-template-columns:minmax(320px,440px) minmax(320px,1fr); width:min(900px,100%); overflow:hidden; border-radius:16px; background:#f8f5f0; box-shadow:var(--shadow); transform:translateY(12px); transition:.3s ease; }
.quick-modal.visible .quick-modal__card { transform:translateY(0); }
.quick-modal__image { position:relative; aspect-ratio:3/4; min-height:0; background-color:#11120f; }
.quick-modal__dots { position:absolute; right:0; bottom:17px; left:0; z-index:3; display:flex; justify-content:center; gap:7px; }
.quick-modal__body { display:flex; flex-direction:column; justify-content:center; padding:42px; }
.quick-modal__body h2 { margin:9px 0 12px; font-family:"Unbounded"; font-size:24px; line-height:1.28; letter-spacing:-.035em; text-transform:uppercase; }
.quick-modal__body p { margin:0 0 21px; color:#777168; font-size:13px; line-height:1.75; }
.quick-modal__body b { margin-bottom:20px; font-family:"Unbounded"; font-size:23px; letter-spacing:-.08em; }
.quick-modal__close { position:absolute; top:17px; right:17px; z-index:2; }
.toast {
  position:fixed; right:24px; bottom:88px; z-index:70; max-width:340px; padding:15px 18px; border-radius:9px;
  pointer-events:none; background:#20211e; color:white; box-shadow:var(--shadow); font-size:12px; line-height:1.5; opacity:0; transform:translateY(9px); transition:.25s ease;
}
.toast.visible { opacity:1; transform:translateY(0); }

.chat-launcher {
  position:fixed; right:24px; bottom:24px; z-index:45; display:flex; align-items:center; gap:9px; min-height:52px; padding:0 17px 0 14px;
  border:1px solid rgba(255,255,255,.12); border-radius:30px; background:#22231f; color:#fff; box-shadow:0 14px 34px rgba(30,27,23,.24);
  transition:transform .25s ease, opacity .25s ease, background .25s ease;
}
.chat-launcher:hover { transform:translateY(-3px); background:#30312d; }
.chat-launcher.active { opacity:0; pointer-events:none; transform:translateY(8px) scale(.94); }
.chat-launcher svg { width:22px; height:22px; fill:none; stroke:#fff; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.45; }
.chat-launcher b { font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.chat-launcher__pulse {
  position:absolute; top:2px; left:4px; width:10px; height:10px; border:2px solid #22231f; border-radius:50%; background:#cb8153;
  box-shadow:0 0 0 0 rgba(203,129,83,.52); animation:chatPulse 2.2s ease-out infinite;
}
@keyframes chatPulse {
  0% { box-shadow:0 0 0 0 rgba(203,129,83,.52); }
  70% { box-shadow:0 0 0 8px rgba(203,129,83,0); }
  100% { box-shadow:0 0 0 0 rgba(203,129,83,0); }
}
.support-chat {
  position:fixed; right:24px; bottom:24px; z-index:65; display:flex; flex-direction:column; width:min(390px,calc(100% - 32px)); height:min(590px,calc(100dvh - 48px));
  overflow:hidden; border:1px solid rgba(119,104,84,.2); border-radius:19px; background:#f8f4ee; box-shadow:0 24px 65px rgba(30,27,23,.25);
  opacity:0; visibility:hidden; transform:translateY(16px) scale(.97); transform-origin:right bottom; transition:.28s ease;
}
.support-chat.visible { opacity:1; visibility:visible; transform:translateY(0) scale(1); }
.support-chat::before {
  position:absolute; top:0; right:0; left:0; height:5px; content:"";
  background:radial-gradient(125% 125% at 50% 101%,#f55702 11%,#f58c02 18%,#efb08b 38%,#cab3d6 68%,#94c9e9 100%);
}
.support-chat__head { display:flex; align-items:center; gap:12px; min-height:90px; padding:17px 17px 14px; border-bottom:1px solid rgba(122,108,90,.13); background:#f3eee6; }
.support-chat__avatar {
  display:grid; place-items:center; width:43px; height:43px; border-radius:50%; background:#262722; color:#dbc4a4;
  font-family:"Unbounded"; font-size:14px; font-weight:800; letter-spacing:-.12em;
}
.support-chat__head small { color:#a08767; font-size:8px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.support-chat__head h3 { margin:3px 0 4px; font-family:"Unbounded"; font-size:14px; letter-spacing:-.08em; }
.support-chat__head p { display:flex; align-items:center; gap:6px; margin:0; color:#747068; font-size:10px; }
.support-chat__head p i { width:7px; height:7px; border-radius:50%; background:#6ea571; box-shadow:0 0 0 3px rgba(110,165,113,.15); }
.support-chat__head > button { margin-left:auto; border:0; background:transparent; color:#777168; font-size:27px; line-height:1; }
.support-chat__body { flex:1; overflow:auto; padding:17px; scroll-behavior:smooth; }
.chat-message { width:fit-content; max-width:84%; margin-bottom:10px; padding:11px 12px 8px; border-radius:13px; font-size:12px; line-height:1.55; }
.chat-message p { margin:0; }
.chat-message small { display:block; margin-top:7px; color:inherit; font-size:9px; opacity:.7; }
.chat-message time { display:block; margin-top:6px; color:inherit; font-size:8px; letter-spacing:.04em; opacity:.52; text-align:right; }
.chat-message--manager { border:1px solid rgba(119,104,84,.12); border-bottom-left-radius:4px; background:#eee7dd; color:#52514c; }
.chat-message--user { margin-left:auto; border-bottom-right-radius:4px; background:#292a26; color:#fff; }
.chat-suggestions { display:flex; flex-wrap:wrap; gap:6px; margin:13px 0 3px; }
.chat-suggestions button {
  padding:8px 10px; border:1px solid rgba(166,141,105,.34); border-radius:20px; background:#fbf8f3; color:#8a7356;
  font-size:10px; transition:.2s ease;
}
.chat-suggestions button:hover { border-color:#a68d69; background:#eee4d7; color:#54493c; }
.support-chat__attachments { display:none; flex-wrap:wrap; gap:5px; padding:8px 13px 0; border-top:1px solid rgba(122,108,90,.1); }
.support-chat__attachments.visible { display:flex; }
.chat-file {
  display:flex; align-items:center; gap:5px; max-width:100%; padding:5px 8px; border-radius:15px; background:#e9dfd1; color:#6d6357;
  font-size:9px; line-height:1;
}
.chat-file span { overflow:hidden; max-width:235px; text-overflow:ellipsis; white-space:nowrap; }
.chat-file button { padding:0; border:0; background:transparent; color:#988771; font-size:15px; line-height:.75; }
.chat-contact { padding:10px 12px 0; }
.chat-contact > label { display:block; margin:0 0 5px 3px; color:#99846a; font-size:8px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.chat-contact__field { display:flex; align-items:center; gap:7px; padding:0 10px; border:1px solid rgba(124,110,92,.19); border-radius:11px; background:#fffdfa; transition:border-color .2s ease, box-shadow .2s ease; }
.chat-contact__field:focus-within { border-color:rgba(166,141,105,.72); box-shadow:0 0 0 3px rgba(166,141,105,.1); }
.chat-contact__field svg { width:17px; height:17px; fill:none; stroke:#94826d; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.5; }
.chat-contact__field input { width:100%; height:37px; border:0; outline:0; background:transparent; color:#34342f; font:inherit; font-size:12px; letter-spacing:.03em; }
.chat-contact small { display:none; margin:5px 0 0 3px; color:#b26051; font-size:9px; }
.chat-contact.invalid .chat-contact__field { border-color:rgba(178,96,81,.75); box-shadow:0 0 0 3px rgba(178,96,81,.08); }
.chat-contact.invalid small { display:block; }
.chat-prompt { display:grid; grid-template-columns:34px 1fr 38px; align-items:end; gap:6px; margin:9px 11px 0; padding:7px; border:1px solid rgba(124,110,92,.19); border-radius:15px; background:#fffdfa; }
.chat-attach { display:grid; place-items:center; width:34px; height:36px; border-radius:10px; cursor:pointer; transition:background .2s ease; }
.chat-attach:hover { background:#f3eee6; }
.chat-attach input { display:none; }
.chat-attach svg, .chat-send svg { width:19px; height:19px; fill:none; stroke:#94826d; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.6; }
.chat-prompt textarea { width:100%; max-height:86px; min-height:34px; padding:8px 2px 5px; border:0; outline:0; resize:none; background:transparent; color:#34342f; font:inherit; font-size:12px; line-height:1.45; }
.chat-prompt textarea::placeholder { color:#aaa196; }
.chat-send { display:grid; place-items:center; width:38px; height:38px; border:0; border-radius:11px; background:#292a26; transition:background .2s ease, transform .2s ease; }
.chat-send:hover { background:#45463f; transform:translateY(-1px); }
.chat-send svg { stroke:#fff; }
.support-chat__foot { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 17px 14px; color:#9b9288; font-size:9px; }
.support-chat__foot a { color:#7b654b; font-weight:800; }

@media (max-width: 980px) {
  :root { --sticky-header-height: 77px; }
  .container { width:min(100% - 32px,760px); }
  .header-main { min-height:76px; }
  .brand { min-width:auto; }
  .brand span { font-size:16px; }
  .brand b { width:25px; height:25px; font-size:8px; }
  .catalog-btn { width:45px; padding:0; justify-content:center; font-size:0; }
  .mega-menu { grid-template-columns:230px 330px; width:560px; }
  .header-actions button { min-width:42px; font-size:0; }
  .header-actions b { right:-3px; }
  .hero { min-height:590px; }
  .hero__content { padding:91px 7%; }
  .category-grid, .product-grid { grid-template-columns:repeat(2,1fr); }
  .story { grid-template-columns:1fr; }
  .delivery { grid-template-columns:1fr; }
  .contacts__grid { grid-template-columns:1fr; }
  .story__visual { min-height:340px; border-radius:17px 17px 0 0; }
  .story__body { border-radius:0 0 17px 17px; }
  .subscribe { flex-direction:column; align-items:flex-start; }
}
@media (max-width: 620px) {
  :root { --sticky-header-height: 103px; }
  .container { width:min(100% - 18px,520px); }
  .announcement { font-size:8px; letter-spacing:.12em; }
  .announcement__inner { min-height:29px; }
  .announcement__center { display:none; }
  .header-main {
    display:grid; grid-template-columns:auto auto auto 1fr; gap:6px; min-height:64px; padding:8px 0;
  }
  .brand { flex:none; gap:4px; min-width:0; }
  .brand span { font-size:11px; }
  .brand b { width:20px; height:20px; font-size:6px; }
  .catalog-wrap { grid-column:2; grid-row:1; }
  .catalog-btn { flex:none; width:37px; height:38px; border-radius:10px; }
  .search { grid-column:1/-1; grid-row:2; width:100%; height:39px; padding:0 8px; border-radius:10px; }
  .search input { min-width:0; padding:0 6px; font-size:11px; }
  .search svg { flex:none; width:16px; }
  .header-actions { grid-column:3; grid-row:1; gap:2px; margin-left:0; }
  .header-actions button { min-width:25px; }
  .header-actions svg { width:18px; }
  .mega-menu { display:none; }
  .hero { min-height:508px; margin-top:11px; border-radius:15px; }
  .hero__image { background-position:61% center; }
  .hero__overlay { background:linear-gradient(90deg,rgba(14,15,13,.82),rgba(14,15,13,.36)); }
  .hero__content { padding:61px 7%; }
  .hero h1 { font-size:clamp(24px,8.2vw,40px); line-height:1.14; letter-spacing:-.035em; }
  .hero__text { margin:20px 0 24px; font-size:13px; }
  .hero__actions { align-items:stretch; flex-direction:column; width:100%; max-width:270px; }
  .button { min-height:47px; padding:0 16px; font-size:10px; }
  .hero__foot { bottom:19px; left:7%; }
  .hero__foot span:last-child { display:none; }
  .perks { grid-template-columns:1fr; gap:1px; margin-top:11px; }
  .perks article { padding:14px 16px; }
  .price-banner { align-items:flex-start; flex-direction:column; margin-top:11px; padding:20px; }
  .price-banner h2 { font-size:17px; }
  .price-banner span { font-size:11px; line-height:1.6; }
  .section { padding-top:73px; }
  .section-heading { align-items:end; margin-bottom:20px; }
  .section-heading h2, .story h2, .subscribe h2 { font-size:clamp(23px,7.2vw,30px); line-height:1.22; }
  .section-heading a { font-size:10px; }
  .category-grid { gap:8px; }
  .category-card { min-height:241px; border-radius:12px; }
  .category-card span { top:13px; left:13px; font-size:9px; }
  .category-card div { right:13px; bottom:13px; left:13px; }
  .category-card h3 { margin-bottom:8px; font-size:13px; }
  .category-card small { font-size:8px; }
  .catalog-sticky-panel { top:calc(var(--sticky-header-height) + 7px); margin-inline:-2px; padding:8px; border-radius:14px; }
  .filter-row { margin-right:-7px; }
  .filter-row button { padding:9px 12px; font-size:10px; }
  .product-grid { gap:17px 8px; }
  .product-card__image { border-radius:10px; }
  .product-card__badge { top:7px; left:7px; padding:4px 6px; font-size:7px; }
  .favorite { top:6px; right:6px; width:29px; height:29px; }
  .favorite svg { width:14px; }
  .quick-view { display:none; }
  .product-card__dots { bottom:9px; }
  .product-card__body { padding-top:9px; }
  .product-card__body h3 { min-height:34px; margin:5px 0; font-size:12px; }
  .product-card__bottom { align-items:end; gap:5px; }
  .product-card__bottom > b { font-size:13px; }
  .add-cart { width:30px; height:30px; padding:0; justify-content:center; border-radius:50%; font-size:0; }
  .add-cart span { font-size:19px; }
  .catalog-qty button { width:25px; height:29px; }
  .catalog-qty b { min-width:20px; font-size:10px; }
  .product-card__cart-status { font-size:8px; }
  .story__visual { min-height:260px; }
  .story__body { padding:38px 8%; }
  .story__body > p:not(.eyebrow) { font-size:12px; }
  .delivery { gap:23px; margin-top:73px; padding:31px 7%; }
  .delivery__intro h2 { font-size:25px; line-height:1.24; }
  .delivery__services { grid-template-columns:1fr; }
  .delivery__services article, .delivery__services article:last-child { grid-column:auto; min-height:116px; }
  .contact-card { min-height:190px; padding:19px; }
  .subscribe { min-height:242px; margin-top:73px; padding:31px 7%; }
  .subscribe form { flex-direction:column; border:0; padding:0; }
  .subscribe input { height:47px; border:1px solid rgba(255,255,255,.16); border-radius:9px; }
  .footer__grid { grid-template-columns:1fr 1fr; gap:25px; padding:45px 0 32px; }
  .footer__grid > div:first-child { grid-column:1/-1; }
  .footer__grid > div:last-child { display:none; }
  .footer__bottom { flex-wrap:wrap; gap:7px; font-size:8px; }
  .quick-modal__card { grid-template-columns:1fr; max-height:90dvh; overflow:auto; }
  .quick-modal__image { min-height:0; }
  .quick-modal__body { padding:27px; }
  .chat-launcher { right:13px; bottom:13px; width:52px; min-height:52px; padding:0; justify-content:center; }
  .chat-launcher b { display:none; }
  .support-chat { right:8px; bottom:8px; width:calc(100% - 16px); height:min(610px,calc(100dvh - 16px)); border-radius:16px; }
  .toast { right:13px; bottom:76px; max-width:calc(100% - 26px); }
}
@media (max-width: 390px) {
  .brand span { font-size:10px; }
  .brand b { width:18px; height:18px; }
  .catalog-btn { width:35px; }
  .header-actions button { min-width:23px; }
  .search input { font-size:10px; }
  .hero { min-height:535px; }
  .product-card__bottom { align-items:flex-start; flex-direction:column; }
  .product-card__purchase { align-items:flex-start; }
  .cart-drawer__body, .favorites-drawer__body { padding-inline:16px; }
  .cart-drawer__checkout { padding:17px 16px 20px; }
  .cart-drawer__checkout input { font-size:16px; }
}
