/* Prime Find Space: homepage Elementor widgets.
   Defaults mirror the prototype; every value is overridable from each widget's Style tab. */

.pfs-empty { padding: 2rem 1rem; text-align: center; font-family: var(--font-editorial); color: var(--muted); }
.pfs-wrap { width: 100%; max-width: 80rem; margin-inline: auto; padding-inline: 1rem; }
@media (min-width: 640px) { .pfs-wrap { padding-inline: 1.5rem; } }
@media (min-width: 1024px) { .pfs-wrap { padding-inline: 2rem; } }
.pfs-cover { position: absolute; inset: 0; z-index: 5; }
.pfs-sec .pfs-img, .pfs-sec .pfs-img.pfs-img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.pfs-hero .pfs-hero__slide img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.pfs-sec .pfs-icon--12 { width: .75rem; height: .75rem; }
.pfs-arrow { transition: transform .15s; }
:where(.pfs-sec, .pfs-hero) :is(h1, h2, h3, h4, p) { margin: 0; }

/* Bands (tech, travel, newsletter) */
.pfs-band { background: var(--ivory-2); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding-top: 4rem; padding-bottom: 4rem; }
@media (min-width: 640px) { .pfs-band { padding-top: 6rem; padding-bottom: 6rem; } }

/* Section header */
.pfs-sh { border-bottom: 1px solid var(--line); padding-bottom: 1.5rem; margin-bottom: 2rem; display: flex; flex-direction: column; gap: 1rem; }
@media (min-width: 640px) { .pfs-sh { flex-direction: row; align-items: flex-end; justify-content: space-between; } }
.pfs-sh__l { display: flex; align-items: center; gap: 1rem; }
.pfs-sh__n { font-family: var(--font-mono); font-size: .75rem; line-height: 1rem; font-weight: 700; color: var(--purple-mid); }
.pfs-sh__t { font-family: var(--font-serif); font-size: 2.25rem; line-height: 2.5rem; font-weight: 900; color: var(--ink); }
@media (min-width: 640px) { .pfs-sh__t { font-size: 3rem; line-height: 1; } }
@media (min-width: 1024px) { .pfs-sh__t { font-size: 3.75rem; } }
.pfs-fashion .pfs-sh__t { letter-spacing: -.025em; }
.pfs-sh__d { max-width: 28rem; font-family: var(--font-editorial); font-size: .75rem; line-height: 1rem; color: var(--muted); }
@media (min-width: 640px) { .pfs-sh__d { font-size: .875rem; line-height: 1.25rem; } }

/* Mono link with arrow */
.pfs-fs__flink, .pfs-fs__slink, .pfs-tv__flink, .pfs-tv__rlink { display: flex; align-items: center; font-family: var(--font-mono); font-weight: 700; text-transform: uppercase; color: var(--purple); transition: color .15s; }

/* ==========================================================================
   1. Hero slider
   ========================================================================== */
