:root {
  --ur-navy: #082642;
  --ur-deep: #041f38;
  --ur-red: #df202b;
  --ur-text: #233f58;
  --ur-muted: #647588;
  --ur-paper: #fbfaf7;
  --ur-line: #deded9;
}

.ur-page {
  width: 100%;
  overflow: hidden;
  color: var(--ur-navy);
  background: var(--ur-paper);
  font-family: Inter, Arial, sans-serif;
}

.ur-page *, .ur-page *::before, .ur-page *::after { box-sizing: border-box; }
.ur-page img { display: block; max-width: none; }
.ur-page a { text-decoration: none; }
.ur-visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Header */
.ur-header {
  position: relative;
  z-index: 20;
  height: clamp(66px, 8.95vw, 116px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(108px, 16.6vw, 245px) minmax(0, 1fr);
  align-items: center;
  padding: 0 clamp(20px, 4.05vw, 78px);
  background: #fff;
  border-bottom: 1px solid #ecebe7;
}

.ur-nav { display: flex; align-items: center; min-width: 0; gap: clamp(14px, 2.55vw, 47px); white-space: nowrap; }
.ur-nav-right { justify-content: flex-end; gap: clamp(11px, 2.05vw, 38px); }
.ur-nav a { position: relative; color: #172f47; font-size: clamp(11px, .82vw, 13px); font-weight: 700; line-height: 1; }
.ur-nav a:hover, .ur-nav a.is-active { color: var(--ur-red); }
.ur-nav a.is-active::after { content: ''; position: absolute; left: 0; right: 0; bottom: clamp(-17px, -1.9vw, -9px); height: 2px; background: var(--ur-red); }
.ur-brand { display: flex; align-items: center; justify-content: center; }
.ur-brand img { width: clamp(120px, 14.9vw, 222px); height: auto; }
.ur-request-top { padding: clamp(9px, 1.15vw, 16px) clamp(10px, 1.25vw, 21px); border: 1px solid #e33138; border-radius: 3px; }
.ur-request-top::after { display: none; }
.ur-menu-button, .ur-mobile-nav { display: none; }

/* Hero */
.ur-hero { position: relative; min-height: clamp(280px, 33.45vw, 580px); height: auto; overflow: hidden; isolation: isolate; background: #f2f0eb; }
.ur-hero-photo { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.ur-hero::after { content: ''; position: absolute; z-index: -1; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(250,249,246,.35), rgba(250,249,246,.04) 49%, transparent 70%); }
.ur-hero-copy { position: relative; margin: clamp(40px, 6vw, 100px) clamp(30px, 6.8vw, 132px); width: min(90%, 650px); }
.ur-hero h1 { margin: 0 0 clamp(10px, 1.25vw, 22px); color: var(--ur-navy); font-size: clamp(32px, 4.02vw, 64px); font-weight: 800; letter-spacing: -.035em; line-height: 1.06; }
.ur-hero p { margin: 0; color: #496178; font-size: clamp(13px, 1.2vw, 17px); line-height: 1.55; }

.ur-search { position: relative; display: block; }
.ur-search-icon { position: absolute; left: clamp(11px, 1.45vw, 21px); top: 50%; width: clamp(13px, 1.75vw, 24px); height: clamp(13px, 1.75vw, 24px); transform: translateY(-53%); border: clamp(1.5px, .18vw, 2px) solid #667c91; border-radius: 50%; pointer-events: none; }
.ur-search-icon::after { content: ''; position: absolute; right: -36%; bottom: -26%; width: 46%; height: 2px; background: #667c91; transform: rotate(45deg); transform-origin: left center; }
.ur-search input { width: 100%; color: #344b62; background: rgba(255,255,255,.9); border: 1px solid #d8d8d5; border-radius: 5px; outline: 0; font: inherit; }
.ur-search input:focus { border-color: var(--ur-red); box-shadow: 0 0 0 2px rgba(223,32,43,.12); }
.ur-search input::placeholder { color: #92999f; opacity: 1; }

/* Search and category toolbar */
.ur-filter { position: relative; z-index: 12; padding: clamp(10px, 1vw, 15px) 0; background: #fff; border-bottom: 1px solid #e6e5e1; box-shadow: 0 4px 10px rgba(20,35,50,.08); }
.ur-filter-inner { width: calc(100% - clamp(32px, 6.7vw, 130px)); max-width: 1800px; min-height: clamp(42px, 5.2vw, 68px); display: grid; grid-template-columns: auto minmax(175px, 1fr) auto; align-items: center; gap: clamp(10px, 1.2vw, 18px); margin: 0 auto; padding: clamp(6px, .67vw, 10px) clamp(10px, 1.1vw, 17px); background: #fff; border: 1px solid #e1e2e2; border-radius: 5px; box-shadow: 0 2px 8px rgba(8,38,66,.08); }
.ur-count { color: #213f5b; font-size: clamp(11px, .88vw, 13px); white-space: nowrap; }
.ur-search--bar { min-width: 0; }
.ur-search--bar .ur-search-icon { left: clamp(9px, 1vw, 15px); width: clamp(12px, 1.25vw, 17px); height: clamp(12px, 1.25vw, 17px); border-width: 1.4px; }
.ur-search--bar input { height: clamp(32px, 3.35vw, 45px); padding: 0 10px 0 clamp(32px, 3.6vw, 49px); font-size: clamp(11px, .73vw, 12px); }
.ur-tabs { display: flex; align-items: center; gap: clamp(6px, .7vw, 11px); }
.ur-tabs button { height: clamp(30px, 3.35vw, 45px); padding: 0 clamp(10px, 1.05vw, 17px); color: #41566c; background: #fff; border: 1px solid #dcdedc; border-radius: 4px; font: inherit; font-size: clamp(11px, .7vw, 12px); font-weight: 600; white-space: nowrap; cursor: pointer; }
.ur-tabs button:hover { border-color: #e13a43; color: var(--ur-red); }
.ur-tabs button.is-active { color: #fff; background: var(--ur-red); border-color: var(--ur-red); }

/* Product catalogue */
.ur-catalog { width: calc(100% - clamp(32px, 8.15vw, 156px)); max-width: 1760px; margin: 0 auto; padding: clamp(16px, 1.55vw, 26px) 0 clamp(20px, 1.8vw, 30px); }
.ur-category { margin: 0 0 clamp(18px, 1.6vw, 27px); scroll-margin-top: 80px; }
.ur-category h2 { position: relative; display: flex; align-items: baseline; gap: clamp(8px, .82vw, 13px); margin: 0 0 clamp(12px, 1.1vw, 18px); color: #153654; font-size: clamp(18px, 1.85vw, 28px); font-weight: 800; line-height: 1.12; }
.ur-category h2::before { content: ''; position: absolute; top: clamp(-9px, -1vw, -5px); left: 0; width: clamp(13px, 1.7vw, 27px); height: 2px; background: var(--ur-red); }
.ur-category h2 span { color: var(--ur-red); font-size: 1.15em; font-weight: 900; }
.ur-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.3vw, 24px); }
.ur-product-card { min-width: 0; display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid #dedfdd; border-radius: clamp(6px, .72vw, 11px); box-shadow: 0 1px 3px rgba(13,38,60,.04); transition: transform .2s ease, box-shadow .2s ease; }
.ur-product-card:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(13,38,60,.08); }
.ur-product-image { position: relative; width: 100%; aspect-ratio: 16 / 10.5; overflow: hidden; background: #edece8; }
.ur-product-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .28s ease; }
.ur-product-copy { min-width: 0; display: flex; flex-direction: column; justify-content: flex-start; padding: clamp(10px, .9vw, 15px) clamp(12px, 1.1vw, 18px) clamp(12px, 1.1vw, 18px); }
.ur-product-copy h3 { margin: 0 0 clamp(4px, .35vw, 6px); overflow: hidden; color: #163754; font-size: clamp(13px, 1.02vw, 16px); font-weight: 800; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.ur-product-copy p { margin: 0; overflow: hidden; color: #526a7f; font-size: clamp(11.5px, .8vw, 13px); line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.ur-product-card:hover .ur-product-image img { transform: scale(1.03); }

.ur-product-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ur-product-card--wide { display: flex; flex-direction: column; }
.ur-product-card--wide .ur-product-image { aspect-ratio: 16 / 10; }

.ur-product-grid--compact { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(10px, .82vw, 14px) clamp(10px, 1.18vw, 21px); }
.ur-product-card--compact { min-height: clamp(80px, 7.95vw, 136px); height: auto; display: grid; grid-template-columns: 32% minmax(0, 68%); grid-template-rows: 1fr; border-radius: clamp(4px, .58vw, 9px); }
.ur-product-card--compact .ur-product-image { border-right: 1px solid #e4e3df; min-height: 80px; }
.ur-product-card--compact .ur-product-image img { object-fit: cover; }
.ur-product-card--compact .ur-product-copy { padding: clamp(6px, .65vw, 10px) clamp(8px, .86vw, 14px); }
.ur-product-card--compact .ur-product-copy h3 { font-size: clamp(11.5px, .83vw, 13px); }
.ur-product-card--compact .ur-product-copy p { font-size: clamp(10.5px, .7vw, 11px); white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.ur-empty { margin: 30px 0; padding: 30px; color: #5c6f80; border: 1px solid var(--ur-line); text-align: center; }

/* CTA */
.ur-cta { position: relative; min-height: clamp(200px, 18.7vw, 320px); height: auto; overflow: hidden; border: 1px solid #deddd9; border-radius: clamp(6px, .85vw, 13px); isolation: isolate; }
.ur-cta > img { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ur-cta-copy { position: relative; margin: clamp(30px, 4vw, 50px) clamp(30px, 5vw, 80px); width: min(90%, 550px); }
.ur-cta-copy h2 { margin: 0 0 clamp(8px, .75vw, 12px); color: #143754; font-size: clamp(22px, 2.25vw, 34px); font-weight: 800; letter-spacing: -.025em; line-height: 1.1; }
.ur-cta-copy p { margin: 0 0 clamp(12px, 1.2vw, 20px); color: #526679; font-size: clamp(12px, 1.2vw, 14px); line-height: 1.5; }
.ur-cta-copy a { display: inline-flex; align-items: center; justify-content: center; min-width: clamp(140px, 13.2vw, 205px); height: clamp(40px, 3.45vw, 50px); padding: 0 20px; color: #fff; background: var(--ur-red); border-radius: 3px; font-size: clamp(12px, .83vw, 13px); font-weight: 700; }
.ur-cta-copy a:hover { background: #bd1822; }

/* Footer */
.ur-footer { min-height: clamp(255px, 34.55vw, 390px); height: auto; overflow: hidden; padding: clamp(24px, 2.5vw, 39px) clamp(19px, 3.8vw, 72px) clamp(13px, 1.7vw, 26px); color: #fff; background: radial-gradient(circle at 48% 0%, #0c385f, #062743 53%, #051e36 100%); }
.ur-footer-grid { display: grid; grid-template-columns: 1.25fr .82fr 1.06fr .98fr .87fr 1.05fr .73fr; gap: clamp(12px, 1.7vw, 31px); }
.ur-footer-grid > div { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
.ur-footer-brand img { width: clamp(110px, 12.4vw, 185px); height: auto; margin: 0 0 clamp(8px, 1.05vw, 16px); }
.ur-footer h2 { margin: 0 0 clamp(7px, .95vw, 15px); color: #fff; font-size: clamp(12px, .84vw, 13px); font-weight: 800; text-transform: none; }
.ur-footer p, .ur-footer a { margin: 0 0 clamp(5px, .64vw, 10px); color: rgba(255,255,255,.79); font-size: clamp(11px, .72vw, 12px); line-height: 1.38; }
.ur-footer a:hover { color: #fff; }
.ur-footer-social > div { display: flex; gap: clamp(7px, .9vw, 14px); }
.ur-footer-social > div a { display: flex; align-items: center; justify-content: center; width: clamp(18px, 1.8vw, 26px); height: clamp(18px, 1.8vw, 26px); margin: 0; color: #fff; border: 1px solid rgba(255,255,255,.8); border-radius: 3px; font-size: clamp(10px, .88vw, 13px); font-weight: 800; }
.ur-footer-bottom { margin-top: 20px; display: flex; align-items: flex-end; justify-content: space-between; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.14); }
.ur-footer-bottom span, .ur-footer-bottom a { margin: 0; color: rgba(255,255,255,.72); font-size: clamp(11px, .73vw, 12px); }

@media (min-width: 1800px) {
  .ur-hero-copy { margin-left: max(7vw, calc((100vw - 1760px) / 2)); }
}

@media (max-width: 1100px) and (min-width: 681px) {
  .ur-filter-inner { grid-template-columns: auto minmax(180px, 1fr); }
  .ur-tabs { grid-column: 1 / -1; justify-content: center; }
}

@media (max-width: 680px) {
  .ur-header { height: 72px; grid-template-columns: 1fr auto; padding: 0 22px; }
  .ur-brand { justify-content: flex-start; }
  .ur-brand img { width: 124px; }
  .ur-nav { display: none; }
  .ur-menu-button { display: inline-flex; align-items: center; justify-self: end; gap: 8px; padding: 8px 0; color: var(--ur-navy); background: transparent; border: 0; font: inherit; cursor: pointer; }
  .ur-menu-button b { font-size: 10px; text-transform: uppercase; }
  .ur-menu-lines { width: 22px; display: grid; gap: 4px; }
  .ur-menu-lines i { display: block; width: 100%; height: 1px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
  .ur-menu-button[aria-expanded='true'] .ur-menu-lines i:first-child { transform: translateY(5px) rotate(45deg); }
  .ur-menu-button[aria-expanded='true'] .ur-menu-lines i:nth-child(2) { opacity: 0; }
  .ur-menu-button[aria-expanded='true'] .ur-menu-lines i:last-child { transform: translateY(-5px) rotate(-45deg); }
  .ur-mobile-nav { position: absolute; z-index: 30; top: 67px; left: 18px; right: 18px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); visibility: hidden; opacity: 0; transform: translateY(-7px); transition: .2s ease; box-shadow: 0 14px 30px rgba(3,26,48,.2); }
  .ur-mobile-nav.is-open { visibility: visible; opacity: 1; transform: none; }
  .ur-mobile-nav a { padding: 13px 11px; color: #fff; background: #082b4b; border: 1px solid rgba(255,255,255,.09); font-size: 10px; font-weight: 700; }
  .ur-mobile-nav a.is-active { color: #ff6269; }

  .ur-hero { height: 530px; }
  .ur-hero-photo { object-position: 67% center; }
  .ur-hero::after { background: linear-gradient(90deg, rgba(249,247,242,.98) 0%, rgba(249,247,242,.87) 52%, rgba(249,247,242,.15) 100%); }
  .ur-hero-copy { left: 24px; right: 24px; top: 50%; width: auto; }
  .ur-hero h1 { font-size: clamp(33px, 9.5vw, 48px); }
  .ur-hero p { max-width: 370px; font-size: 12px; }
  .ur-large-only { display: none; }
  .ur-filter { padding: 10px 0; }
  .ur-filter-inner { width: calc(100% - 28px); grid-template-columns: 1fr; gap: 8px; padding: 10px; }
  .ur-count { font-size: 11px; }
  .ur-search--bar input { height: 38px; font-size: 10px; }
  .ur-tabs { grid-column: auto; justify-content: flex-start; overflow-x: auto; padding-bottom: 2px; scrollbar-width: thin; }
  .ur-tabs button { height: 36px; padding: 0 13px; font-size: 9px; }

  .ur-catalog { width: calc(100% - 28px); padding-top: 24px; }
  .ur-category { margin-bottom: 30px; }
  .ur-category h2 { margin-bottom: 14px; font-size: 19px; }
  .ur-product-grid, .ur-product-grid--two { grid-template-columns: 1fr; gap: 14px; }
  .ur-product-card, .ur-product-card--wide { height: auto; min-height: 0; display: flex; flex-direction: column; }
  .ur-product-image { aspect-ratio: 16 / 10; }
  .ur-product-copy { padding: 12px 14px 14px; }
  .ur-product-copy h3 { font-size: 14px; margin-bottom: 4px; }
  .ur-product-copy p { font-size: 11.5px; }
  .ur-product-grid--compact { grid-template-columns: 1fr; gap: 9px; }
  .ur-product-card--compact { height: 82px; grid-template-columns: 31% 69%; }
  .ur-product-card--compact .ur-product-copy h3 { font-size: 12px; }
  .ur-product-card--compact .ur-product-copy p { font-size: 9px; }

  .ur-cta { height: 295px; }
  .ur-cta > img { object-position: 31% center; opacity: .42; }
  .ur-cta::after { content: ''; position: absolute; z-index: -1; inset: 0; background: rgba(250,248,244,.52); }
  .ur-cta-copy { left: 24px; right: 24px; top: 50%; width: auto; }
  .ur-cta-copy h2 { font-size: 28px; }
  .ur-cta-copy p { max-width: 400px; font-size: 11px; }
  .ur-cta-copy a { min-width: 145px; height: 42px; font-size: 10px; }

  .ur-footer { height: auto; min-height: 0; padding: 30px 24px 20px; }
  .ur-footer-grid { height: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 18px; overflow: visible; }
  .ur-footer-brand { grid-column: 1 / -1; }
  .ur-footer-brand img { width: 150px; }
  .ur-footer h2 { font-size: 12px; }
  .ur-footer p, .ur-footer a { font-size: 10px; }
  .ur-footer-social > div a { width: 27px; height: 27px; font-size: 12px; }
  .ur-footer-bottom { height: auto; align-items: flex-start; gap: 18px; margin-top: 28px; padding-top: 18px; }
  .ur-footer-bottom span, .ur-footer-bottom a { font-size: 9px; }
}

@media (max-width: 420px) {
  .ur-hero { height: 500px; }
  .ur-hero-copy { left: 20px; right: 20px; }
  .ur-footer-grid { grid-template-columns: 1fr; }
  .ur-footer-brand { grid-column: auto; }
  .ur-footer-bottom { flex-direction: column; }
}
