*,
*::before,
*::after{box-sizing:border-box}

html{
  font-size:var(--text-base);
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-behavior:smooth;
  scrollbar-gutter:stable;
}
html,body{overflow-x:clip}
@supports not (overflow:clip){
  html,body{overflow-x:hidden}
}

body{
  margin:0;
  font-family:var(--font-base);
  line-height:var(--line-base,1.5);
  color:var(--rrt-text);
  background:var(--rrt-bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

img,video{max-width:100%;height:auto;display:block}

a{
  color:var(--rrt-accent);
  text-decoration:none;
  text-underline-offset:.16em;
  text-decoration-thickness:1px;
}
a:hover{
  text-decoration:underline;
  text-underline-offset:.35em;
}

::selection{background:color-mix(in oklab,var(--rrt-accent) 28%,transparent)}

:where(a,button,[role="button"],input,select,textarea){
  transition-timing-function:var(--rrt-ease);
}

:where(a,button,[role="button"]):focus-visible,
:where([tabindex]):focus-visible{
  outline:none;
  box-shadow:
    0 0 0 var(--rrt-ring-offset) var(--rrt-cloud),
    0 0 0 calc(var(--rrt-ring-offset) + var(--rrt-ring-size)) var(--rrt-ring);
  border-radius:inherit;
}

:where(.rrt-card:active,.rrt-btnpill:active,.rrt-btn:active){
  transform:translateY(-1px);
}

@media (prefers-reduced-motion:reduce){
  :where(.rrt-card,.rrt-btnpill,.rrt-btn){transition:none}
}

/* Layout */
#site-content,
.site-main,
main#primary,
main.site-main{padding-inline:var(--gutter)}

.site-header,
.site-footer{padding-block:var(--space-2,24px)}

.site-header.has-bg,
.site-footer.has-bg{
  padding-inline:0;
  background:var(--rrt-cloud);
}

.site-header__inner,
.site-footer__inner{
  padding-inline:var(--gutter);
  margin-inline:auto;
}

/* Header shell */
.site-header{
  position:sticky;
  top:0;
  z-index:10000;
  border-bottom:1px solid color-mix(in srgb,var(--rrt-ink) 14%,transparent);
  transition:border-color .15s ease;
}

.site-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.25rem;
}

.site-header__left{
  display:flex;
  align-items:center;
  gap:clamp(1rem,3vw,2rem);
  min-width:0;
}

.site-header__right{
  display:flex;
  align-items:center;
  flex:0 0 auto;
}

.site-actions{
  display:flex;
  align-items:center;
  gap:1.7rem;
}

.site-nav__link,
.site-actions__link{
  text-decoration:none;
  text-underline-offset:.35em;
  text-decoration-thickness:1px;
  cursor:pointer;
}

.site-nav__link:hover,
.site-actions__link:hover{
  color:var(--rrt-ink);
  text-decoration:underline;
}

a.site-nav__link.is-current{
  background:color-mix(in srgb,var(--rrt-pink) 12%,transparent);
  border-radius:var(--radius-pill);
  padding:.25em .6em;
}

/* Nav */
.site-nav__row{
  display:flex;
  align-items:center;
  gap:.4rem;
  min-width:0;
  flex-wrap:wrap;
}
.nav-stories{margin-left:1.3rem}

.site-nav__crumb{
  max-width:40ch;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.site-nav__sep{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:14px;
  height:14px;
  color:var(--rrt-ink);
  opacity:.8;
}
.site-nav__sep::before{
  content:"";
  width:14px;
  height:14px;
  display:block;
  background:currentColor;
  -webkit-mask:var(--rrt-arrow-svg) no-repeat center;
  mask:var(--rrt-arrow-svg) no-repeat center;
  -webkit-mask-size:contain;
  mask-size:contain;
}

.rrt-arrow-link{
  display:inline-flex;
  align-items:center;
  gap:.35em;
}
.rrt-arrow-link::after{
  content:"";
  width:16px;
  height:16px;
  display:inline-block;
  background:currentColor;
  -webkit-mask:var(--rrt-arrow-svg) no-repeat center;
  mask:var(--rrt-arrow-svg) no-repeat center;
  -webkit-mask-size:contain;
  mask-size:contain;
  transform:translateX(0) rotate(-45deg);
  transition:transform .2s ease;
}
.rrt-arrow-link:hover::after,
.rrt-arrow-link:focus-visible::after{
  transform:translateX(2px) rotate(-45deg);
}
.rrt-arrow--up::after{transform:rotate(-90deg)}
.rrt-arrow--up:hover::after{transform:rotate(-90deg) translateX(3px)}

/* Cart badge */
.site-actions__link--cart{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  text-decoration:none !important;
}
.site-actions__link--cart:hover .site-actions__label{
  text-decoration:underline;
  text-decoration-thickness:1px;
}
.site-cart-badge{
  display:inline-grid;
  place-items:center;
  min-width:1.35em;
  height:1.35em;
  padding:0 .4em;
  border-radius:var(--radius-pill);
  font-size:.8em;
  line-height:1;
  background:var(--rrt-ink);
  color:var(--rrt-text-cloud,#fff);
}
.site-cart-badge[data-cart-count="0"]{display:none}

/* Offcanvas */
.site-menu-overlay{
  position:fixed;
  inset:0;
  background:color-mix(in srgb,var(--rrt-ink) 22%,transparent);
  z-index:9998;
  opacity:0;
  transition:opacity .15s ease;
}
.site-menu-overlay[hidden]{display:none}
.site-menu-overlay.is-on{opacity:1}

.site-menu{
  position:fixed;
  top:calc(1.25rem + env(safe-area-inset-top,0px) + 41px);
  right:0;
  width:min(420px,92vw);
  background:var(--rrt-pink);
  z-index:9999;
  transform:translateX(100%);
  transition:transform .18s ease;
  border-radius:24px;
}
.site-menu.is-open{transform:translateX(0)}

.site-menu__inner{
  padding:1.75rem;
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.site-menu__list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
}
.site-menu__list li{margin:0}

.site-menu__list--meta{
  margin:0 0 1rem;
  padding:0 0 1rem;
  border-bottom:1px solid color-mix(in srgb,currentColor 18%,transparent);
}

.site-menu__list a{
  display:block;
  padding:.5rem .6rem;
  border-radius:var(--radius-md);
  color:var(--rrt-ink);
  text-decoration:none;
  transition:background-color .15s ease,color .15s ease;
}
.site-menu__list a:hover,
.site-menu__list a:focus-visible{
  background:var(--rrt-ink);
  color:var(--rrt-cloud);
  text-decoration:none;
}

.site-menu__list li.current-menu-item > a,
.site-menu__list li.current-menu-parent > a,
.site-menu__list li.current-menu-ancestor > a{
  background:var(--rrt-cloud);
  color:var(--rrt-ink);
}
.site-menu__list li.current-menu-item > a:hover,
.site-menu__list li.current-menu-parent > a:hover,
.site-menu__list li.current-menu-ancestor > a:hover{
  background:var(--rrt-ink);
  color:var(--rrt-pink);
}

@media (max-width:768px){
  .site-menu{
    left:50%;
    right:auto;
    transform:translateX(calc(50vw + 24px));
  }
  .site-menu.is-open{transform:translateX(-50%)}
}

/* Menu open state */
html.is-menu-open{overflow:hidden}
body.is-menu-open{
  position:fixed;
  width:100%;
  left:0;
  right:0;
  overflow:hidden;
}
html.is-menu-open .site-actions__link{display:none !important}
html.is-menu-open .site-header{pointer-events:none}
html.is-menu-open .site-actions__menu-btn{pointer-events:auto}
html.is-menu-open .site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  width:100%;
}
html.is-menu-open body{padding-top:61px}
html.is-menu-open .site-header.has-bg{background:var(--rrt-cloud)}

/* Menu button */
.site-actions__menu-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  flex:0 0 44px;
  border:0;
  background:transparent;
  padding:0;
  border-radius:var(--radius-pill);
  cursor:pointer;
  position:relative;
  z-index:10001;
}
.site-actions__menu-btn:hover{
  background:color-mix(in srgb,currentColor 8%,transparent);
}
.site-menu__close{display:none}

.site-actions__burger{
  width:22px;
  height:16px;
  position:relative;
  display:block;
}
.site-actions__burger span{
  position:absolute;
  left:0;
  right:0;
  height:2px;
  background:currentColor;
  border-radius:var(--radius-pill);
  transform-origin:center;
  transition:transform .18s ease,top .18s ease,opacity .14s ease;
}
.site-actions__burger span:nth-child(1){top:0}
.site-actions__burger span:nth-child(2){top:7px}
.site-actions__burger span:nth-child(3){top:14px}

.site-actions__menu-btn.is-open .site-actions__burger span:nth-child(1){
  top:7px;
  transform:rotate(45deg);
}
.site-actions__menu-btn.is-open .site-actions__burger span:nth-child(2){
  opacity:0;
  transform:scaleX(.6);
}
.site-actions__menu-btn.is-open .site-actions__burger span:nth-child(3){
  top:7px;
  transform:rotate(-45deg);
}

@media (prefers-reduced-motion:reduce){
  .site-actions__burger span{transition:none}
}

html.is-menu-open .site-actions__menu-btn{
  background:color-mix(in srgb,var(--rrt-cloud) 92%,transparent);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  border:1px solid color-mix(in srgb,var(--rrt-ink) 10%,transparent);
}
html.is-menu-open .site-actions__menu-btn:hover{
  background:color-mix(in srgb,var(--rrt-cloud) 100%,transparent);
}

/* Brand */
.site-header__brand{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  color:var(--rrt-pink);
}
.site-header__brand svg{
  height:28px;
  width:auto;
  display:block;
}
.site-header__brand svg [fill]:not([fill="none"]){fill:currentColor}
.site-header__brand svg [stroke]:not([stroke="none"]){stroke:currentColor}
.site-header__brand:hover{opacity:.9}

/* Buttons */
.rrt-btn{
  text-align:center;
  border-radius:var(--radius-pill);
  text-decoration:none !important;
  line-height:1;
  padding:.85rem 1.1rem;
  cursor:pointer;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.rrt-btn:hover,
.rrt-btn:focus-visible{text-decoration:none !important}

.rrt-btn--primary{
  background:var(--rrt-pink);
  color:var(--rrt-cloud);
  border:1px solid transparent;
}
.rrt-btn--primary:hover{
  background:color-mix(in srgb,var(--rrt-pink) 85%,black);
  color:var(--rrt-cloud);
}

.rrt-btn--secondary{
  background:transparent;
  color:var(--rrt-pink);
  border:1px solid var(--rrt-pink);
}
.rrt-btn--secondary:hover{
  background:color-mix(in srgb,var(--rrt-pink) 8%,transparent);
  color:var(--rrt-pink);
}

/* Utils */
.sr-only{
  position:absolute !important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* Mobile header */
@media (max-width:768px){
  .site-nav{display:none}
  .site-actions__link{display:none}
}

/* Footer */
.site-footer{margin-top:clamp(5rem,12vh,9rem)}

.rrt-footer__grid{
  display:grid;
  grid-template-columns:var(--rrt-footer-cols);
  gap:clamp(1.25rem,4vw,3rem);
  align-items:start;
}

@media (max-width:980px){
  .rrt-footer__grid{grid-template-columns:1fr 1fr}
}

.rrt-footer__title{
  font-size:.95rem;
  letter-spacing:.02em;
  margin:0 0 .75rem;
  padding-bottom:.65rem;
  border-bottom:1px solid color-mix(in srgb,var(--rrt-ink) 18%,transparent);
}

.rrt-footer__list{
  list-style:none;
  padding:0;
  margin:0 0 6px;
  display:grid;
  gap:.4rem;
}
.rrt-footer__item{margin:0}

.rrt-footer__link{text-decoration:none}
.rrt-footer__link:hover{text-decoration:underline;text-underline-offset:.35em}

.rrt-footer__muted{margin:0;max-width:36ch}

.rrt-footer__bottom{
  margin-top:clamp(2rem,4vw,3rem);
  padding-top:1rem;
  border-top:1px solid color-mix(in srgb,var(--rrt-ink) 14%,transparent);
  display:flex;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}
.rrt-footer__small{margin:0;font-size:.9rem}

/* Footer accents */
.rrt-footer__col--fonts .rrt-footer__title{border-bottom-color:var(--rrt-teal)}
.rrt-footer__col--info .rrt-footer__title{border-bottom-color:var(--rrt-amber)}
.rrt-footer__col--support .rrt-footer__title{border-bottom-color:var(--rrt-green)}

@media (min-width:860px){
  .rrt-footer__col:not(.rrt-footer__col--newsletter) .rrt-footer__list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:1.25rem;
    row-gap:.4rem;
  }
}

@media (max-width:560px){
  .site-footer .rrt-footer__grid{grid-template-columns:1fr}

  .site-footer .rrt-footer__col:not(.rrt-footer__col--newsletter) .rrt-footer__list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:1.25rem;
    row-gap:.4rem;
  }

  .site-footer .rrt-footer__col--newsletter{min-width:0}

  .site-footer .rrt-footer__col--newsletter .rrt-newsletter__form{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:.5rem;
    align-items:center;
  }
  .site-footer .rrt-footer__col--newsletter .rrt-newsletter__input{min-width:0}
  .site-footer .rrt-footer__col--newsletter .rrt-newsletter__btn{white-space:nowrap}
}

/* Typography */
h1,h2,h3,h4{
  margin:0 0 var(--space-4,16px);
  line-height:1.12;
  letter-spacing:-.01em;
  font-weight:400;
}
h1{font-size:clamp(2rem,5vw,3.25rem)}
h2{font-size:clamp(1.6rem,3.2vw,2.4rem)}
h3{font-size:clamp(1.35rem,3vw,1.6rem)}
p{margin:0 0 var(--space-4,16px)}

/* Forms */
input,select,textarea,button{font:inherit;color:inherit}

input[type="text"],
input[type="email"],
input[type="search"],
input[type="url"],
input[type="password"],
textarea,
select{
  width:100%;
  padding:.6rem .75rem;
  border-radius:var(--radius-pill);
  border:1px solid color-mix(in oklab,var(--rrt-text) 16%,transparent);
  background:#fff;
}
input[type="range"]{accent-color:var(--rrt-accent)}

/* Surfaces */
.rrt-surface{
  background:#fff;
  border-radius:var(--radius-lg,20px);
  border:1px solid color-mix(in oklab,var(--rrt-text) 10%,transparent);
}
.rrt-muted{opacity:.75}

/* Maintenance */
.page-maintenance{
  background:var(--rrt-cloud);
  color:var(--rrt-text);
}
.maintenance{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:var(--gutter);
}
.maintenance__inner{text-align:center;max-width:40ch}
.maintenance__title{
  font-size:clamp(2.5rem,6vw,4rem);
  margin-bottom:1rem;
}
.maintenance__text{font-size:1.1rem;opacity:.8}

/* Space blocks */
:root{--rrt-space-block:clamp(2.5rem,6vw,6rem)}
.has-space-top{margin-top:var(--rrt-space-block)}
.has-space-bottom{margin-bottom:var(--rrt-space-block)}

/* Newsletter (footer) */
.rrt-newsletter__form{
  width:100%;
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:stretch;
  margin-top:.25rem;
}
.rrt-newsletter__input{
  width:100%;
  height:100%;
  border-radius:var(--radius-pill) !important;
  padding:.7rem .9rem;
  border:1px solid color-mix(in srgb,var(--rrt-pink) 25%,transparent) !important;
  background:var(--rrt-surface-soft) !important;
  color:var(--rrt-ink);
  outline:none;
}
.rrt-newsletter__input::placeholder{opacity:.55}
.rrt-newsletter__input:focus-visible{
  box-shadow:0 0 0 3px color-mix(in srgb,var(--rrt-pink) 18%,transparent);
  border-color:color-mix(in srgb,var(--rrt-pink) 22%,transparent);
}
.rrt-newsletter__btn{
  justify-self:end;
  align-self:stretch;
  white-space:nowrap;
  border-radius:var(--radius-pill);
  padding:.75rem 1.1rem;
}