.pfs-hero { --pfs-ov: #241F23; --pfs-ov-l: 90%; --pfs-ov-b: 90%; position: relative; width: 100%; height: 88vh; min-height: 580px; max-height: 920px; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 1.5rem; color: #fff; font-family: var(--font-sans); user-select: none; background: var(--ink-hero); }
@media (min-width: 640px) { .pfs-hero { height: 92vh; padding: 3rem; } }
@media (min-width: 1024px) { .pfs-hero { padding: 5rem; } }
.pfs-hero__bg { position: absolute; inset: 0; z-index: 0; }
.pfs-hero__slide { position: absolute; inset: 0; opacity: 0; z-index: 0; pointer-events: none; transition: opacity 1s ease-in-out; }
.pfs-hero__slide.is-active { opacity: 1; z-index: 10; }
.pfs-hero__slide img { width: 100%; height: 100%; object-fit: cover; transform: scale(1); transition: transform 8000ms ease-out; }
.pfs-hero__slide.is-active img { transform: scale(1.05); }
.pfs-hero__ov { position: absolute; inset: 0; z-index: 10; pointer-events: none; }
.pfs-hero__ov--l { background: linear-gradient(to right, color-mix(in srgb, var(--pfs-ov) var(--pfs-ov-l), transparent), color-mix(in srgb, var(--pfs-ov) calc(var(--pfs-ov-l) * .5556), transparent), transparent); }
.pfs-hero__ov--b { background: linear-gradient(to top, color-mix(in srgb, var(--pfs-ov) var(--pfs-ov-b), transparent), transparent, color-mix(in srgb, var(--pfs-ov) calc(var(--pfs-ov-b) * .4444), transparent)); }

.pfs-hero__body { position: relative; z-index: 20; max-width: 36rem; margin-block: auto; padding-block: 1.5rem; text-align: left; }
@media (min-width: 1024px) { .pfs-hero__body { max-width: 42rem; } }
.pfs-hero__copy { display: none; }
.pfs-hero__copy.is-active { display: block; }
.pfs-hero__copy > * + * { margin-top: 1rem; }
@media (min-width: 640px) { .pfs-hero__copy > * + * { margin-top: 1.5rem; } }
.pfs-hero__title { font-family: var(--font-serif); font-size: 1.875rem; line-height: 1.08; font-weight: 900; letter-spacing: -.025em; color: #fff; filter: drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06)); }
@media (min-width: 640px) { .pfs-hero__title { font-size: 3rem; } }
@media (min-width: 1024px) { .pfs-hero__title { font-size: 3.75rem; } }
.pfs-hero__sub { max-width: 32rem; font-family: var(--font-editorial); font-size: .875rem; line-height: 1.625; color: rgb(255 255 255 / .85); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
@media (min-width: 640px) { .pfs-hero__sub { font-size: 1rem; } }
@media (min-width: 1024px) { .pfs-hero__sub { font-size: 1.125rem; } }
.pfs-hero__act { padding-top: .5rem; }
.pfs-hero__btn { display: inline-flex; align-items: center; gap: .5rem; padding: .5rem 0; font-family: var(--font-mono); font-size: .75rem; line-height: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .2em; color: #fff; text-decoration: none; transition: color .15s; }
.pfs-hero__btn:hover { color: var(--purple-light); }
.pfs-hero__btn .pfs-arrow { color: var(--purple-light); }
.pfs-hero__btn:hover .pfs-arrow { transform: translateX(.375rem); }

.pfs-hero__nav { position: relative; z-index: 20; width: 100%; padding-top: 1.5rem; border-top: 1px solid rgb(255 255 255 / .2); }
.pfs-hero__navin { display: flex; align-items: center; justify-content: space-between; max-width: 42rem; }
.pfs-hero__navbtn { position: relative; display: flex; flex-direction: column; align-items: flex-start; color: rgb(255 255 255 / .6); transition: color .15s; }
.pfs-hero__navrow { display: flex; align-items: center; gap: .5rem; }
.pfs-hero__num { font-family: var(--font-mono); font-size: .875rem; line-height: 1.25rem; letter-spacing: .05em; color: rgb(255 255 255 / .6); transition: color .15s; }
@media (min-width: 640px) { .pfs-hero__num { font-size: 1rem; line-height: 1.5rem; } }
.pfs-hero__navbtn:hover .pfs-hero__num { color: #fff; }
.pfs-hero__navbtn.is-active .pfs-hero__num { color: var(--purple-light); font-weight: 700; }
.pfs-hero__label { display: none; max-width: 120px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-family: var(--font-serif); font-size: .75rem; line-height: 1rem; color: rgb(255 255 255 / .6); transition: color .15s; }
@media (min-width: 768px) { .pfs-hero__label { display: inline; } }
.pfs-hero__navbtn:hover .pfs-hero__label { color: #fff; }
.pfs-hero__navbtn.is-active .pfs-hero__label { color: #fff; font-weight: 700; }
.pfs-hero__track { position: relative; display: block; overflow: hidden; width: 100%; min-width: 48px; height: 2px; margin-top: .5rem; background: rgb(255 255 255 / .2); }
@media (min-width: 640px) { .pfs-hero__track { min-width: 64px; } }
.pfs-hero__bar { position: absolute; top: 0; bottom: 0; left: 0; width: 0; background: var(--purple-mid); }
.pfs-hero__conn { display: none; flex: 1 1 0%; height: 1px; margin-inline: .75rem; background: rgb(255 255 255 / .15); }
@media (min-width: 640px) { .pfs-hero__conn { display: block; margin-inline: 1.5rem; } }

/* ==========================================================================
   2. Fashion
   ========================================================================== */
.pfs-fs__grid { display: grid; grid-template-columns: 1fr; gap: 2.5rem; align-items: start; }
@media (min-width: 1024px) { .pfs-fs__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); } .pfs-fs__feat { grid-column: span 7; } .pfs-fs__side { grid-column: span 5; } }
.pfs-fs__feat { position: relative; cursor: pointer; }
.pfs-fs__photo { position: relative; overflow: hidden; border: 1px solid var(--line); background: var(--ivory-2); aspect-ratio: 3 / 4; max-height: 640px; }
.pfs-fs__photo img { transition: transform .7s ease-out; }
.pfs-fs__feat:hover .pfs-fs__photo img { transform: scale(1.05); }
.pfs-fs__badge { position: absolute; top: 1rem; left: 1rem; padding: .25rem .75rem; background: rgb(251 248 241 / .95); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); border: 1px solid var(--line); font-family: var(--font-mono); font-size: 10px; line-height: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .2em; color: var(--purple); }
.pfs-fs__ftext { padding-right: .5rem; margin-top: 1.25rem; }
.pfs-fs__ftext > * + * { margin-top: .75rem; }
.pfs-fs__fcat { font-family: var(--font-mono); font-size: .75rem; line-height: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .15em; color: var(--purple); }
.pfs-fs__ftitle { font-family: var(--font-serif); font-size: 1.5rem; line-height: 1.15; font-weight: 900; color: var(--ink); transition: color .15s; }
@media (min-width: 640px) { .pfs-fs__ftitle { font-size: 1.875rem; } }
@media (min-width: 1024px) { .pfs-fs__ftitle { font-size: 2.25rem; } }
.pfs-fs__feat:hover .pfs-fs__ftitle { color: var(--purple); }
.pfs-fs__fexc { font-family: var(--font-editorial); font-size: .875rem; line-height: 1.625; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
@media (min-width: 640px) { .pfs-fs__fexc { font-size: 1rem; } }
.pfs-fs__flink { gap: .5rem; padding-top: .5rem; font-size: .75rem; line-height: 1rem; letter-spacing: .1em; }
.pfs-fs__feat:hover .pfs-fs__flink { color: var(--purple-mid); }
.pfs-fs__feat:hover .pfs-fs__flink .pfs-arrow { transform: translateX(.25rem); }

.pfs-fs__side { display: flex; flex-direction: column; }
.pfs-fs__item { position: relative; cursor: pointer; display: flex; align-items: flex-start; gap: 1rem; }
.pfs-fs__item:not(:last-child) { border-bottom: 1px solid var(--line); margin-bottom: 1rem; }
.pfs-fs__item:not(:first-child) { padding-top: 1rem; }
.pfs-fs__item:not(:last-child) { padding-bottom: 0; }
@media (min-width: 640px) { .pfs-fs__item { gap: 1.25rem; } }
.pfs-fs__thumb { width: 7rem; flex-shrink: 0; overflow: hidden; border: 1px solid var(--line); background: var(--ivory-2); aspect-ratio: 4 / 5; }
@media (min-width: 640px) { .pfs-fs__thumb { width: 9rem; } }
.pfs-fs__thumb img { transition: transform .5s ease-out; }
.pfs-fs__item:hover .pfs-fs__thumb img { transform: scale(1.05); }
.pfs-fs__sbody { flex: 1 1 0%; min-width: 0; }
.pfs-fs__sbody > * + * { margin-top: .375rem; }
.pfs-fs__scat { display: block; font-family: var(--font-mono); font-size: 10px; line-height: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .15em; color: var(--purple-mid); }
.pfs-fs__stitle { font-family: var(--font-serif); font-size: 1rem; line-height: 1.375; font-weight: 700; color: var(--ink); transition: color .15s; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (min-width: 640px) { .pfs-fs__stitle { font-size: 1.125rem; } }
.pfs-fs__item:hover .pfs-fs__stitle { color: var(--purple); }
.pfs-fs__sexc { font-family: var(--font-editorial); font-size: .75rem; line-height: 1.625; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pfs-fs__slink { gap: .375rem; padding-top: .25rem; font-size: 11px; line-height: 1rem; letter-spacing: .05em; }
.pfs-fs__item:hover .pfs-fs__slink { color: var(--purple-mid); }
.pfs-fs__item:hover .pfs-fs__slink .pfs-arrow { transform: translateX(.125rem); }
.pfs-fs .pfs-arrow { color: inherit; }

/* ==========================================================================
   3. Tech
   ========================================================================== */
.pfs-ts__list { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pfs-ts__row { position: relative; cursor: pointer; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 1.5rem; padding: 1.5rem .75rem; transition: background-color .2s; }
.pfs-ts__row:not(:last-child) { border-bottom: 1px solid var(--line); }
@media (min-width: 640px) { .pfs-ts__row { flex-direction: row; align-items: center; padding: 2rem 1.5rem; } }
.pfs-ts__row:hover { background: rgb(251 248 241 / .6); }
.pfs-ts__num { flex-shrink: 0; width: 3rem; font-family: var(--font-mono); font-size: 1.5rem; line-height: 2rem; font-weight: 700; color: var(--purple-mid); }
@media (min-width: 640px) { .pfs-ts__num { width: 4rem; font-size: 1.875rem; line-height: 2.25rem; } }
.pfs-ts__body { flex: 1 1 0%; max-width: 42rem; }
.pfs-ts__body > * + * { margin-top: .375rem; }
.pfs-ts__cat { font-family: var(--font-mono); font-size: 10px; line-height: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .2em; color: var(--purple-mid); }
.pfs-ts__title { font-family: var(--font-serif); font-size: 1.25rem; line-height: 1.375; font-weight: 700; color: var(--ink); transition: color .15s; }
@media (min-width: 640px) { .pfs-ts__title { font-size: 1.5rem; } }
.pfs-ts__row:hover .pfs-ts__title { color: var(--purple); }
.pfs-ts__exc { font-family: var(--font-editorial); font-size: .75rem; line-height: 1.625; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (min-width: 640px) { .pfs-ts__exc { font-size: .875rem; } }
.pfs-ts__thumb { flex-shrink: 0; width: 100%; aspect-ratio: 16 / 10; overflow: hidden; border: 1px solid var(--line); background: var(--ivory); }
@media (min-width: 640px) { .pfs-ts__thumb { width: 10rem; height: 7rem; aspect-ratio: auto; } }
.pfs-ts__thumb img { transition: transform .5s ease-out; }
.pfs-ts__row:hover .pfs-ts__thumb img { transform: scale(1.05); }

/* ==========================================================================
   4. Lifestyle
   ========================================================================== */
.pfs-ls__grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 768px) { .pfs-ls__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pfs-ls__card { position: relative; cursor: pointer; display: flex; flex-direction: column; justify-content: space-between; border-bottom: 1px solid var(--line-card); padding-bottom: 1.5rem; }
.pfs-ls__media { position: relative; overflow: hidden; aspect-ratio: 16 / 10; background: var(--ivory-2); margin-bottom: 1rem; }
.pfs-ls__media img { transition: transform .7s ease-out; }
.pfs-ls__card:hover .pfs-ls__media img { transform: scale(1.05); }
.pfs-ls__text > * + * { margin-top: .5rem; }
.pfs-ls__cat { display: block; font-family: var(--font-mono); font-size: 10px; line-height: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .2em; color: var(--purple-light); }
.pfs-ls__title { font-family: var(--font-serif); font-size: 1.125rem; line-height: 1.375; font-weight: 700; color: var(--ink); transition: color .15s; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (min-width: 768px) { .pfs-ls__title { font-size: 1.25rem; } }
.pfs-ls__card:hover .pfs-ls__title { color: var(--purple); }
.pfs-ls__exc { font-family: var(--font-editorial); font-size: .75rem; line-height: 1.625; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
@media (min-width: 768px) { .pfs-ls__exc { font-size: .875rem; } }
.pfs-ls__foot { display: flex; align-items: center; justify-content: space-between; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line-card); font-size: .75rem; line-height: 1rem; color: var(--muted); }
.pfs-ls__tag { font-family: var(--font-mono); font-size: 10px; color: var(--purple-mid); }
.pfs-ls__more { display: flex; align-items: center; gap: .125rem; white-space: nowrap; text-transform: uppercase; font-size: 11px; letter-spacing: .05em; font-weight: 700; color: var(--purple); transition: color .15s; }
.pfs-ls__more .pfs-arrow { color: var(--purple-mid); }
.pfs-ls__card:hover .pfs-ls__more { color: var(--purple-mid); }
.pfs-ls__card:hover .pfs-ls__more .pfs-arrow { transform: translateX(.125rem); }

/* ==========================================================================
   5. Travel
   ========================================================================== */
.pfs-tv__feat { position: relative; cursor: pointer; }
.pfs-tv__hero { width: 100%; aspect-ratio: 16 / 8; max-height: 360px; overflow: hidden; border: 1px solid var(--line); background: var(--ink); }
@media (min-width: 640px) { .pfs-tv__hero { aspect-ratio: 21 / 9; } }
.pfs-tv__hero img { opacity: .95; transition: transform .7s ease-out; }
.pfs-tv__feat:hover .pfs-tv__hero img { transform: scale(1.05); }
.pfs-tv__box { position: relative; z-index: 6; padding: 1.25rem; background: var(--ivory); border: 1px solid var(--line); box-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); pointer-events: none; }
@media (min-width: 640px) { .pfs-tv__box { padding: 1.5rem; margin-top: -4rem; margin-left: 1.5rem; max-width: 36rem; } }
.pfs-tv__box > * + * { margin-top: .625rem; }
.pfs-tv__label { font-family: var(--font-mono); font-size: .75rem; line-height: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .2em; color: var(--purple); }
.pfs-tv__ftitle { font-family: var(--font-serif); font-size: 1.25rem; line-height: 1.375; font-weight: 900; color: var(--ink); transition: color .15s; }
@media (min-width: 640px) { .pfs-tv__ftitle { font-size: 1.5rem; } }
@media (min-width: 1024px) { .pfs-tv__ftitle { font-size: 1.875rem; } }
.pfs-tv__feat:hover .pfs-tv__ftitle { color: var(--purple); }
.pfs-tv__fexc { font-family: var(--font-editorial); font-size: .75rem; line-height: 1.625; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (min-width: 640px) { .pfs-tv__fexc { font-size: .875rem; } }
.pfs-tv__flink { gap: .5rem; padding-top: .25rem; font-size: .75rem; line-height: 1rem; letter-spacing: .1em; }
.pfs-tv__feat:hover .pfs-tv__flink { color: var(--purple-mid); }
.pfs-tv__feat:hover .pfs-tv__flink .pfs-arrow { transform: translateX(.25rem); }

.pfs-tv__subs { display: grid; grid-template-columns: 1fr; gap: 1.5rem; align-items: stretch; padding-top: .5rem; margin-top: 3rem; }
@media (min-width: 768px) { .pfs-tv__subs { grid-template-columns: repeat(12, minmax(0, 1fr)); } .pfs-tv__card { grid-column: span 5; } .pfs-tv__rows { grid-column: span 7; } }
.pfs-tv__card { position: relative; cursor: pointer; display: flex; flex-direction: column; justify-content: space-between; padding: 1rem; background: var(--ivory); border: 1px solid var(--line); }
.pfs-tv__cmain > * + * { margin-top: .75rem; }
.pfs-tv__cphoto { aspect-ratio: 16 / 10; max-height: 14rem; overflow: hidden; border: 1px solid var(--line); background: var(--ivory-2); }
.pfs-tv__cphoto img { transition: transform .7s ease-out; }
.pfs-tv__card:hover .pfs-tv__cphoto img { transform: scale(1.05); }
.pfs-tv__ccat { display: block; font-family: var(--font-mono); font-size: 10px; line-height: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .2em; color: var(--purple-mid); }
.pfs-tv__ctitle { font-family: var(--font-serif); font-size: 1.125rem; line-height: 1.375; font-weight: 700; color: var(--ink); transition: color .15s; }
.pfs-tv__card:hover .pfs-tv__ctitle { color: var(--purple); }
.pfs-tv__cexc { font-family: var(--font-editorial); font-size: .75rem; line-height: 1.625; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pfs-tv__cfoot { display: flex; align-items: center; justify-content: space-between; margin-top: .75rem; padding-top: .5rem; border-top: 1px solid var(--line); font-family: var(--font-mono); font-size: .75rem; line-height: 1rem; font-weight: 700; color: var(--purple); }
.pfs-tv__ctag { text-transform: uppercase; font-size: 10px; color: var(--purple-mid); }
.pfs-tv__clink { display: flex; align-items: center; gap: .25rem; text-transform: uppercase; letter-spacing: .05em; font-size: 11px; transition: color .15s; }
.pfs-tv__card:hover .pfs-tv__clink { color: var(--purple-mid); }
.pfs-tv__card:hover .pfs-tv__clink .pfs-arrow { transform: translateX(.25rem); }

.pfs-tv__rows { display: flex; flex-direction: column; gap: .875rem; justify-content: flex-start; }
.pfs-tv__row { position: relative; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 1rem; padding: .875rem; background: var(--ivory); border: 1px solid var(--line); transition: border-color .3s; }
@media (min-width: 640px) { .pfs-tv__row { flex-direction: row; padding: 1rem; } }
.pfs-tv__row:hover { border-color: var(--purple); }
.pfs-tv__rphoto { flex-shrink: 0; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid var(--line); background: var(--ivory-2); }
@media (min-width: 640px) { .pfs-tv__rphoto { width: 8rem; height: 6rem; aspect-ratio: auto; } }
.pfs-tv__rphoto img { transition: transform .5s ease-out; }
.pfs-tv__row:hover .pfs-tv__rphoto img { transform: scale(1.05); }
.pfs-tv__rbody { flex: 1 1 0%; min-width: 0; }
.pfs-tv__rbody > * + * { margin-top: .375rem; }
.pfs-tv__rcat { display: block; font-family: var(--font-mono); font-size: 10px; line-height: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .2em; color: var(--purple-mid); }
.pfs-tv__rtitle { font-family: var(--font-serif); font-size: 1rem; line-height: 1.375; font-weight: 700; color: var(--ink); transition: color .15s; }
@media (min-width: 640px) { .pfs-tv__rtitle { font-size: 1.125rem; } }
.pfs-tv__row:hover .pfs-tv__rtitle { color: var(--purple); }
.pfs-tv__rexc { font-family: var(--font-editorial); font-size: .75rem; line-height: 1.625; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pfs-tv__rlink { gap: .25rem; padding-top: .125rem; font-size: 11px; line-height: 1rem; letter-spacing: .05em; }
.pfs-tv__row:hover .pfs-tv__rlink { color: var(--purple-mid); }
.pfs-tv__row:hover .pfs-tv__rlink .pfs-arrow { transform: translateX(.125rem); }
.pfs-tv .pfs-arrow { color: inherit; }
.pfs-tv__clink .pfs-arrow, .pfs-tv__flink .pfs-arrow, .pfs-tv__rlink .pfs-arrow, .pfs-fs__flink .pfs-arrow, .pfs-fs__slink .pfs-arrow { color: inherit; }

/* ==========================================================================
   6. Newsletter
   ========================================================================== */
.pfs-nl { padding-top: 3rem; padding-bottom: 3rem; }
@media (min-width: 640px) { .pfs-nl { padding-top: 4rem; padding-bottom: 4rem; } }
.pfs-nl__in { max-width: 42rem; margin-inline: auto; padding-inline: 1rem; text-align: center; }
@media (min-width: 640px) { .pfs-nl__in { padding-inline: 1.5rem; } }
.pfs-nl__in > * + * { margin-top: 1rem; }
.pfs-nl__eyebrow { display: inline-block; font-family: var(--font-mono); font-size: 11px; line-height: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .2em; color: var(--purple-mid); }
.pfs-nl__h { margin-inline: auto; max-width: 36rem; font-family: var(--font-serif); font-size: 1.5rem; line-height: 1.12; font-weight: 900; letter-spacing: -.025em; color: var(--ink); }
@media (min-width: 640px) { .pfs-nl__h { font-size: 1.875rem; } }
@media (min-width: 1024px) { .pfs-nl__h { font-size: 2.25rem; } }
.pfs-nl__p { margin-inline: auto; max-width: 28rem; font-family: var(--font-editorial); font-size: .75rem; line-height: 1.625; color: var(--muted); }
@media (min-width: 640px) { .pfs-nl__p { font-size: .875rem; } }
.pfs-nl__form { max-width: 28rem; margin-inline: auto; padding-top: .75rem; text-align: left; }
.pfs-nl__field { display: flex; align-items: center; padding: .375rem 0; border-bottom: 1px solid var(--purple-light); }
.pfs-nl__field:focus-within { border-bottom-color: var(--purple); }
.pfs-nl__input { width: 100%; background: transparent; border: 0; outline: none; padding: 0; color: var(--ink); font-family: var(--font-mono); font-size: .75rem; line-height: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.pfs-nl__input::placeholder { color: var(--muted); opacity: 1; }
.pfs-nl__btn { display: flex; align-items: center; gap: .375rem; margin-left: .75rem; white-space: nowrap; font-family: var(--font-mono); font-size: .75rem; line-height: 1rem; font-weight: 900; text-transform: uppercase; letter-spacing: .2em; color: var(--purple); transition: color .15s; }
.pfs-nl__btn:hover { color: var(--purple-mid); }
.pfs-nl__btn .pfs-arrow { color: var(--purple-mid); }
.pfs-nl__err { margin-top: .75rem; font-weight: 700; text-align: left; }
.pfs-nl__done { text-align: center; padding: 1rem 1.25rem; border-bottom: 1px solid var(--purple-light); color: var(--ink); font-family: var(--font-editorial); }
.pfs-nl__done > * + * { margin-top: .25rem; }
.pfs-nl__donet { font-family: var(--font-serif); font-weight: 700; font-size: 1rem; line-height: 1.5rem; color: var(--ink); }
.pfs-nl__donep { font-size: .75rem; line-height: 1rem; color: var(--muted); }
.pfs-nl__fine { padding-top: .25rem; font-family: var(--font-mono); font-size: 10px; line-height: 1rem; letter-spacing: .05em; color: var(--muted); }

@media (prefers-reduced-motion: reduce) {
	.pfs-hero__slide, .pfs-hero__slide img { transition-duration: .01ms !important; }
}
