/** Shopify CDN: Minification failed

Line 307:0 Expected "}" to go with "{"

**/
/* ==========================================================
   filthy. — brand layer on top of Dawn
   Permanent brand colors: ivory, espresso, beige, terracotta.
   Collection colors live only in product imagery and swatches.
   ========================================================== */

:root {
  --f-ivory: #F5F2E6;
  --f-beige: #EDE9D1;
  --f-espresso: #2A1E17;
  --f-terracotta: #C0563D;
  --f-terracotta-deep: #9E4430;
  --f-muted: #4A4636;
  --f-soft: #6B6754;
  --f-line: #D6D0B6;
  --f-line-soft: #E1DCC5;
  --f-serif: 'Instrument Serif', Georgia, serif;
  --f-sans: 'Jost', 'Helvetica Neue', sans-serif;
  --f-gutter: clamp(16px, 3vw, 40px);

  --font-body-family: var(--f-sans);
  --font-heading-family: var(--f-serif);
  --font-heading-weight: 400;
  --font-heading-style: normal;
}

body {
  background: var(--f-ivory);
  color: var(--f-espresso);
  font-family: var(--f-sans);
  font-weight: 300;
  letter-spacing: 0;
}

h1, h2, h3, .h0, .h1, .h2, .h3 {
  font-family: var(--f-serif);
  font-weight: 400;
  letter-spacing: -0.005em;
}

/* ---------- shared pieces ---------- */

.f-wrap { color: var(--f-espresso); font-family: var(--f-sans); font-weight: 300; }
.f-wrap a { color: inherit; text-decoration: none; }
.f-wrap a:hover { color: var(--f-terracotta-deep); }
.f-wrap img { display: block; max-width: 100%; height: auto; }
.f-wrap em { font-style: italic; }
.f-wrap p { margin: 0; }

.f-cap {
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-weight: 400;
  font-family: var(--f-sans);
}
.f-cap--accent { color: var(--f-terracotta-deep); }
.f-cap--soft { color: var(--f-soft); }

.f-link {
  display: inline-block;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-weight: 400;
  border-bottom: 1px solid currentColor;
  padding-bottom: 3px;
}

.f-serif { font-family: var(--f-serif); font-weight: 400; margin: 0; line-height: 1; }
.f-h1 { font-size: clamp(44px, 5.6vw, 84px); line-height: 0.95; }
.f-h2 { font-size: clamp(36px, 4vw, 58px); line-height: 1.02; }
.f-h3 { font-size: clamp(30px, 3vw, 44px); line-height: 1.1; }
.f-body { font-size: 15px; line-height: 1.85; color: var(--f-muted); }

.f-media { position: relative; overflow: hidden; width: 100%; }
.f-media img, .f-media video { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }

