:root {
  --serif: "PT Serif", "Palatino Linotype", Georgia, serif;
  --sans: "Golos Text", "Segoe UI", Arial, sans-serif;
}

body {
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: -0.01em;
}

.site-header {
  letter-spacing: 0;
}

.desktop-nav {
  font-size: 12px;
  font-weight: 500;
}

.wordmark {
  font-family: var(--sans);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.045em;
  line-height: 1;
}

.wordmark small {
  font-size: 7px;
  font-weight: 500;
  letter-spacing: 0.17em;
  margin-top: 6px;
}

.footer-brand {
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.09em;
}

.eyebrow {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
}

.hero-content {
  max-width: 690px;
}

.hero h1 {
  font-family: var(--serif);
  font-size: clamp(46px, 5.8vw, 76px);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -0.035em;
}

.hero-sub {
  font-size: 14px;
  line-height: 1.75;
}

.button {
  font-size: 12px;
  font-weight: 500;
}

.section-heading h2,
.category-tile h3,
.builder-copy h2,
.brand-section h2,
.product-modal-copy h2,
.checkout-modal h2,
.builder-modal h2,
.success-state h2 {
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -0.025em;
}

.product-name {
  font-size: 19px;
  line-height: 1.22;
  letter-spacing: -0.02em;
}

.product-meta {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.09em;
}

.product-price {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
}

.filter-group h4,
.filter-group label,
.catalog-toolbar,
.drawer,
.checkout-form,
.builder-form {
  font-family: var(--sans);
}

@media (max-width: 700px) {
  .wordmark {
    font-size: 16px;
    letter-spacing: 0.035em;
  }

  .wordmark small {
    font-size: 6px;
    letter-spacing: 0.12em;
  }

  .hero h1 {
    font-size: clamp(42px, 10vw, 58px);
    line-height: 1.05;
  }

  .hero-sub {
    font-size: 13px;
  }

  .section-heading h2,
  .builder-copy h2,
  .brand-section h2 {
    letter-spacing: -0.03em;
  }

  .product-name {
    font-size: 16px;
  }
}

@media (max-width: 360px) {
  .wordmark {
    font-size: 14px;
  }

  .wordmark small {
    font-size: 5px;
  }
}

/* Keep the desktop navigation clear of the centered wordmark. */
.site-header {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}

.desktop-nav {
  min-width: 0;
  flex-wrap: nowrap;
  white-space: nowrap;
  gap: clamp(8px, 0.9vw, 13px);
  font-size: clamp(9px, 0.78vw, 10px);
}

.review-byline span {
  color: var(--ink);
  white-space: nowrap;
}

@media (max-width: 1100px) and (min-width: 641px) {
  .site-header {
    height: 70px;
    grid-template-columns: 40px minmax(0, 1fr) 110px;
    padding: 0 20px;
  }

  .menu-toggle {
    display: block;
    justify-self: start;
  }

  .desktop-nav {
    display: none;
  }

  .wordmark {
    justify-self: center;
  }

  .header-actions {
    gap: 8px;
  }

  .mobile-menu {
    display: flex;
    position: fixed;
    z-index: 16;
    left: 0;
    right: 0;
    top: 70px;
    background: var(--paper);
    padding: 0 22px;
    max-height: 0;
    overflow: hidden;
    flex-direction: column;
    transition: max-height 0.25s, padding 0.25s;
  }

  .mobile-menu.open {
    max-height: 390px;
    padding: 10px 22px 20px;
    border-bottom: 1px solid var(--line);
  }

  .mobile-menu a {
    padding: 13px 0;
    border-bottom: 1px solid var(--line);
    font-size: 12px;
  }

  .search-bar {
    top: 70px;
  }
}

