:root {
  --ink: #000;
  --paper: #fff;
  --line: #bcbcbc;
  --acid: #fff;
  --muted: #555;
}

.announcement { background: #fff; color: #000; }
.site-header, .mobile-nav { background: #000; color: #fff; }
.desktop-nav a:after { background: #fff; }
.brand-lockup { display: block; width: 205px; flex: none; }
.brand-lockup img { display: block; width: 100%; height: auto; }
.bag-button { color: #fff; }
.bag-count { background: #fff; color: #000; }
.menu-button span { background: #fff; }
.mobile-nav, .mobile-nav a { border-color: #555; }

.hero { background: #000; }
.hero-video {
  position: absolute;
  top: 50%;
  right: 0;
  z-index: -2;
  display: block;
  width: 68%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  transform: translateY(-50%);
  filter: brightness(1.12);
}
.hero-shade { display: none; }
.hero-content { max-width: 30vw; }
.hero h1 { font-family: var(--display); font-weight: 700; letter-spacing: -.055em; line-height: .78; }
.hero h1 span { color: #fff; }
.starburst { color: #fff; }
.video-toggle { padding: 8px 11px; border: 1px solid #fff9; background: #0005; color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .13em; }
.video-toggle:hover { background: #fff; color: #000; }
.hero-cta { background: #fff; color: #000; }
.hero-cta:hover { background: #fff; }
.motion-band { background: #fff; color: #000; }
.section-heading h2 .period { color: #000; }
.section-intro { color: #555; }
.product-image-wrap { background: #eee; }
.product-tag { display: none; }
.add-button { background: #000; border-color: #000; }
.add-button:hover { background: #fff; color: #000; }

.collection { padding-bottom: 90px; }
.section-heading { align-items: end; }
.section-heading h2 { font-size: clamp(66px, 7.4vw, 116px); }
.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 42px 22px; }
.product-image-wrap { height: auto; aspect-ratio: 2 / 3; }
.product-image-wrap .product-front,
.product-image-wrap .product-back { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: opacity .45s, transform .7s cubic-bezier(.2,.7,.2,1); }
.product-image-wrap .product-back { opacity: 0; }
.product-image-wrap.is-back .product-front { opacity: 0; }
.product-image-wrap.is-back .product-back { opacity: 1; }
.product-card:hover .product-image-wrap img { transform: scale(1.025); }
.image-flip { position: absolute; z-index: 2; left: 18px; bottom: 17px; border: 0; background: #fff; color: #000; padding: 11px 13px; font-family: var(--body); font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.image-flip span { margin-left: 9px; }
.image-flip:hover, .image-flip:focus-visible { background: #000; color: #fff; }
.product-details { display: block; padding: 17px 0 22px; }
.product-details h3 { font-size: clamp(28px, 2.6vw, 37px); }
.product-enquiry { margin: 4px 0 0; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.product-actions { margin-top: 17px; }
.collection-end { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid #000; margin-top: 62px; padding-top: 15px; font-size: 10px; font-weight: 800; letter-spacing: .16em; }

.lookbook { background: #fff; color: #000; padding: 40px 0 100px; }
.lookbook-heading { display: grid; grid-template-columns: minmax(0, 2fr) minmax(230px, .65fr); align-items: end; gap: 40px; border-top: 1px solid #000; padding-top: 25px; margin-bottom: 45px; }
.lookbook-heading .eyebrow { grid-column: 1 / -1; margin: 0; }
.lookbook-heading h2 { font-family: var(--display); font-size: clamp(76px, 8.5vw, 138px); line-height: .8; letter-spacing: -.052em; margin: 20px 0 0; }
.lookbook-heading p:last-child { font-size: 14px; line-height: 1.6; max-width: 310px; margin: 0 0 3px; }
.lookbook-gallery { display: grid; grid-template-columns: 1.5fr .8fr .8fr; align-items: end; gap: 16px; }
.lookbook-gallery figure { margin: 0; min-width: 0; overflow: hidden; }
.lookbook-gallery img { width: 100%; height: auto; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.lookbook-gallery figure:hover img { transform: scale(1.035); }
.lookbook-wide img { aspect-ratio: 1.5; }
.lookbook-tall img { aspect-ratio: .71; }
.lookbook-small img { aspect-ratio: .78; }
.lookbook-gallery figcaption { border-top: 1px solid #000; padding-top: 11px; margin-top: 10px; font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.lookbook-end { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid #000; margin-top: 40px; padding-top: 16px; font-size: 11px; font-weight: 800; letter-spacing: .13em; }
.lookbook-end a { border-bottom: 1px solid #000; padding-bottom: 8px; }

.story { background: #000; color: #fff; }
.story h2 span { color: #fff; }
.story-top .tiny-square { background: #fff; }
.story-bottom a { border-color: #fff; }
.story-outline { -webkit-text-stroke-color: #ffffff2b; }
.footer { background: #000; color: #fff; }
.delivery-banner { display: flex; align-items: center; justify-content: center; gap: 14px; min-height: 86px; margin-bottom: 58px; border: 1px solid #fff; font-family: var(--display); font-size: clamp(25px, 3vw, 40px); letter-spacing: .05em; }
.delivery-banner svg { width: 34px; height: 34px; fill: none; stroke: #fff; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.footer-logo { display: block; width: min(520px, 65vw); }
.footer-logo img { display: block; width: 100%; height: auto; }
.footer-actions { display: flex; align-items: end; gap: clamp(30px, 5vw, 85px); }
.social-group { display: flex; flex-direction: column; gap: 13px; }
.social-heading { font-size: 11px; font-weight: 700; letter-spacing: .15em; }
.social-icons { display: flex; align-items: center; gap: 20px; }
.social-icon { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; color: #fff; }
.social-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.social-icon .icon-dot { fill: #fff; stroke: none; }
.social-icon.facebook svg { fill: #fff; stroke: none; }
.back-top { border-color: #fff; }
.footer-bottom { border-color: #555; color: #fff; }
.continue-button { background: #000; }
.toast { background: #fff; color: #000; }
:focus-visible { outline-color: #000; }
.site-header :focus-visible, .hero :focus-visible, .story :focus-visible, .footer :focus-visible { outline-color: #fff; }

@media (max-width: 900px) {
  .hero { display: flex; flex-direction: column; height: auto; min-height: 0; max-height: none; overflow: hidden; }
  .hero-video { position: relative; inset: auto; z-index: 0; order: 0; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; transform: none; flex: none; background: #000; }
  .hero-topline { position: static; order: 1; padding: 20px 20px 0; }
  .hero-content { position: static; order: 2; transform: none; max-width: none; padding: 48px 20px 30px; }
  .hero-bottomline { position: static; order: 3; padding: 0 20px 25px; }
  .products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lookbook-heading { grid-template-columns: 1fr; gap: 16px; }
  .lookbook-heading .eyebrow { grid-column: auto; }
  .lookbook-gallery { grid-template-columns: 1fr 1fr; }
  .lookbook-wide { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  .brand-lockup { width: 163px; }
  .products { grid-template-columns: 1fr; gap: 30px; }
  .product-image-wrap { height: auto; }
  .product-details { display: flex; }
  .product-actions { margin-top: 0; }
  .lookbook { padding-bottom: 75px; }
  .lookbook-heading h2 { font-size: clamp(64px, 13vw, 90px); }
  .footer-logo { width: min(360px, 70vw); }
}

@media (max-width: 460px) {
  .brand-lockup { width: 148px; }
  .hero-bottomline { justify-content: space-between; align-items: center; }
  .hero-bottomline span:first-child { display: inline; }
  .product-details { display: block; }
  .product-actions { margin-top: 17px; }
  .collection-end, .lookbook-end { flex-direction: column; gap: 12px; }
  .delivery-banner { min-height: 72px; gap: 10px; font-size: 25px; }
  .delivery-banner svg { width: 28px; height: 28px; }
  .footer-logo { width: min(320px, 90vw); }
  .footer-actions { margin-top: 28px; justify-content: space-between; align-items: end; }
}

/* CMS additions */
.product-price { margin: 9px 0 2px; font: 800 18px/1 "DM Sans", Arial, sans-serif; letter-spacing: -.02em; }
.products-loading { grid-column: 1 / -1; padding: 80px 0; font: 700 14px/1.4 "DM Sans", Arial, sans-serif; letter-spacing: .12em; text-align: center; }
.admin-link { color: inherit; text-decoration: none; opacity: .58; transition: opacity .2s; }
.admin-link:hover { opacity: 1; }
.add-button:disabled { opacity: .4; cursor: not-allowed; }


/* Product detail links */
.product-image-link { position: absolute; inset: 0; z-index: 1; display: block; cursor: zoom-in; }
.product-image-link img { width: 100%; height: 100%; }
.gallery-open { z-index: 3; text-decoration: none; display: inline-flex; align-items: center; }
.image-corner { z-index: 3; pointer-events: none; }