/* Placeholder shown until a photo is uploaded */
.f-ph {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(135deg, #E6E1CC 0 14px, #E1DCC5 14px 28px);
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: 18px; box-sizing: border-box; color: #5A5644;
}
.f-ph--dark { background: repeating-linear-gradient(135deg, #2A1E17 0 14px, #30231B 14px 28px); color: #C9BFAE; }
.f-ph__tag { font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 500; }
.f-ph__note { font-size: 13px; line-height: 1.45; margin-top: 6px; max-width: 380px; }

/* Dark image overlay so ivory text stays legible on photos */
.f-shade::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(42,30,23,.55), rgba(42,30,23,0) 55%);
  pointer-events: none;
}
.f-shade--full::after { background: rgba(42,30,23,.38); }

/* ---------- announcement + header ---------- */

.f-announce {
  text-align: center; padding: 9px 16px;
  font-size: 10px; letter-spacing: 0.24em; text-transform: uppercase;
  border-bottom: 1px solid var(--f-line-soft);
  background: var(--f-ivory); color: var(--f-espresso);
}

.f-header {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center; gap: 12px;
  padding: 20px var(--f-gutter);
  background: var(--f-ivory);
}
.f-header__nav { display: flex; gap: 24px; flex-wrap: wrap; }
.f-header__nav--right { justify-content: flex-end; }
.f-header__logo { justify-self: center; line-height: 0; }
.f-header__logo img { height: 52px; width: auto; }
.f-header__menu-toggle { display: none; }

@media (max-width: 749px) {
  .f-header { grid-template-columns: 1fr auto 1fr; padding: 14px 16px; }
  .f-header__logo img { height: 40px; }
  .f-header__nav--left .f-hide-mobile, .f-header__nav--right .f-hide-mobile { display: none; }
  .f-header__nav { gap: 16px; }
}

/* ---------- hero ---------- */

.f-hero { position: relative; min-height: clamp(560px, 62vw, 880px); display: flex; align-items: flex-end; }
.f-hero__content { position: relative; z-index: 2; padding: clamp(20px, 3vw, 40px); color: var(--f-ivory); }
.f-hero__content a { color: var(--f-ivory); }
.f-hero__links { display: flex; gap: 32px; flex-wrap: wrap; margin-top: 26px; }

/* ---------- statement ---------- */

.f-statement { padding: clamp(80px, 10vw, 150px) 16px; text-align: center; }
.f-statement__text { max-width: 480px; margin: 22px auto 0; }

/* ---------- tile grid ---------- */

.f-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 6px; padding: 0 6px; }
.f-tile { display: flex; flex-direction: column; }
.f-tile__media { aspect-ratio: 3 / 4; }
.f-tile__meta { display: flex; justify-content: space-between; gap: 12px; padding: 14px 10px 0; }

/* ---------- split (image + text) ---------- */

.f-split {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: clamp(40px, 6vw, 110px);
  padding: clamp(100px, 11vw, 170px) clamp(16px, 6vw, 96px);
}
.f-split--reverse { flex-direction: row-reverse; }
.f-split__media { flex: 1 1 440px; max-width: 640px; aspect-ratio: 4 / 5; }
.f-split__text { flex: 1 1 340px; min-width: 0; max-width: 420px; }
.f-split__text .f-serif { margin: 20px 0 26px; }

.f-specs { border-top: 1px solid var(--f-line); margin-top: 34px; }
.f-spec { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--f-line); }
.f-spec span:last-child { color: var(--f-muted); text-align: right; }

/* ---------- cinematic ---------- */

.f-cine { position: relative; min-height: clamp(540px, 54vw, 780px); display: flex; align-items: center; justify-content: center; text-align: center; color: var(--f-ivory); }
.f-cine__content { position: relative; z-index: 2; padding: 40px 16px; }
.f-cine__content a { color: var(--f-ivory); }
.f-cine__logo { width: clamp(240px, 32vw, 460px); height: auto !important; margin: 0 auto 30px; }
.f-cine__text { max-width: 440px; margin: 0 auto 30px; font-size: 15px; line-height: 1.8; color: #E6DECF; }

/* ---------- panel pair (image + colored text panel) ---------- */

.f-pair { display: flex; flex-wrap: wrap; gap: 6px; padding: 6px; }
.f-pair__media { flex: 1 1 420px; aspect-ratio: 4 / 5; }
.f-pair__panel {
  flex: 1 1 420px; display: flex; flex-direction: column; justify-content: center;
  padding: clamp(40px, 6vw, 100px); box-sizing: border-box;
}
.f-pair__panel--beige { background: var(--f-beige); }
.f-quote { font-family: var(--f-serif); font-size: clamp(26px, 2.6vw, 38px); line-height: 1.22; margin: 22px 0 26px; }
.f-sign { font-family: var(--f-serif); font-style: italic; font-size: 26px; color: var(--f-terracotta-deep); }

/* ---------- journal ---------- */

.f-journal { padding: clamp(100px, 10vw, 150px) var(--f-gutter) clamp(80px, 8vw, 120px); }
.f-journal__head { text-align: center; margin-bottom: 44px; }
.f-journal__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; }
.f-journal__item { display: flex; flex-direction: column; gap: 14px; }
.f-journal__item .f-media { aspect-ratio: 4 / 5; }
.f-journal__social { text-align: center; margin-top: 40px; display: flex; gap: 28px; justify-content: center; flex-wrap: wrap; }