/* Product order form */
.product-order-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.product-order-fields label{display:grid;gap:6px;color:#65675f;font-size:10px}
.product-order-fields input,.product-order-fields select{width:100%;min-width:0;padding:12px;background:var(--white);border:1px solid var(--line);outline-color:var(--sage);font:inherit;font-size:12px;color:var(--ink)}
.product-modal-copy .telegram-note{margin:10px 0 0;font-size:10px;color:#777971}
.product-modal-copy .cart-add-button{margin-top:10px}
@media(max-width:640px){.product-order-fields{gap:9px}.product-order-fields input,.product-order-fields select{padding:11px;font-size:12px}}

/* Product gallery, options and service details */
.product-gallery{min-width:0;align-self:start}
.product-main-photo{position:relative;background:#e8e5dc;overflow:hidden}
.product-main-photo>img{display:block;width:100%;height:490px;object-fit:cover}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:50%;background:rgba(250,249,245,.92);font:28px/1 var(--sans);color:var(--ink)}
.gallery-arrow.previous{left:12px}.gallery-arrow.next{right:12px}
.gallery-counter{position:absolute;right:12px;bottom:12px;background:rgba(250,249,245,.92);padding:6px 9px;font-size:10px}
.gallery-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:10px 0 2px}
.gallery-thumb{border:1px solid transparent;padding:0;background:transparent;flex:0 0 62px;height:76px;overflow:hidden}
.gallery-thumb.selected{border-color:#555b4f}.gallery-thumb img{width:100%;height:100%;object-fit:cover}
.product-modal-copy .product-colors{margin:14px 0 18px}.product-colors h3{font-size:11px;font-weight:500;margin:0 0 9px}
.color-variants{display:flex;flex-wrap:wrap;gap:7px}.color-variant{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;background:transparent;border:1px solid var(--line);font-size:10px}.color-variant.selected{border-color:#34382f;background:#eeece4}.color-dot{display:inline-block;flex:0 0 15px;width:15px;height:15px;border:1px solid rgba(0,0,0,.12);border-radius:50%}.single-color{display:flex;align-items:center;gap:8px;font-size:11px}
.product-modal-copy .product-order-fields{margin-top:12px}.product-modal-copy .product-info-accordions{margin-top:22px;border-top:1px solid var(--line)}
.product-info-accordions details{border-bottom:1px solid var(--line)}.product-info-accordions summary{cursor:pointer;list-style:none;padding:14px 20px 14px 0;font-size:11px;position:relative}.product-info-accordions summary::-webkit-details-marker{display:none}.product-info-accordions summary:after{content:'+';position:absolute;right:3px;top:11px;font-size:17px;color:#777971}.product-info-accordions details[open] summary:after{content:'−'}.detail-copy{padding:0 0 12px;color:#777971;font-size:10px;line-height:1.7}.detail-copy p{margin:0 0 7px}.product-modal-copy .telegram-note{font-size:10px}
@media(max-width:640px){.product-gallery{width:100%}.product-main-photo>img{height:min(84vw,360px)}.gallery-thumbnails{gap:6px}.gallery-thumb{flex-basis:54px;height:65px}.product-modal-copy .product-colors{margin:10px 0 14px}.product-info-accordions{margin-top:17px}.color-variant{padding:6px;font-size:9px}}

/* Keep product actions reachable in short and narrow viewports */
.product-modal-copy{align-self:stretch;display:flex;flex-direction:column;min-width:0}
.product-modal-actions{position:sticky;bottom:-22px;z-index:5;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 0 4px;background:linear-gradient(180deg,rgba(245,243,237,.92),var(--paper) 20%)}
.product-modal-actions .button{width:100%;min-width:0;min-height:44px;margin:0!important;padding:11px 9px;font-size:10px;line-height:1.25}
.product-modal-copy .cart-add-button{margin-top:0}
.product-main-photo>img{height:490px;object-fit:contain;background:#eeece5}
@media(max-width:800px){.product-modal{grid-template-columns:1fr;gap:12px;align-items:start}.product-gallery{width:100%}.product-main-photo>img{height:min(42vh,330px);min-height:190px}.product-modal-copy{padding:0 4px 4px}.product-modal-copy h2{font-size:clamp(28px,7vw,36px);line-height:1.08}.product-modal-actions{bottom:-20px;margin:0 -4px;padding:10px 4px 4px;grid-template-columns:1fr 1fr}.product-modal-actions .button{font-size:10px}}
@media(max-width:640px){.product-photo img{object-fit:contain;transform:none!important}.product-card:hover .product-photo img{transform:none}.product-main-photo>img{height:min(44vh,310px)}.gallery-thumbnails{gap:6px}.gallery-thumb{flex-basis:54px;height:65px}}

#modal>.modal-close{position:sticky;top:0;float:right;z-index:8;display:grid;place-items:center;width:38px;height:38px;margin:0 0 -38px auto;background:rgba(245,243,237,.96);border:1px solid var(--line);border-radius:5px}

/* Catalog photos use the portrait ratio of the source product images. */
.product-photo{aspect-ratio:3 / 4;height:auto!important;max-height:none!important}
.product-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}

/* Mobile catalog: full-width cards keep names and product photos readable. */
@media(max-width:640px){.product-grid{grid-template-columns:minmax(0,1fr);gap:30px}.product-photo{aspect-ratio:3 / 4}.product-name{font-size:19px;min-height:0}.product-meta{font-size:8px}.product-price{font-size:11px}.quick-add{font-size:10px;padding:11px}}
