
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Instrument Sans',system-ui,sans-serif;color:#1a1a1a;background:#faf9f6;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:800}
img{max-width:100%}
a{color:inherit}
.pv-nav{position:sticky;top:0;z-index:40;background:rgba(250,249,246,.9);backdrop-filter:blur(12px);border-bottom:1px solid #e0dbd2;display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 22px}
.pv-logo{font-family:'Fraunces',serif;font-weight:900;font-size:20px}
.pv-logo b{color:#c8102e}
.pv-links{display:flex;gap:22px;font-size:14px}
.pv-links a{text-decoration:none}
@media(max-width:700px){.pv-links{display:none}}



  /* --- scoped reset ---------------------------------------------------
     The live store runs Symmetry 2.0.9 (pre-sections, 2014-era globals),
     so element defaults from the theme would otherwise leak in: content-box
     sizing, heading margins, uppercase buttons, underlined links. Everything
     here is scoped to this section wrapper and never leaks back out.
     font-family is deliberately NOT set — the section inherits the theme's
     brand fonts on purpose. ------------------------------------------- */
  {color:#1a1a1a;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
  *,*::before,*::after{box-sizing:border-box}
  h1,h2,h3,h4,p,ul,li,blockquote,figure{margin:0;padding:0;text-transform:none;float:none}
  li{list-style:none}
  img{display:block;max-width:100%;height:auto;border:0}
  a{text-decoration:none;color:inherit;border:0}
  button{font-family:inherit;cursor:pointer;text-transform:none;letter-spacing:normal;border-radius:0;box-shadow:none;min-height:0;width:auto}
  input,textarea,select{font-family:inherit;box-shadow:none}
  form{margin:0}
  .rf-bb{--rfred:#c8102e;--rfink:#1a1a1a;--rfmid:#5c6066;--rfline:#e0dbd2;--rfbg:#faf9f6;--rftint:#f0ede8;--rfgreen:#256b45;--rfamber:#6f4d0e;background:var(--rfbg);color:var(--rfink);font-size:16px;line-height:1.6}
  .rf-bb__wrap{max-width:1200px;margin:0 auto;padding:26px 22px 40px}
  .rf-bb__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:44px;align-items:start}
  .rf-bb h1,.rf-bb h2{margin:0}
  .rf-bb button{font-family:inherit;cursor:pointer}
  /* gallery */
  .rf-bb__gallery{position:sticky;top:84px}
  .rf-bb__stage{position:relative;border:1px solid var(--rfline);border-radius:16px;overflow:hidden;background:#fff}
  .rf-bb__flag{position:absolute;top:14px;left:14px;z-index:2;background:var(--rfred);color:#fff;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:999px}
  .rf-bb__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;aspect-ratio:1/1}
  .rf-bb__track::-webkit-scrollbar{display:none}
  .rf-bb__slide{flex:0 0 100%;scroll-snap-align:center;border:none;background:#fff;padding:0}
  .rf-bb__slide img{width:100%;height:100%;object-fit:contain;display:block}
  .rf-bb__arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.92);border:1px solid var(--rfline);font-size:22px;line-height:1;display:grid;place-items:center;z-index:2}
  .rf-bb__arrow--prev{left:12px}
  .rf-bb__arrow--next{right:12px}
  .rf-bb__dots{display:none;justify-content:center;gap:6px;margin-top:10px}
  .rf-bb__dots button{width:7px;height:7px;border-radius:50%;background:var(--rfline);border:none;padding:0}
  .rf-bb__dots button.is-active{background:var(--rfred)}
  .rf-bb__thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:4px}
  .rf-bb__thumb{flex:0 0 64px;height:64px;border:1.5px solid var(--rfline);border-radius:10px;overflow:hidden;background:#fff;padding:4px}
  .rf-bb__thumb img{width:100%;height:100%;object-fit:contain}
  .rf-bb__thumb.is-active{border-color:var(--rfred)}
  .rf-bb__gcap{font-size:13px;color:var(--rfmid);margin:10px 0 0}
  /* buy box */
  .rf-bb__crumb{font-size:12.5px;color:var(--rfmid);margin-bottom:10px}
  .rf-bb__crumb a{color:inherit;text-decoration:none}
  .rf-bb__title{font-size:clamp(28px,4.5vw,40px);letter-spacing:-.02em;line-height:1.06}
  .rf-bb__rating{display:inline-flex;align-items:center;gap:7px;font-size:14px;margin:10px 0 4px;color:inherit;text-decoration:none}
  .rf-bb__stars{color:var(--rfred);letter-spacing:2px}
  .rf-bb__pricerow{display:flex;align-items:baseline;gap:10px;margin:8px 0 2px}
  .rf-bb__price{font-size:26px;font-weight:800;letter-spacing:-.02em}
  .rf-bb__price s{color:var(--rfmid);font-weight:500;font-size:19px;margin-right:4px}
  .rf-bb__pricenote{font-size:14px;color:var(--rfmid)}
  .rf-bb__promise{font-size:16.5px;margin:10px 0 0;color:var(--rfink)}
  .rf-bb__voc{font-size:14px;color:var(--rfmid);border-left:3px solid var(--rfred);padding:2px 0 2px 12px;margin:12px 0 0;font-style:italic}
  .rf-bb__voc cite{font-style:normal;font-weight:600;color:var(--rfink)}
  .rf-bb__micro{list-style:none;margin:14px 0 0;padding:0;font-size:14px;color:var(--rfink)}
  .rf-bb__micro li{padding-left:22px;position:relative;margin-bottom:5px}
  .rf-bb__micro li::before{content:'';position:absolute;left:2px;top:9px;width:10px;height:5px;border-left:2px solid var(--rfgreen);border-bottom:2px solid var(--rfgreen);transform:rotate(-45deg)}
  /* selectors */
  .rf-bb__selector{margin-top:20px}
  .rf-bb__sellabel{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:9px}
  .rf-bb__hint{font-weight:500;letter-spacing:0;text-transform:none;font-size:13px}
  .rf-bb__hint button{background:none;border:none;padding:0;font-size:13px;text-decoration:underline;color:var(--rfmid)}
  .rf-bb__tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
  .rf-bb__tiles--sets{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rf-bb__tile{border:1.5px solid var(--rfline);border-radius:12px;background:#fff;padding:11px 12px;text-align:left;display:flex;flex-direction:column;gap:2px}
  .rf-bb__tile.is-active{border-color:var(--rfred);box-shadow:0 4px 14px rgba(200,16,46,.11)}
  .rf-bb__tile.is-oos{opacity:.62}
  .rf-bb__tile b{font-size:14px}
  .rf-bb__tile .tprice{font-size:13.5px}
  .rf-bb__tile .tprice s{color:var(--rfmid);margin-right:4px}
  .rf-bb__tile .tstate{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--rfgreen)}
  .rf-bb__tile.is-oos .tstate{color:var(--rfamber)}
  .rf-bb__tile .tsave{font-size:12px;color:var(--rfgreen);font-weight:600}
  .rf-bb__tile .tqty{font-size:12px;color:var(--rfmid)}
  .rf-bb__stocknote{font-size:12.5px;color:var(--rfmid);margin:8px 0 0}
  /* fit helper */
  .rf-bb__fit{max-height:0;overflow:hidden;transition:max-height .4s ease}
  .rf-bb__fit.is-open{max-height:1400px}
  .rf-bb__fit-inner{background:var(--rftint);border-radius:12px;padding:14px 16px;font-size:14px;margin-top:12px}
  .rf-bb__fitvoc{display:block;margin-top:8px;font-style:italic;color:var(--rfmid);font-size:13px}
  .rf-bb__fitguide{display:block;width:100%;margin-top:12px;padding:0;background:#fff;border:1px solid var(--rfline);border-radius:10px;overflow:hidden;position:relative}
  /* capped inline: the guide is a tall image, and the panel sits between the
     club selector and the putter selector — full height would bury them */
  .rf-bb__fitguide img{width:100%;height:auto;max-height:300px;object-fit:cover;object-position:top}
  .rf-bb__fitguide span{display:block;font-size:12px;font-weight:600;color:var(--rfmid);padding:8px;text-align:center;border-top:1px solid var(--rfline)}
  .rf-bb__fitguide:hover span{color:var(--rfred)}
  /* notify */
  .rf-bb__notify{max-height:0;overflow:hidden;transition:max-height .4s ease}
  .rf-bb__notify.is-open{max-height:220px}
  .rf-bb__notify-inner{background:#fff;border:1.5px dashed var(--rfline);border-radius:12px;padding:14px 16px;font-size:14px;margin-top:12px}
  .rf-bb__notify-form{display:flex;gap:8px;margin-top:10px}
  .rf-bb__notify-form input{flex:1;border:1.5px solid var(--rfline);border-radius:9px;padding:10px 12px;font-size:14px;font-family:inherit}
  .rf-bb__notifydone{margin-top:8px;font-size:13px;color:var(--rfgreen);font-weight:600}
  .rf-bb__notify-form button{background:var(--rfink);color:#fff;border:none;border-radius:9px;padding:10px 16px;font-size:13.5px;font-weight:600}
  /* add-ons */
  .rf-bb__addons{margin-top:18px;display:flex;flex-direction:column;gap:9px}
  .rf-bb__addon{display:flex;align-items:center;gap:12px;border:1.5px solid var(--rfline);border-radius:12px;background:#fff;padding:11px 13px;cursor:pointer}
  .rf-bb__addon:has(input:checked){border-color:var(--rfred);box-shadow:0 4px 14px rgba(200,16,46,.09)}
  .rf-bb__addon input{width:18px;height:18px;accent-color:var(--rfred);flex-shrink:0}
  .rf-bb__addon img{width:52px;height:52px;object-fit:contain;border-radius:8px;background:var(--rftint);flex-shrink:0}
  .rf-bb__addon-copy{flex:1;display:flex;flex-direction:column;font-size:12.5px;color:var(--rfmid)}
  .rf-bb__addon-copy b{font-size:14px;color:var(--rfink)}
  .rf-bb__chip{display:inline-block;background:var(--rfred);color:#fff;font-size:10.5px;font-weight:700;border-radius:999px;padding:1px 8px;margin:2px 0;align-self:flex-start}
  .rf-bb__swatches{display:flex;gap:5px;margin-top:5px}
  .rf-bb__swatches button{font-size:11.5px;border:1px solid var(--rfline);border-radius:999px;background:#fff;padding:2px 9px}
  .rf-bb__swatches button.is-on{background:var(--rfink);color:#fff;border-color:var(--rfink)}
  .rf-bb__addon-price{font-size:14px;font-weight:700;white-space:nowrap}
  .rf-bb__addon-price s{font-weight:500;color:var(--rfmid);margin-right:4px}
  /* gift note */
  .rf-bb__giftnote{margin-top:14px;background:var(--rftint);border-radius:12px;padding:13px 15px;font-size:13.5px}
  .rf-bb__giftnote textarea{width:100%;border:1.5px solid var(--rfline);border-radius:9px;min-height:64px;margin-top:8px;padding:9px 11px;font-family:inherit;font-size:13.5px;resize:vertical}
  /* CTA */
  .rf-bb__ctarow{margin-top:20px}
  .rf-bb__atc{width:100%;background:var(--rfred);color:#fff;border:none;border-radius:12px;font-size:16.5px;font-weight:700;padding:17px;transition:transform .15s ease,background .2s}
  .rf-bb__atc:hover{background:#a00d24}
  .rf-bb__atc.is-added{transform:scale(.985)}
  .rf-bb__express{margin-top:10px}
  .rf-bb__express .shopify-payment-button__button{border-radius:12px}
  .rf-bb__shiphint{font-size:13px;color:var(--rfgreen);font-weight:600;text-align:center;margin:9px 0 0;min-height:1em}
  .rf-bb__atcsub{font-size:13px;color:var(--rfmid);text-align:center;margin:7px 0 0}
  .rf-bb__secure{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12.5px;color:var(--rfmid);margin-top:12px}
  /* guarantee */
  .rf-bb__guarantee{display:flex;gap:12px;background:#fff;border:1px solid var(--rfline);border-radius:12px;padding:14px 16px;margin-top:18px;font-size:13.5px}
  .rf-bb__guarantee b{font-size:14.5px}
  .rf-bb__guarantee p{margin:3px 0 0;color:var(--rfmid)}
  .rf-bb__gi{width:32px;height:32px;border-radius:50%;background:var(--rftint);display:grid;place-items:center;color:var(--rfgreen);flex-shrink:0}
  /* sticky */
  .rf-bb__sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--rfline);box-shadow:0 -6px 24px rgba(15,15,15,.08);transform:translateY(110%);transition:transform .3s ease;padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
  .rf-bb__sticky.is-show{transform:none}
  .rf-bb__sticky-in{display:flex;align-items:center;gap:12px;max-width:1200px;margin:0 auto}
  .rf-bb__sticky-name{font-size:13.5px;font-weight:700}
  .rf-bb__sticky-sub{font-size:12px;color:var(--rfmid)}
  .rf-bb__sticky-price{margin-left:auto;font-size:16px;font-weight:800}
  .rf-bb__sticky button{background:var(--rfred);color:#fff;border:none;border-radius:10px;font-size:14.5px;font-weight:700;padding:12px 18px}
  /* lightbox */
  .rf-bb__lb{position:fixed;inset:0;z-index:90;background:rgba(15,15,15,.94);display:none;flex-direction:column}
  .rf-bb__lb.is-show{display:flex}
  .rf-bb__lb-top{display:flex;justify-content:space-between;align-items:center;color:#fff;padding:14px 18px;font-size:14px}
  .rf-bb__lb-top button{background:none;border:none;color:#fff;font-size:30px;line-height:1}
  .rf-bb__lb-stage{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 10px 24px;min-height:0}
  .rf-bb__lb-stage img{max-width:min(92vw,900px);max-height:100%;object-fit:contain}
  .rf-bb__lb-stage button{background:rgba(255,255,255,.12);border:none;color:#fff;width:44px;height:44px;border-radius:50%;font-size:24px;flex-shrink:0}
  /* solo view: the size guide and the video have no previous/next to step through */
  .rf-bb__lb.is-solo .rf-bb__lb-stage button{display:none}
  .rf-bb__lb.is-solo .rf-bb__lb-stage img{max-width:min(96vw,760px);background:#fff;border-radius:8px}
  .rf-bb__lb.is-video .rf-bb__lb-stage img{display:none}
  .rf-bb__lb-video{width:min(94vw,960px);aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden}
  .rf-bb__lb-video iframe{width:100%;height:100%;border:0;display:block}
  /* video card under the gallery */
  .rf-bb__video{display:flex;align-items:center;gap:12px;width:100%;margin-top:10px;padding:8px;background:#fff;border:1px solid var(--rfline);border-radius:12px;text-align:left}
  .rf-bb__video:hover{border-color:var(--rfred)}
  .rf-bb__video-thumb{position:relative;flex:0 0 92px;height:56px;border-radius:8px;overflow:hidden;background:#000}
  .rf-bb__video-thumb img{width:100%;height:100%;object-fit:cover;opacity:.85}
  .rf-bb__video-play{position:absolute;inset:0;margin:auto;width:0;height:0;border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent #fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}
  .rf-bb__video-copy{display:flex;flex-direction:column}
  .rf-bb__video-copy b{font-size:14px}
  .rf-bb__video-copy small{font-size:12.5px;color:var(--rfmid)}
  @media(max-width:900px){
    .rf-bb__grid{grid-template-columns:minmax(0,1fr);gap:22px}
    .rf-bb__gallery{position:static}
    .rf-bb__arrow{display:none}
    .rf-bb__dots{display:flex}
    .rf-bb__thumbs{display:none}
    .rf-bb__tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  }
  @media(min-width:901px){
    .rf-bb__sticky{display:none}
  }



  /* --- scoped reset ---------------------------------------------------
     The live store runs Symmetry 2.0.9 (pre-sections, 2014-era globals),
     so element defaults from the theme would otherwise leak in: content-box
     sizing, heading margins, uppercase buttons, underlined links. Everything
     here is scoped to this section wrapper and never leaks back out.
     font-family is deliberately NOT set — the section inherits the theme's
     brand fonts on purpose. ------------------------------------------- */
  {color:#1a1a1a;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
  button{font-family:inherit;cursor:pointer;text-transform:none;letter-spacing:normal;border-radius:0;box-shadow:none;min-height:0;width:auto}
  input,textarea,select{font-family:inherit;box-shadow:none}

  .rf-story{background:#faf9f6}
  .rf-story__wrap{max-width:1200px;margin:0 auto;padding:54px 22px}
  .rf-story__eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#c8102e;margin:0 0 12px}
  .rf-story__eyebrow--light{color:#ff4d63}
  .rf-story__title{font-size:clamp(24px,3.4vw,34px);line-height:1.08;letter-spacing:-.02em;margin:0 0 26px}
  .rf-story__title--light{color:#fff}
  /* benefits as a picture grid */
  .rf-story__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
  .rf-story__card{background:#fff;border:1px solid #e0dbd2;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
  .rf-story__shot{display:block;aspect-ratio:3/4;background:#fff;border-bottom:1px solid #e0dbd2;position:relative}
  .rf-story__shot img{position:absolute;inset:12px;width:calc(100% - 20px);height:calc(100% - 20px);object-fit:contain}
  .rf-story__copy{display:block;padding:14px 15px 17px}
  .rf-story__copy b{display:block;font-size:15.5px;margin-bottom:4px;line-height:1.25}
  .rf-story__copy span{font-size:13.5px;color:#5c6066}
  /* founder */
  .rf-story__founder{background:#1a1a1a;color:#d9d5cd}
  .rf-story__founder-in{max-width:900px}
  .rf-story__founder-in.has-photo{display:grid;grid-template-columns:260px minmax(0,1fr);gap:34px;align-items:start;max-width:1000px}
  .rf-story__portrait{position:relative;border-radius:14px;overflow:hidden;background:#222}
  .rf-story__portrait img{width:100%;height:auto;display:block}
  .rf-story__portrait span{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.8));color:#fff;font-size:12px;padding:22px 12px 10px}
  .rf-story__founder-copy p{margin:0 0 14px;font-size:16px}
  .rf-story__sig{font-size:22px;color:#fff;font-style:italic;margin-top:20px}
  .rf-story__sig small{display:block;font-size:12.5px;font-style:normal;color:#9a958c;margin-top:3px;letter-spacing:.06em;text-transform:uppercase}
  @media(max-width:900px){
    .rf-story__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .rf-story__wrap{padding:38px 22px}
    .rf-story__founder-in.has-photo{grid-template-columns:minmax(0,1fr);gap:20px}
    .rf-story__portrait{max-width:220px}
  }



  /* --- scoped reset ---------------------------------------------------
     The live store runs Symmetry 2.0.9 (pre-sections, 2014-era globals),
     so element defaults from the theme would otherwise leak in: content-box
     sizing, heading margins, uppercase buttons, underlined links. Everything
     here is scoped to this section wrapper and never leaks back out.
     font-family is deliberately NOT set — the section inherits the theme's
     brand fonts on purpose. ------------------------------------------- */
  {color:#1a1a1a;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
  button{font-family:inherit;cursor:pointer;text-transform:none;letter-spacing:normal;border-radius:0;box-shadow:none;min-height:0;width:auto}
  input,textarea,select{font-family:inherit;box-shadow:none}
  .rf-rev{background:#f0ede8;color:#1a1a1a;font-size:16px;line-height:1.6}
  .rf-rev__wrap{max-width:1200px;margin:0 auto;padding:54px 22px}
  .rf-rev__eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#c8102e;margin:0 0 12px}
  .rf-rev__title{font-size:clamp(24px,3.4vw,34px);line-height:1.08;letter-spacing:-.02em;margin:0 0 20px}
  .rf-rev__head{display:flex;gap:30px;align-items:center;flex-wrap:wrap;margin-bottom:26px}
  .rf-rev__shot{flex:0 0 150px;height:150px;background:#fff;border:1px solid #e0dbd2;border-radius:14px;padding:10px}
  .rf-rev__shot img{width:100%;height:100%;object-fit:contain}
  .rf-rev__agg{display:flex;align-items:baseline;gap:10px}
  .rf-rev__big{font-size:44px;font-weight:800;letter-spacing:-.03em}
  .rf-rev__stars{color:#c8102e;letter-spacing:2px}
  .rf-rev__cnt{font-size:14px;color:#5c6066}
  .rf-rev__dist{flex:1;min-width:230px;max-width:340px}
  .rf-rev__row{display:flex;align-items:center;gap:9px;font-size:12.5px;color:#5c6066;margin-bottom:3px}
  .rf-rev__row>span:first-child{width:26px}
  .rf-rev__rowcnt{width:34px;text-align:right}
  .rf-rev__bar{flex:1;height:7px;border-radius:999px;background:#e0dbd2;overflow:hidden}
  .rf-rev__bar i{display:block;height:100%;background:#c8102e;border-radius:999px}
  .rf-rev__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .rf-rev__card{background:#fff;border:1px solid #e0dbd2;border-radius:13px;padding:17px 18px}
  .rf-rev__cardtop{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
  .rf-rev__cardtop small{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#5c6066;background:#f0ede8;border-radius:999px;padding:3px 9px}
  .rf-rev__card h3{font-size:15.5px;margin:0 0 6px}
  .rf-rev__card p{font-size:14px;color:#3c3f43;margin:0 0 10px}
  .rf-rev__card cite{font-size:13px;font-style:normal;font-weight:600;color:#5c6066}
  .rf-rev__more{display:block;width:max-content;margin:24px auto 0;border:1.5px solid #1a1a1a;border-radius:999px;padding:11px 26px;font-size:14px;font-weight:600;color:#1a1a1a;text-decoration:none}
  .rf-rev__more:hover{background:#1a1a1a;color:#fff}
  @media(max-width:860px){.rf-rev__grid{grid-template-columns:minmax(0,1fr)}.rf-rev__wrap{padding:38px 22px}}



  /* --- scoped reset ---------------------------------------------------
     The live store runs Symmetry 2.0.9 (pre-sections, 2014-era globals),
     so element defaults from the theme would otherwise leak in: content-box
     sizing, heading margins, uppercase buttons, underlined links. Everything
     here is scoped to this section wrapper and never leaks back out.
     font-family is deliberately NOT set — the section inherits the theme's
     brand fonts on purpose. ------------------------------------------- */
  {color:#1a1a1a;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
  button{font-family:inherit;cursor:pointer;text-transform:none;letter-spacing:normal;border-radius:0;box-shadow:none;min-height:0;width:auto}
  input,textarea,select{font-family:inherit;box-shadow:none}
  .rf-set{padding:54px 0;background:#f0ede8}
  .rf-set__wrap{max-width:1200px;margin:0 auto;padding:0 22px}
  .rf-set__eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#c8102e;margin:0 0 12px}
  .rf-set__title{font-size:clamp(24px,3.4vw,34px);line-height:1.08;letter-spacing:-.02em;margin:0 0 10px}
  .rf-set__lead{font-size:16px;color:#5c6066;max-width:62ch;margin:0 0 22px}
  .rf-set__layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:34px;align-items:start}
  .rf-set__tiers{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
  .rf-set__tier{font-size:12.5px;font-weight:600;border:1.5px solid #e0dbd2;border-radius:30px;padding:8px 16px;background:#fff;cursor:pointer}
  .rf-set__tier.is-active{background:#1a1a1a;color:#fff;border-color:#1a1a1a}
  .rf-set__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
  .rf-set__card{position:relative;background:#fff;border:1.5px solid #e0dbd2;border-radius:13px;overflow:hidden;padding:0;text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s;width:100%}
  .rf-set__card.is-selected{border-color:#c8102e;box-shadow:0 6px 22px rgba(0,0,0,.09)}
  .rf-set__card.is-out{cursor:default;opacity:.72}
  .rf-set__check{position:absolute;top:9px;right:9px;width:24px;height:24px;border-radius:50%;background:#fff;border:1.5px solid #e0dbd2;display:grid;place-items:center;font-size:13px;color:transparent;z-index:1}
  .rf-set__card.is-selected .rf-set__check{background:#c8102e;border-color:#c8102e;color:#fff}
  .rf-set__img{display:block;aspect-ratio:1/1;background:#fff;position:relative;border-bottom:1px solid #e0dbd2}
  .rf-set__img img{position:absolute;inset:10px;width:calc(100% - 20px);height:calc(100% - 20px);object-fit:contain}
  .rf-set__body{display:block;padding:11px 12px 14px}
  .rf-set__name{display:block;font-size:13px;font-weight:600}
  .rf-set__price{display:block;font-size:13px;color:#5c6066;margin-top:2px}
  .rf-set__price s{margin-right:3px}
  .rf-set__state{display:block;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-top:6px;color:#256b45}
  .rf-set__card.is-out .rf-set__state{color:#6f4d0e}
  .rf-set__sum{background:#fff;border:1px solid #e0dbd2;border-radius:14px;padding:20px;position:sticky;top:84px}
  .rf-set__sum-title{font-size:19px;margin:0 0 4px}
  .rf-set__sum-note{font-size:13px;color:#5c6066;margin:0 0 16px}
  .rf-set__row{display:flex;justify-content:space-between;font-size:14px;padding:6px 0}
  .rf-set__row--muted{color:#5c6066}
  .rf-set__row--save{color:#256b45;font-weight:600}
  .rf-set__row s{color:#5c6066;margin-right:4px}
  .rf-set__total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #e0dbd2;margin-top:8px;padding-top:12px}
  .rf-set__total-label{font-size:13px;color:#5c6066}
  .rf-set__total-value{font-size:26px;font-weight:800;letter-spacing:-.02em}
  .rf-set__cta{width:100%;margin-top:14px;background:#c8102e;color:#fff;font-size:15px;font-weight:700;padding:15px;border:none;border-radius:11px;cursor:pointer}
  .rf-set__cta[disabled]{background:#b9b5ac;cursor:not-allowed}
  .rf-set__fine{font-size:11.5px;color:#5c6066;text-align:center;margin:9px 0 0;line-height:1.4}
  @media(max-width:1000px){.rf-set__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
  @media(max-width:860px){.rf-set__layout{grid-template-columns:minmax(0,1fr);gap:24px}.rf-set__sum{position:static}}
  @media(max-width:680px){.rf-set__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}



  /* --- scoped reset ---------------------------------------------------
     The live store runs Symmetry 2.0.9 (pre-sections, 2014-era globals),
     so element defaults from the theme would otherwise leak in: content-box
     sizing, heading margins, uppercase buttons, underlined links. Everything
     here is scoped to this section wrapper and never leaks back out.
     font-family is deliberately NOT set — the section inherits the theme's
     brand fonts on purpose. ------------------------------------------- */
  {color:#1a1a1a;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
  button{font-family:inherit;cursor:pointer;text-transform:none;letter-spacing:normal;border-radius:0;box-shadow:none;min-height:0;width:auto}
  input,textarea,select{font-family:inherit;box-shadow:none}
  .rf-x{padding:54px 0;background:#f0ede8}
  .rf-x__wrap{max-width:1200px;margin:0 auto;padding:0 22px}
  .rf-x__eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#c8102e;margin:0 0 12px}
  .rf-x__title{font-size:clamp(24px,3.4vw,34px);line-height:1.08;letter-spacing:-.02em;margin:0 0 10px}
  .rf-x__lead{font-size:16px;color:#5c6066;max-width:62ch;margin:0 0 24px}
  .rf-x__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
  .rf-x__card{background:#fff;border:1px solid #e0dbd2;border-radius:13px;overflow:hidden;display:flex;flex-direction:column}
  .rf-x__img{display:block;aspect-ratio:1/1;background:#fff;position:relative;border-bottom:1px solid #e0dbd2}
  .rf-x__img img{position:absolute;inset:14px;width:calc(100% - 28px);height:calc(100% - 28px);object-fit:contain}
  .rf-x__body{padding:13px 14px 15px;display:flex;flex-direction:column;gap:4px;flex:1}
  .rf-x__name{font-size:15px;font-weight:700;letter-spacing:-.01em;text-decoration:none;color:inherit}
  .rf-x__rev{font-size:12px;color:#5c6066}
  .rf-x__why{font-size:12px;font-weight:600;color:#c8102e}
  .rf-x__price{font-size:14px;font-weight:700;margin-top:auto;padding-top:8px}
  .rf-x__price s{font-weight:500;color:#5c6066;margin-right:3px}
  .rf-x__add{border:none;border-radius:9px;background:#c8102e;color:#fff;padding:10px;font-size:13px;font-weight:700;margin-top:9px;cursor:pointer}
  .rf-x__pills{display:none;flex-wrap:wrap;gap:6px;margin-top:8px}
  .rf-x__card.is-open .rf-x__pills{display:flex}
  .rf-x__card.is-open .rf-x__add{display:none}
  .rf-x__pills button{font-size:12px;border:1.5px solid #e0dbd2;border-radius:999px;background:#fff;padding:6px 11px;cursor:pointer}
  .rf-x__pills button:hover{border-color:#c8102e;color:#c8102e}
  .rf-x__go{border:1.5px solid #e0dbd2;border-radius:9px;padding:9px;font-size:13px;font-weight:600;text-align:center;margin-top:9px;display:block;text-decoration:none;color:inherit}
  .rf-x__go:hover{border-color:#c8102e;color:#c8102e}
  @media(max-width:860px){.rf-x__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}



  /* --- scoped reset ---------------------------------------------------
     The live store runs Symmetry 2.0.9 (pre-sections, 2014-era globals),
     so element defaults from the theme would otherwise leak in: content-box
     sizing, heading margins, uppercase buttons, underlined links. Everything
     here is scoped to this section wrapper and never leaks back out.
     font-family is deliberately NOT set — the section inherits the theme's
     brand fonts on purpose. ------------------------------------------- */
  {color:#1a1a1a;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
  button{font-family:inherit;cursor:pointer;text-transform:none;letter-spacing:normal;border-radius:0;box-shadow:none;min-height:0;width:auto}
  input,textarea,select{font-family:inherit;box-shadow:none}
  .rf-gift{background:#faf9f6;color:#1a1a1a;font-size:16px;line-height:1.6}
  .rf-gift__wrap{max-width:1200px;margin:0 auto;padding:54px 22px}
  .rf-gift__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:44px;align-items:start}
  .rf-gift__eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#c8102e;margin:0 0 12px}
  .rf-gift__title{font-size:clamp(24px,3.4vw,34px);line-height:1.08;letter-spacing:-.02em;margin:0 0 12px}
  .rf-gift__lead{font-size:16px;color:#5c6066;margin:0 0 18px;max-width:60ch}
  .rf-gift__closing{margin-top:16px}
  .rf-gift__quote{font-size:14px;font-style:italic;color:#3c3f43;border-left:3px solid #c8102e;padding:2px 0 2px 12px;margin:0 0 10px}
  .rf-gift__card{background:#fff;border:1px solid #e0dbd2;border-radius:16px;padding:24px;box-shadow:0 2px 4px rgba(15,15,15,.05),0 14px 34px rgba(15,15,15,.07)}
  .rf-gift__shot{display:block;aspect-ratio:1/1;background:#faf9f6;border-radius:11px;margin:-6px 0 14px;position:relative;overflow:hidden}
  .rf-gift__shot img{position:absolute;inset:8px;width:calc(100% - 16px);height:calc(100% - 16px);object-fit:contain}
  .rf-gift__card b{font-size:18px}
  .rf-gift__card p{font-size:14px;color:#5c6066;margin:8px 0 16px}
  .rf-gift__cta{display:block;text-align:center;background:#c8102e;color:#fff;border-radius:11px;padding:13px;font-size:15px;font-weight:700;text-decoration:none}
  .rf-gift__gc{font-size:13px !important;margin:14px 0 0 !important}
  .rf-gift__gc a{text-decoration:underline;color:inherit}
  @media(max-width:860px){.rf-gift__grid{grid-template-columns:minmax(0,1fr);gap:22px}.rf-gift__wrap{padding:38px 22px}}



  /* --- scoped reset ---------------------------------------------------
     The live store runs Symmetry 2.0.9 (pre-sections, 2014-era globals),
     so element defaults from the theme would otherwise leak in: content-box
     sizing, heading margins, uppercase buttons, underlined links. Everything
     here is scoped to this section wrapper and never leaks back out.
     font-family is deliberately NOT set — the section inherits the theme's
     brand fonts on purpose. ------------------------------------------- */
  {color:#1a1a1a;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
  button{font-family:inherit;cursor:pointer;text-transform:none;letter-spacing:normal;border-radius:0;box-shadow:none;min-height:0;width:auto}
  input,textarea,select{font-family:inherit;box-shadow:none}
  .rf-faq{background:#faf9f6;color:#1a1a1a;font-size:16px;line-height:1.6}
  .rf-faq__wrap{max-width:820px;margin:0 auto;padding:54px 22px}
  .rf-faq__eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#c8102e;margin:0 0 12px;text-align:center}
  .rf-faq__title{font-size:clamp(24px,3.4vw,34px);line-height:1.08;letter-spacing:-.02em;margin:0 0 26px;text-align:center}
  .rf-faq__item{border:1px solid #e0dbd2;border-radius:12px;background:#fff;margin-bottom:9px;padding:0 18px}
  .rf-faq__item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:15.5px;font-weight:600;padding:15px 0}
  .rf-faq__item summary::-webkit-details-marker{display:none}
  .rf-faq__item summary span::before{content:'+';font-size:20px;color:#5c6066}
  .rf-faq__item[open] summary span::before{content:'\2212'}
  .rf-faq__item p{font-size:14.5px;color:#3c3f43;margin:0;padding:0 0 16px}

/* the "which size" spec under the gift card: a fact, set apart from the argument
   above it, so it reads as a spec line instead of tired repeated copy */
.rf-gift__spec{margin-top:9px;padding-top:9px;border-top:1px solid rgba(255,255,255,.16);
  font-size:13.5px;line-height:1.5;opacity:.86}

.rf-gift__note{margin-top:8px;font-size:12.5px;line-height:1.5;opacity:.6}

/* ---------- narrow-screen overflow fixes ---------- */

/* "+$20" rendered off-screen: the swatch row refused to shrink, so the price
   column was pushed past the right edge */
.rf-bb__addon { align-items: start }
.rf-bb__addon-copy { min-width: 0 }
.rf-bb__swatches { flex-wrap: wrap }
.rf-bb__addon-price { white-space: nowrap; flex: 0 0 auto }
@media (max-width: 420px) {
  .rf-bb__addon { gap: 9px; padding: 10px 11px }
  .rf-bb__addon > img { width: 44px; height: 44px }
}

/* the notify box: "Notify me" was clipped by the dashed panel on a phone */
.rf-bb__notify-form { flex-wrap: wrap }
.rf-bb__notify-form input { min-width: 0; flex: 1 1 150px }
.rf-bb__notify-form button { flex: 0 0 auto; white-space: nowrap }

/* the sticky add-to-bag bar sat permanently on top of the last ~83px of the page */
@media (max-width: 760px) {
  body { padding-bottom: 84px }
  .rf-bb__lb-stage > button[data-rf-lb-prev] { left: 4px }
  .rf-bb__lb-stage > button[data-rf-lb-next] { right: 4px }
}

/* both lightbox arrows were cut off by the screen edges at 320px */
@media (max-width: 360px) {
  .rf-bb__arrow { width: 34px; height: 34px }
  .rf-bb__arrow--prev { left: 6px }
  .rf-bb__arrow--next { right: 6px }
}

/* a collapsed panel must not keep its controls in the tab order, and the swatch
   is a radio now, so it needs the affordances of one */
.rf-bb__fit:not(.is-open), .rf-bb__notify:not(.is-open) { visibility: hidden }
.rf-bb__fit.is-open, .rf-bb__notify.is-open { visibility: visible }
.rf-bb__swatches [role="radio"] { cursor: pointer; user-select: none }
.rf-bb__swatches [role="radio"]:focus-visible { outline: 2px solid var(--rfred); outline-offset: 2px }

/* "Restocking" was the only sold-out signal on a tile and failed AA at 3.1:1 */
.rf-bb__tile .tstate { color: #6b7076 }
.rf-bb__tile.is-oos .tstate { color: #5a5f65; font-weight: 600 }
/* nothing to price when there is nothing to buy */
.rf-bb__atc.is-gone [data-rf-atc-sep], .rf-bb__atc.is-gone [data-rf-atc-price] { display: none }
.rf-bb__atc.is-gone { background: var(--rfline); color: var(--rfmid); border-color: var(--rfline) }
