:root {
  --up-black: #080808;
  --up-ink: #111111;
  --up-carbon: #191919;
  --up-steel: #6f6f6f;
  --up-line: rgba(255, 255, 255, 0.14);
  --up-light-line: #d8d8d4;
  --up-paper: #f0f0eb;
  --up-white: #ffffff;
  --up-orange: #ff5b17;
  --up-orange-hot: #ff7438;
  --up-shell: min(1440px, calc(100vw - 80px));
  --up-header-height: 92px;
  --up-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--up-paper);
  color: var(--up-ink);
  font-family: "Prompt", system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.up-menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
.up-shell { width: var(--up-shell); margin-inline: auto; }
.screen-reader-text,
.up-skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.up-skip-link:focus { z-index: 99999; position: fixed; top: 10px; left: 10px; padding: 12px 16px; background: #fff; color: #000; }

.up-announcement {
  position: relative;
  z-index: 30;
  padding: 8px 0;
  background: var(--up-orange);
  color: #080808;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .17em;
  text-align: center;
}

.up-header {
  position: sticky;
  top: 0;
  z-index: 25;
  height: var(--up-header-height);
  background: var(--up-black);
  color: var(--up-white);
  border-bottom: 1px solid var(--up-line);
  transition: height .35s var(--up-ease), box-shadow .35s ease;
}
.up-header.is-scrolled { box-shadow: 0 12px 40px rgba(0, 0, 0, .24); }
.up-header-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: 100%;
  column-gap: 36px;
}
.up-nav-list { display: flex; align-items: center; gap: clamp(22px, 2.3vw, 46px); margin: 0; padding: 0; list-style: none; }
.up-nav-right .up-nav-list { justify-content: center; }
.up-nav a {
  position: relative;
  padding: 12px 0;
  color: #fff;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .12em;
}
.up-nav a::after { content: ""; position: absolute; right: 0; bottom: 5px; left: 0; height: 1px; background: var(--up-orange); transform: scaleX(0); transform-origin: right; transition: transform .3s var(--up-ease); }
.up-nav a:hover::after, .up-nav .current-menu-item a::after { transform: scaleX(1); transform-origin: left; }
.up-brand { min-width: 210px; text-align: center; }
.up-brand a, .up-footer-brand { display: flex; flex-direction: column; align-items: center; line-height: 1; }
.up-brand-upper { display: block; color: #fff; font-size: 27px; font-weight: 700; letter-spacing: .22em; }
.up-brand-performance { display: block; margin-top: 7px; color: var(--up-orange); font-size: 8px; font-weight: 600; letter-spacing: .48em; }
.up-brand .custom-logo-link { display: block; }
.up-brand .custom-logo { width: auto; max-width: 230px; max-height: 58px; }
.up-header-actions { position: absolute; right: max(40px, calc((100vw - 1440px) / 2)); display: flex; align-items: center; gap: 14px; }
.up-icon-link { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; min-height: 34px; color: #fff; font-size: 17px; }
.up-cart-link { gap: 8px; font-size: 10px; font-weight: 600; letter-spacing: .12em; }
.up-cart-link b { display: grid; place-items: center; width: 19px; height: 19px; border-radius: 50%; background: var(--up-orange); color: #000; font-size: 9px; }
.up-menu-toggle, .up-mobile-menu { display: none; }

.up-hero { position: relative; min-height: min(790px, calc(100vh - 124px)); overflow: hidden; background: #0c0c0c; color: #fff; }
.up-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.52) 45%, rgba(0,0,0,.12) 76%), linear-gradient(0deg, rgba(0,0,0,.48), transparent 45%); }
.up-hero-media { position: absolute; inset: 0; display: grid; place-items: center; background-color: #111; background-position: center center; background-repeat: no-repeat; background-size: cover; color: rgba(255,255,255,.22); font-size: 10px; letter-spacing: .2em; }
.up-hero-media::after { content: ""; position: absolute; top: 0; right: 10%; bottom: 0; width: 1px; background: rgba(255,255,255,.1); }
.up-hero-content { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end; min-height: inherit; padding-top: 120px; padding-bottom: clamp(70px, 9vw, 130px); }
.up-kicker { margin: 0 0 18px; color: var(--up-orange); font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.up-hero h1, .up-section h2, .up-manifesto h2, .up-footer h2, .up-contact-band h2 {
  margin: 0;
  font-weight: 600;
  line-height: .98;
  letter-spacing: -.045em;
}
.up-hero h1 { max-width: 910px; font-size: clamp(54px, 7.2vw, 116px); }
.up-hero-content > p:not(.up-kicker) { max-width: 630px; margin: 28px 0 0; color: rgba(255,255,255,.72); font-size: clamp(15px, 1.4vw, 19px); font-weight: 300; }
.up-button-row { display: flex; align-items: center; gap: 32px; margin-top: 38px; }
.up-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px; border: 1px solid transparent; font-size: 11px; font-weight: 600; letter-spacing: .13em; transition: transform .3s var(--up-ease), background .3s ease, color .3s ease; }
.up-button:hover { transform: translateY(-2px); }
.up-button-primary { background: var(--up-orange); color: #050505; }
.up-button-primary:hover { background: var(--up-orange-hot); }
.up-button-light { background: #fff; color: #080808; }
.up-text-link { display: inline-block; border-bottom: 1px solid currentColor; color: inherit; font-size: 10px; font-weight: 600; letter-spacing: .14em; line-height: 2.2; }
.up-text-link:hover { color: var(--up-orange); }

.up-section { padding: clamp(90px, 10vw, 150px) 0; }
.up-index { margin: 0 0 22px; color: var(--up-steel); font-size: 10px; font-weight: 600; letter-spacing: .18em; }
.up-intro { background: var(--up-paper); }
.up-intro-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(70px, 11vw, 170px); align-items: end; }
.up-intro h2 { max-width: 720px; font-size: clamp(45px, 6vw, 88px); }
.up-intro-grid > div:last-child > p { max-width: 580px; margin: 0 0 28px; color: #3f3f3f; font-size: clamp(16px, 1.4vw, 20px); font-weight: 300; }
.up-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 48px; }
.up-section-heading h2 { font-size: clamp(40px, 5vw, 76px); }

.up-collections { background: #101010; color: #fff; }
.up-collections .up-index { color: rgba(255,255,255,.42); }
.up-collection-grid { display: grid; grid-template-columns: 1.2fr .8fr; grid-template-rows: repeat(2, minmax(290px, 38vh)); gap: 16px; }
.up-collection-card { position: relative; overflow: hidden; min-height: 320px; background: #1a1a1a; }
.up-collection-card:first-child { grid-row: 1 / span 2; }
.up-media-placeholder { position: absolute; inset: 0; display: grid; place-items: center; background-color: #1a1a1a; background-position: center center; background-repeat: no-repeat; background-size: cover; color: rgba(255,255,255,.18); font-size: 9px; letter-spacing: .2em; transition: transform .8s var(--up-ease), filter .8s ease; }
.up-collection-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.88), transparent 68%); }
.up-collection-card:hover .up-media-placeholder { transform: scale(1.035); filter: brightness(1.15); }
.up-card-copy { position: absolute; z-index: 2; right: 32px; bottom: 30px; left: 32px; display: grid; grid-template-columns: 1fr auto; align-items: end; }
.up-card-copy b { font-size: clamp(30px, 3.2vw, 56px); font-weight: 500; line-height: 1; letter-spacing: -.03em; }
.up-card-copy small { grid-column: 1; margin-top: 12px; color: rgba(255,255,255,.58); font-size: 11px; }
.up-card-copy i { grid-column: 2; grid-row: 1 / span 2; color: var(--up-orange); font-size: 10px; font-style: normal; font-weight: 600; letter-spacing: .12em; }

.up-featured { background: var(--up-paper); }
.up-product-placeholder-grid, .up-featured ul.products { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 0 !important; padding: 0; }
.up-product-placeholder, .up-featured li.product { width: auto !important; margin: 0 !important; list-style: none; }
.up-product-placeholder > span, .up-featured li.product img { display: grid; place-items: center; width: 100%; aspect-ratio: .82; margin: 0 0 18px !important; background: #dddcd6; color: #92928e; font-size: 9px; letter-spacing: .16em; object-fit: cover; }
.up-product-placeholder p, .up-featured .woocommerce-loop-product__title { margin: 0 !important; padding: 0 !important; font-size: 13px !important; font-weight: 500; letter-spacing: .02em; }
.up-product-placeholder small, .up-featured .price { display: block; margin-top: 6px !important; color: var(--up-steel) !important; font-size: 12px !important; }
.up-featured .button { display: none !important; }

.up-manifesto { padding: 0; background: var(--up-orange); color: #080808; }
.up-manifesto-grid { display: grid; grid-template-columns: 1fr 1fr; width: 100%; max-width: none; }
.up-manifesto-media { display: grid; place-items: center; min-height: 760px; background-color: #f4f4f2; background-position: center center; background-repeat: no-repeat; background-size: cover; color: rgba(255,255,255,.2); font-size: 9px; letter-spacing: .2em; }
.up-manifesto-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(70px, 8vw, 130px); }
.up-manifesto-copy .up-index { color: rgba(0,0,0,.52); }
.up-manifesto h2 { max-width: 720px; font-size: clamp(42px, 5vw, 78px); }
.up-value-list { margin-top: 54px; border-top: 1px solid rgba(0,0,0,.3); }
.up-value-list > div { display: grid; grid-template-columns: 50px 1fr; gap: 20px; padding: 21px 0; border-bottom: 1px solid rgba(0,0,0,.3); }
.up-value-list b { font-size: 10px; }
.up-value-list span { display: flex; justify-content: space-between; gap: 30px; }
.up-value-list strong { font-size: 12px; letter-spacing: .09em; }
.up-value-list small { max-width: 300px; font-size: 11px; }
.up-contact-band { background: var(--up-paper); }
.up-contact-band h2 { max-width: 980px; font-size: clamp(45px, 6.5vw, 96px); }

.up-page-hero { padding: clamp(85px, 10vw, 150px) 0 65px; background: #0b0b0b; color: #fff; }
.up-page-hero h1 { max-width: 1050px; margin: 0; font-size: clamp(50px, 7vw, 104px); font-weight: 600; line-height: .96; letter-spacing: -.045em; }
.up-page-content { min-height: 360px; padding-top: 75px; padding-bottom: 110px; }
.up-page-content > * { max-width: 820px; }
.up-page-content h2 { margin: 0 0 24px; font-size: clamp(31px, 4vw, 54px); line-height: 1.08; letter-spacing: -.035em; }
.up-page-content p { color: #454545; font-size: 17px; font-weight: 300; }
.up-shop-main { min-height: 70vh; padding: 75px 0 120px; }

.up-footer { padding-top: 85px; background: #090909; color: #fff; }
.up-footer-lead { display: flex; align-items: end; justify-content: space-between; gap: 40px; padding-bottom: 70px; border-bottom: 1px solid var(--up-line); }
.up-footer-lead h2 { max-width: 850px; font-size: clamp(46px, 6vw, 88px); }
.up-footer-grid { display: grid; grid-template-columns: 1.7fr .7fr .8fr 1fr; gap: 50px; padding: 70px 0; }
.up-footer-brand { align-items: flex-start; }
.up-footer-brand p { max-width: 350px; margin: 30px 0 0; color: rgba(255,255,255,.5); font-size: 12px; }
.up-footer h3 { margin: 0 0 22px; color: rgba(255,255,255,.42); font-size: 9px; font-weight: 600; letter-spacing: .18em; }
.up-footer ul { margin: 0; padding: 0; list-style: none; }
.up-footer li + li { margin-top: 10px; }
.up-footer li a { color: rgba(255,255,255,.74); font-size: 12px; }
.up-footer li a:hover { color: var(--up-orange); }
.up-footer-bottom { display: flex; justify-content: space-between; gap: 30px; padding: 20px 0 26px; border-top: 1px solid var(--up-line); color: rgba(255,255,255,.35); font-size: 8px; letter-spacing: .14em; }

/* Standard content and WooCommerce */
.up-main + .site-footer, .up-header + #page > header { display: none; }
.site-content, main.site-main, .woocommerce-page main { max-width: 1440px; margin: 0 auto; padding: 80px 40px; }
.woocommerce .woocommerce-breadcrumb { margin-bottom: 35px; color: var(--up-steel); font-size: 10px; letter-spacing: .1em; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 34px 16px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { float: none; width: auto; margin: 0; }
.woocommerce ul.products li.product img { aspect-ratio: .84; object-fit: cover; background: #dddcd6; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 13px; font-weight: 500; }
.woocommerce ul.products li.product .price { color: var(--up-steel); font-size: 12px; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
  border-radius: 0;
  background: var(--up-orange);
  color: #090909;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
}
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--up-orange); }
.woocommerce div.product .product_title { font-size: clamp(38px, 4.5vw, 68px); line-height: 1.03; letter-spacing: -.04em; }
.woocommerce div.product form.cart .variations select, .woocommerce input.input-text, .woocommerce textarea, .woocommerce select {
  min-height: 48px;
  padding: 10px 13px;
  border: 1px solid #c9c9c4;
  border-radius: 0;
  background: #fff;
}

@media (max-width: 1180px) {
  :root { --up-shell: min(100% - 48px, 1100px); }
  .up-nav { display: none; }
  .up-header-grid { grid-template-columns: 1fr auto 1fr; }
  .up-menu-toggle { display: grid; gap: 5px; justify-self: start; width: 34px; padding: 6px 0; border: 0; background: transparent; }
  .up-menu-toggle span:not(.screen-reader-text) { display: block; width: 24px; height: 1px; background: #fff; transition: transform .3s ease; }
  .up-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .up-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .up-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .up-header-actions { position: static; justify-self: end; }
  .up-mobile-menu { position: absolute; top: 100%; right: 0; left: 0; height: calc(100vh - var(--up-header-height)); padding: 45px 24px; background: #090909; }
  .up-mobile-menu:not([hidden]) { display: block; }
  .up-mobile-menu .up-nav-list { display: block; }
  .up-mobile-menu .up-nav-list + .up-nav-list { margin-top: 0; }
  .up-mobile-menu a { display: block; padding: 15px 0; border-bottom: 1px solid var(--up-line); color: #fff; font-size: clamp(24px, 6vw, 42px); font-weight: 500; letter-spacing: -.02em; }
  .up-manifesto-copy { padding: 70px 60px; }
  .up-footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .up-footer-grid > div:last-child { grid-column: 2; }
}

@media (max-width: 760px) {
  :root { --up-shell: calc(100% - 36px); --up-header-height: 74px; }
  .up-announcement { font-size: 8px; letter-spacing: .11em; }
  .up-brand { min-width: 150px; }
  .up-brand-upper { font-size: 20px; }
  .up-brand-performance { margin-top: 5px; font-size: 6px; }
  .up-icon-link:first-child, .up-cart-link > span { display: none; }
  .up-hero { min-height: 670px; }
  .up-hero::before { background: linear-gradient(0deg, rgba(0,0,0,.92), rgba(0,0,0,.12) 88%); }
  .up-hero-media { background-position: 58% center; }
  .up-hero-content { padding-bottom: 58px; }
  .up-hero h1 { font-size: clamp(48px, 15vw, 72px); }
  .up-button-row { align-items: flex-start; flex-direction: column; gap: 22px; }
  .up-section { padding: 82px 0; }
  .up-intro-grid, .up-manifesto-grid { grid-template-columns: 1fr; }
  .up-intro-grid { gap: 38px; }
  .up-section-heading { align-items: flex-start; flex-direction: column; margin-bottom: 34px; }
  .up-collection-grid { grid-template-columns: 1fr; grid-template-rows: none; }
  .up-collection-card, .up-collection-card:first-child { grid-row: auto; min-height: 430px; }
  .up-collection-card:not(:first-child) { min-height: 330px; }
  .up-card-copy { right: 22px; bottom: 22px; left: 22px; }
  .up-card-copy b { font-size: 35px; }
  .up-card-copy i { display: none; }
  .up-product-placeholder-grid, .up-featured ul.products, .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 30px 10px; }
  .up-manifesto-media { min-height: 480px; }
  .up-manifesto-copy { padding: 75px 18px; }
  .up-value-list span { flex-direction: column; gap: 6px; }
  .up-footer-lead { align-items: flex-start; flex-direction: column; }
  .up-footer-grid { grid-template-columns: 1fr 1fr; gap: 45px 24px; }
  .up-footer-brand { grid-column: 1 / -1; }
  .up-footer-grid > div:last-child { grid-column: auto; }
  .up-footer-bottom { flex-direction: column; }
  .site-content, main.site-main, .woocommerce-page main { padding: 50px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
