.rf{--rf-ink:#1e242c;--rf-slate:#39424e;--rf-stone:#e8e1db;--rf-paper:#f3f0ec;--rf-tile:#e4ddd5;--rf-muted:#5f564c;color:var(--rf-ink)}
.rf *{box-sizing:border-box}
.rf-wrap{max-width:124rem;margin:0 auto;padding:0 1.6rem}
.rf-pad{padding-top:5.6rem}
.rf-pad--bottom{padding-bottom:5.6rem}
.rf-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:4.8rem;padding:1.2rem 2.8rem;border-radius:999px;border:1px solid var(--rf-ink);background:var(--rf-ink);color:#fff;font-family:inherit;font-size:1.5rem;font-weight:500;line-height:1.2;letter-spacing:.02em;text-decoration:none;text-align:center;cursor:pointer;transition:opacity .2s}
.rf-btn:hover{opacity:.8}
.rf-btn--ghost{background:transparent;color:var(--rf-ink)}
.rf-btn--light{background:#fff;border-color:#fff;color:var(--rf-ink)}
.rf-btn--ghost-light{background:transparent;border-color:#fff;color:#fff}
.rf-btn[disabled]{opacity:.45;cursor:not-allowed}
.rf-btn.loading>span{visibility:hidden}
.rf-btn .loading__spinner{position:absolute;inset:0;margin:auto;width:1.8rem;height:1.8rem}
.rf-eyebrow{margin:0 0 1rem;font-size:1.2rem;letter-spacing:.24em;text-transform:uppercase;color:var(--rf-muted)}
.rf-h{margin:0;font-family:var(--font-heading-family);font-weight:400;font-size:clamp(3.4rem,4vw,5.6rem);line-height:1.08;letter-spacing:0;color:inherit}
.rf-sub{margin:.8rem 0 0;font-size:1.6rem;color:#3d444d}
.rf-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.2rem 4rem;margin-bottom:2.4rem}
.rf-link{padding:1.2rem 0;font-size:1.6rem;font-weight:500;color:inherit;text-decoration:underline;text-underline-offset:.3rem}
.rf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.rf-grid--stack{grid-template-columns:minmax(0,1fr)}
.rf-hero{background:var(--rf-ink);color:#fff;text-align:center;padding:4.8rem 1.6rem 0}
.rf-hero__inner{display:flex;flex-direction:column;align-items:center;gap:1.6rem}
.rf-hero .rf-eyebrow{margin:0;color:#c9bfb4}
.rf-hero__title{margin:0;font-family:var(--font-heading-family);font-weight:400;font-size:clamp(4.4rem,6vw,8.8rem);line-height:1.04;letter-spacing:0;color:#fff}
.rf-hero__title em{color:var(--rf-stone)}
.rf-hero__text{margin:0;max-width:62rem;font-size:1.7rem;line-height:1.5;color:#d8d2cb}
.rf-hero__btns{display:flex;flex-direction:column;gap:1rem;width:100%;margin-top:.8rem}
.rf-hero__media{width:100%;max-width:120rem;margin-top:2.4rem;aspect-ratio:16/10;border-radius:2.4rem 2.4rem 0 0;overflow:hidden;background:#47525f}
.rf-hero__media img{display:block;width:100%;height:100%;object-fit:cover}
.rf-strip{background:var(--rf-paper)}
.rf-strip__inner{display:flex;flex-wrap:wrap;justify-content:space-around;gap:.6rem 4rem;padding-top:1.6rem;padding-bottom:1.6rem;font-size:1.4rem;color:#3d444d;text-align:center}
.rf-card{display:flex;flex-direction:column;gap:.8rem;padding:1.2rem;border-radius:2rem;background:var(--rf-paper)}
.rf-card__media{display:block;aspect-ratio:1;border-radius:1.2rem;overflow:hidden;background:var(--rf-tile)}
.rf-card__media img{display:block;width:100%;height:100%;object-fit:cover}
.rf-card__vendor{font-size:1.1rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--rf-muted)}
.rf-card__title{margin:0;font-family:var(--font-heading-family);font-weight:400;font-size:1.9rem;line-height:1.2;letter-spacing:0}
.rf-card__title a{color:inherit;text-decoration:none}
.rf-card__foot{display:flex;flex-direction:column;gap:.8rem;margin-top:auto}
.rf-card__price{font-size:1.6rem;font-weight:500}
.rf-card .rf-btn{width:100%;padding:1.2rem 1rem}
.rf-card product-form,.rf-card form{display:block;margin:0}
.rf-spot{display:flex;flex-direction:column;border-radius:2.4rem;overflow:hidden;background:var(--rf-stone)}
.rf-spot__body{display:flex;flex-direction:column;justify-content:center;gap:1.4rem;padding:3.6rem 2.4rem}
.rf-spot .rf-eyebrow{margin:0;color:#4a4138}
.rf-spot__tag{margin:0;font-size:2rem;color:#3d362f}
.rf-spot__text{margin:0;max-width:46rem;font-size:1.6rem;line-height:1.55;color:#3d362f}
.rf-spot__btns{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.6rem}
.rf-spot__btns form,.rf-spot__btns product-form{display:block;margin:0}
.rf-spot__media{min-height:26rem;background:#cfc6bd}
.rf-spot__media img{display:block;width:100%;height:100%;object-fit:cover}
.rf-concern{display:flex;flex-direction:column;gap:1.6rem;padding:2rem;border-radius:2rem;background:var(--rf-paper)}
.rf-concern__title{margin:0;font-family:var(--font-heading-family);font-weight:400;font-size:2.4rem;line-height:1.15;letter-spacing:0}
.rf-concern__btns{display:flex;flex-direction:column;gap:.8rem;margin-top:auto}
.rf-treat{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:4rem 2rem;border-radius:2.4rem;overflow:hidden;background:var(--rf-ink);color:#fff;text-align:center}
.rf-treat--slate{background:var(--rf-slate)}
.rf-treat__title{margin:0;font-family:var(--font-heading-family);font-weight:400;font-size:clamp(2.9rem,3vw,4rem);line-height:1.1;letter-spacing:0;color:#fff}
.rf-treat__text{margin:0;font-size:1.6rem;color:#e8e1db}
.rf-treat__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:.8rem}
.rf-treat__media{width:100%;max-width:48rem;aspect-ratio:12/7;margin:2rem 0 -4rem;border-radius:2rem 2rem 0 0;overflow:hidden}
.rf-treat__media img{display:block;width:100%;height:100%;object-fit:cover}
.rf-reviews__hint{padding:2.4rem;border:1px dashed var(--rf-muted);border-radius:2rem;font-size:1.4rem}
@media screen and (min-width:750px){.rf-wrap{padding:0 2.4rem}.rf-pad{padding-top:9.6rem}.rf-pad--bottom{padding-bottom:9.6rem}.rf-head{margin-bottom:3.6rem}.rf-grid{gap:1.6rem}.rf-grid--stack{grid-template-columns:repeat(2,minmax(0,1fr))}.rf-btn{font-size:1.6rem}.rf-hero{padding:7.6rem 2.4rem 0}.rf-hero__text{font-size:2rem}.rf-hero__btns{flex-direction:row;justify-content:center;width:auto}.rf-hero__media{margin-top:4rem;aspect-ratio:30/11;border-radius:2.8rem 2.8rem 0 0}.rf-card{padding:2rem;gap:1.2rem;border-radius:2.4rem}.rf-card__title{font-size:2.4rem}.rf-spot{flex-direction:row;border-radius:2.8rem}.rf-spot__body,.rf-spot__media{flex:1 1 50%}.rf-spot__body{padding:6.4rem 5.6rem}.rf-spot__media{min-height:46rem}.rf-concern{padding:2.8rem}.rf-concern__title{min-height:6.2rem;font-size:2.7rem}.rf-treat{padding:5.2rem 2.4rem;border-radius:2.8rem}.rf-treat__media{margin-bottom:-5.2rem}}
@media screen and (min-width:990px){.rf-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}}
