/* base/base.css
   Resets, page ground, links, focus states, accessibility helpers.
   Rewind Club - loaded in order by functions.php. */

*{box-sizing:border-box}

html{scroll-behavior:smooth}

@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:400 17px/1.65 var(--font-body);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

body.rewind-grain::before{
  content:""; position:fixed; inset:0; z-index:9999; pointer-events:none; opacity:var(--grain);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}

html[data-theme="dark"] body.rewind-grain::before{mix-blend-mode:screen}

h1,
h2,
h3,
h4,
h5,
.wordmark,
.rc-display{
  font-family:var(--font-display); font-weight:800; line-height:1.05;
  letter-spacing:-.02em; text-wrap:balance; margin:0 0 .4em;
}

h1{font-size:clamp(32px,4.3vw,50px)}

h2{font-size:clamp(28px,3.9vw,44px)}

h3{font-size:clamp(20px,2.2vw,25px); font-weight:700; letter-spacing:-.01em}

h4{font-size:19px; font-weight:700}

p{margin:0 0 1em}

p:last-child{margin-bottom:0}

a{color:var(--mulberry); text-decoration-thickness:1px; text-underline-offset:3px}

img{max-width:100%; height:auto}

:focus-visible{outline:3px solid var(--mulberry); outline-offset:3px; border-radius:4px}

.mono,
.rc-mono{font-family:var(--font-mono)}

.eyebrow{
  font-family:var(--font-mono); font-size:11.5px; letter-spacing:.19em;
  text-transform:uppercase; color:var(--ink-2); margin:0 0 .8em;
}

.wrap{width:min(1180px,92vw); margin-inline:auto}

.pt{padding-top:clamp(48px,7vw,84px)}

.pb{padding-bottom:clamp(48px,7vw,84px)}

.screen-reader-text,
.skip-link:not(:focus){
  position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;
}

.skip-link:focus{
  position:fixed !important; left:12px; top:12px; z-index:10000; width:auto; height:auto; clip:auto;
  background:var(--ink); color:var(--paper); padding:10px 14px; border-radius:8px; text-decoration:none;
}

/* Block layout */
.wp-site-blocks>*{margin-block-start:0}

.entry-content>*{margin-bottom:1.2em}