/* ---------- newsletter ---------- */

.f-news { border-top: 1px solid var(--f-line-soft); padding: clamp(80px, 9vw, 130px) 16px; text-align: center; }
.f-news__form { display: flex; gap: 16px; align-items: flex-end; max-width: 460px; margin: 38px auto 0; }
.f-news__input {
  flex: 1 1 auto; min-width: 0; min-height: 48px; background: transparent;
  border: 0; border-bottom: 1px solid var(--f-espresso); color: var(--f-espresso);
  padding: 0 2px; font-family: var(--f-sans); font-size: 14px; border-radius: 0;
}
.f-news__input:focus { outline: none; border-bottom-color: var(--f-terracotta-deep); }
.f-news__btn {
  min-height: 48px; background: transparent; border: 0; border-bottom: 1px solid var(--f-espresso);
  color: var(--f-espresso); padding: 0 4px; cursor: pointer;
}
.f-news__msg { margin-top: 18px; font-size: 13px; color: var(--f-soft); }

/* ---------- footer ---------- */

.f-footer { background: var(--f-beige); padding: 60px var(--f-gutter) 36px; }
.f-footer__top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 40px; align-items: flex-end; }
.f-footer__cols { display: flex; flex-wrap: wrap; gap: 64px; line-height: 2.2; }
.f-footer__col { display: flex; flex-direction: column; }
.f-footer__logo { width: clamp(180px, 24vw, 340px); height: auto !important; max-width: none; }
.f-footer__top > a { flex: 0 0 auto; display: block; line-height: 0; }
.f-footer__legal { margin-top: 44px; color: var(--f-soft); }

/* ---------- product page ---------- */

.f-pdp { display: flex; flex-wrap: wrap; gap: clamp(24px, 4vw, 72px); padding: 0 0 clamp(80px, 9vw, 140px); }
.f-pdp__gallery { flex: 999 1 600px; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; padding-left: 6px; }
.f-pdp__gallery .f-media { aspect-ratio: 3 / 4; }
.f-pdp__gallery .f-pdp__main { grid-column: span 2; }
.f-pdp__info { flex: 1 1 360px; min-width: 0; max-width: 440px; padding: 0 clamp(16px, 3vw, 48px) 0 16px; box-sizing: border-box; }
.f-pdp__sticky { position: sticky; top: 32px; padding-top: 24px; }
.f-pdp__title { font-size: clamp(38px, 3.4vw, 50px); margin: 16px 0 10px; }
.f-pdp__price { font-size: 15px; margin-bottom: 26px; }
.f-pdp__desc { font-size: 14px; line-height: 1.85; color: var(--f-muted); margin-bottom: 30px; }
.f-pdp__desc p + p { margin-top: 12px; }
.f-swatches { display: flex; gap: 10px; margin: 12px 0 28px; }
.f-swatch { width: 44px; height: 44px; padding: 4px; background: transparent; border: 1px solid transparent; cursor: pointer; }
.f-swatch[aria-pressed="true"] { border-color: var(--f-espresso); }
.f-swatch span { display: block; width: 100%; height: 100%; box-shadow: inset 0 0 0 1px rgba(42,30,23,.12); }
.f-pdp__size { display: flex; justify-content: space-between; margin-bottom: 10px; }
.f-pdp__fit { font-size: 13px; color: var(--f-muted); margin-bottom: 28px; }
.f-atc {
  width: 100%; min-height: 54px; background: var(--f-espresso); color: var(--f-ivory);
  border: 0; cursor: pointer; font-family: var(--f-sans);
}
.f-atc:hover { background: #3A2B21; }
.f-atc[disabled] { opacity: .5; cursor: not-allowed; }
.f-pdp__ship { font-size: 12px; color: var(--f-soft); text-align: center; margin: 14px 0 32px; }
.f-acc { border-top: 1px solid var(--f-line); padding: 16px 0; }
.f-acc:last-of-type { border-bottom: 1px solid var(--f-line); }
.f-acc summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; }
.f-acc summary::-webkit-details-marker { display: none; }
.f-acc__body { font-size: 14px; line-height: 1.8; color: var(--f-muted); margin-top: 12px; }
.f-acc__body p + p { margin-top: 10px; }

/* how it works steps */
.f-steps { border-top: 1px solid #C9C3A6; }
.f-step { display: flex; gap: 24px; padding: 18px 0; border-bottom: 1px solid #C9C3A6; }
.f-step__num { font-family: var(--f-serif); font-size: 22px; min-width: 24px; }
.f-step__text { font-size: 14px; line-height: 1.7; color: #3B3829; }

/* beliefs */
.f-beliefs { padding: clamp(100px, 11vw, 160px) clamp(16px, 4vw, 56px); }
.f-beliefs__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: clamp(32px, 4vw, 64px); max-width: 1200px; margin: 56px auto 0; }
.f-belief { border-top: 1px solid var(--f-line); padding-top: 24px; }
.f-belief .f-serif { font-size: 30px; margin-bottom: 14px; line-height: 1.1; }

/* story (two-column text) */
.f-story {
  display: flex; flex-wrap: wrap; gap: clamp(40px, 6vw, 110px);
  padding: clamp(100px, 11vw, 160px) clamp(16px, 6vw, 96px);
  max-width: 1280px; margin: 0 auto; box-sizing: border-box;
}
.f-story__head { flex: 1 1 320px; min-width: 0; }
.f-story__head .f-serif { margin-top: 18px; }
.f-story__body { flex: 1.3 1 420px; min-width: 0; font-size: 16px; line-height: 1.9; color: var(--f-muted); }
.f-story__body p + p { margin-top: 22px; }
.f-story__body .f-sign { margin-top: 28px; font-size: 24px; }

/* banded centered text */
.f-band { padding: clamp(90px, 10vw, 150px) 16px; text-align: center; }
.f-band--beige { background: var(--f-beige); }
.f-band__big { font-family: var(--f-serif); font-size: clamp(34px, 4vw, 60px); line-height: 1.1; max-width: 900px; margin: 22px auto 26px; }
.f-band__text { max-width: 520px; margin: 0 auto; }

/* image rows */
.f-imgrow { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 6px; }
.f-imgrow .f-media { min-height: 520px; }
.f-imgrow .f-media--wide { flex: 2 1 520px; }
.f-imgrow .f-media--narrow { flex: 1 1 320px; }
.f-banner { padding: 0 6px; }
.f-banner .f-media { min-height: clamp(420px, 48vw, 700px); }

/* section spacing helpers */
.f-pad-top-0 { padding-top: 0 !important; }
.f-center { text-align: center; }
.f-cta { padding: clamp(100px, 11vw, 160px) 16px; text-align: center; }
.f-cta__links { display: flex; gap: 32px; justify-content: center; flex-wrap: wrap; margin-top: 30px; }

/* Shopify page title area on non-custom pages */
.main-page-title { font-family: var(--f-serif); }
/* Filthy: mobile hero, text under photo */
@media screen and (max-width: 749px) {
  .f-hero { display: block !important; min-height: 0 !important; }
  .f-hero picture { display: block; }
  .f-hero img { position: relative !important; inset: auto !important; display: block; width: 100% !important; height: auto !important; aspect-ratio: 4 / 5; object-fit: cover; object-position: 62% center; }
  .f-hero::after { display: none !important; }
  .f-hero__content { padding: 28px 20px 44px !important; }
  .f-hero__content, .f-hero__content * { color: #2A1E17 !important; }
