:root{
  --charcoal:#222;--ink:#141414;--paper:#fbfaf7;--offwhite:#f5f4f1;--amber:#f5a400;--muted:#3a3a38;
  --mono:Roboto,sans-serif;--sans:Archivo,sans-serif;
  --grain-light:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --plaster:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='r' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='3' seed='2' stitchTiles='stitch'/%3E%3CfeDiffuseLighting lighting-color='%23fff' surfaceScale='.7'%3E%3CfeDistantLight azimuth='225' elevation='72'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23r)'/%3E%3C/svg%3E");
  --stone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600'%3E%3Cfilter id='r' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.02 .035' numOctaves='6' seed='9' stitchTiles='stitch'/%3E%3CfeDiffuseLighting lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='235' elevation='50'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23r)'/%3E%3C/svg%3E");
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:var(--sans);color:var(--ink);background:#dcdbd6 url(/images/textures/brush-wall.jpg) center top/cover no-repeat fixed}
a{color:inherit;text-decoration:none}
a:hover{color:inherit}
img{display:block;max-width:100%}
.rg-page{max-width:1280px;margin:0 auto}

/* header */
.rg-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,4fr);background:var(--grain-light),var(--charcoal);color:var(--offwhite);border-bottom:4px solid var(--amber);position:relative;z-index:30}
.rg-logo{display:flex;align-items:center;justify-content:center;padding:12px 16px;border-right:1px solid rgba(255,255,255,.14)}
.rg-logo img{height:46px}
.rg-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));font:500 23px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em}
.rg-nav>a,.rg-dd-btn{display:flex;justify-content:center;align-items:center;gap:10px;padding:0 12px;border-right:1px solid rgba(255,255,255,.14)}
.rg-nav>a:hover{color:var(--amber)}
.rg-dd{position:relative;display:flex}
.rg-dd-btn{flex:1;border-right:0}
.rg-dd-btn.is-active{background:var(--amber);color:var(--charcoal)}
.rg-caret{font-size:20px;line-height:1}
.rg-dd-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--charcoal);border-top:4px solid var(--amber);flex-direction:column}
.rg-dd:hover .rg-dd-menu,.rg-dd:focus-within .rg-dd-menu{display:flex}
.rg-dd-menu a{padding:17px 20px;border-bottom:1px solid rgba(255,255,255,.12);color:var(--offwhite)}
.rg-dd-menu a:last-child{border-bottom:0}
.rg-dd-menu a:hover{background:var(--amber);color:var(--charcoal)}

/* hero */
.rg-hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;padding:32px 32px 96px}
.rg-hero-panel{grid-column:span 7;background:var(--plaster),var(--paper);background-blend-mode:multiply;padding:76px 120px 44px 48px;display:flex;flex-direction:column;gap:39px}
.rg-eyebrow{display:flex;font:700 20px/1 var(--mono);text-transform:uppercase;letter-spacing:.005em}
.rg-banner{display:inline-block;position:relative;isolation:isolate;color:var(--offwhite);padding:12px 40px 12px 18px;background:#4f4f4a;clip-path:polygon(0 0,100% 0,calc(100% - 18px) 100%,0 100%)}
.rg-banner::before{content:"";position:absolute;inset:-6px;z-index:-1;background:url(/images/textures/brush-dense.png) 0 0/500px 500px,linear-gradient(100deg,#55554f,#4a4a46)}
.rg-gold{display:inline-block;background:linear-gradient(90deg,#ec9a00,#f8b21e 55%,#f0a000);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 6px rgba(245,164,0,.22))}
.rg-hero-copy{display:flex;flex-direction:column;gap:28px}
.rg-hero h1{margin:0;font-weight:800;font-size:104px;line-height:.86;font-stretch:66%;text-transform:uppercase;letter-spacing:-.01em;text-wrap:balance}
.rg-underline{box-shadow:inset 0 -.14em 0 var(--amber)}
.rg-amber{color:var(--amber)}
.rg-hero p{margin:0;max-width:420px;font-size:18px;line-height:1.45;color:var(--muted)}
.rg-jump{display:flex;justify-content:space-evenly;align-items:baseline;gap:16px;margin-top:8px;padding-top:20px;border-top:1px solid rgba(20,20,20,.18);white-space:nowrap}
.rg-jump a{font:700 13px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink);padding-bottom:6px;border-bottom:1px solid rgba(20,20,20,.3);transition:border-color .2s ease,color .2s ease}
.rg-jump a:hover{border-bottom-color:var(--amber);color:#a86f00}

/* carousel */
.rg-carousel{grid-column:span 5;position:relative;z-index:1;top:64px;margin-left:-84px;overflow:hidden;background:var(--charcoal);min-height:420px}
.rg-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .8s ease}
.rg-slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 6s ease-out}
.rg-slide-cap{position:absolute;left:0;right:0;bottom:0;padding:110px 32px 32px;background:linear-gradient(180deg,rgba(20,20,20,0),rgba(20,20,20,.82));color:var(--offwhite)}
.rg-slide-title{font-weight:800;font-size:38px;line-height:.94;font-stretch:68%;text-transform:uppercase;text-wrap:balance;max-width:420px;opacity:0;transform:translateY(18px);transition:opacity 1s ease,transform 1s ease}
.rg-slide.is-active{opacity:1;pointer-events:auto}
.rg-slide.is-active img{transform:scale(1)}
.rg-slide.is-active .rg-slide-title{opacity:1;transform:none;transition-delay:.7s}
.rg-car-meta{position:absolute;top:20px;right:20px;display:flex;align-items:center;gap:12px;z-index:3}
.rg-ticks{display:flex;gap:4px}
.rg-ticks button{width:22px;height:4px;border:0;padding:0;cursor:pointer;background:rgba(245,244,241,.55)}
.rg-ticks button.is-active{background:var(--amber)}
.rg-count{background:var(--charcoal);color:var(--offwhite);padding:6px 8px;font:500 10.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em}
.rg-car-nav{position:absolute;top:0;bottom:0;width:30%;z-index:2;border:0;cursor:pointer;opacity:0;transition:opacity .35s ease;display:flex;align-items:center;color:var(--offwhite);font:400 30px/1 var(--sans)}
.rg-car-nav:hover{opacity:1}
.rg-car-nav[hidden]{display:none}
.rg-prev{left:0;justify-content:flex-start;padding-left:24px;background:linear-gradient(90deg,rgba(20,20,20,.6),rgba(20,20,20,0))}
.rg-next{right:0;justify-content:flex-end;padding-right:24px;background:linear-gradient(270deg,rgba(20,20,20,.6),rgba(20,20,20,0))}

/* sections */
.rg-main{display:flex;flex-direction:column;gap:88px;padding:88px 32px 80px}
.rg-sec{display:flex;flex-direction:column;gap:24px;scroll-margin-top:24px}
.rg-sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;border-bottom:2px solid var(--ink);padding-bottom:14px}
.rg-sec-title{display:flex;flex-direction:column;gap:12px}
.rg-sec-title::before{content:"";width:48px;height:5px;background:var(--amber)}
.rg-sec-head h2{margin:0;font:800 48px/.9 var(--sans);font-stretch:66%;text-transform:uppercase}
.rg-see{font:700 13px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;padding-bottom:4px;white-space:nowrap}
.rg-see:hover{color:#a86f00}
.rg-deboss{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#9c9a95;text-shadow:0 1px 0 rgba(255,255,255,.95),0 -1px 0 rgba(0,0,0,.28)}
.rg-card-paper{background:var(--plaster),var(--paper);background-blend-mode:multiply}

/* trail picks */
.rg-picks{margin:0 -32px;padding:120px 32px 128px;background:linear-gradient(180deg,rgba(20,20,18,0) 0,rgba(20,20,18,.14) 120px,rgba(20,20,18,.14) calc(100% - 120px),rgba(20,20,18,0) 100%)}
.rg-picks-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.rg-pick{display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-height:330px;padding:24px 22px 28px;border-bottom:6px solid transparent}
.rg-pick:hover{border-bottom-color:var(--amber)}
.rg-pick-num{font:800 160px/.8 'Big Shoulders Display',sans-serif;letter-spacing:-.01em;color:var(--ink);text-shadow:0 1px 0 rgba(255,255,255,.95),0 -1px 0 rgba(0,0,0,.28)}
.rg-pick-body{display:flex;flex-direction:column;gap:12px}
.rg-pick-body::before{content:"";width:32px;height:4px;background:var(--amber)}
.rg-pick h3{margin:0;font:800 30px/.95 var(--sans);font-stretch:70%;text-transform:uppercase;text-wrap:balance}
.rg-pick--guide{background:var(--ink);color:var(--offwhite);border-bottom-color:var(--amber)}
.rg-pick--guide:hover{background:#262626}
.rg-pick-kicker{font:800 18px/1 'Big Shoulders Display',sans-serif;text-transform:uppercase;letter-spacing:.04em;color:var(--amber)}
.rg-pick--guide p{margin:0;font:400 14px/1.45 var(--mono);color:#cfcdc8}

/* toronto local */
.rg-local-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rg-local{aspect-ratio:1/1;display:flex;flex-direction:column;justify-content:flex-end;padding:32px;border-bottom:6px solid transparent}
.rg-local:hover{border-bottom-color:var(--amber)}
.rg-local h3{margin:0;font:800 46px/.92 var(--sans);font-stretch:66%;text-transform:uppercase;text-wrap:balance}

/* my kit */
.rg-kit{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);background:var(--grain-light),var(--charcoal);color:var(--offwhite);border-bottom:6px solid transparent}
.rg-kit:hover{border-bottom-color:var(--amber)}
.rg-kit-body{padding:36px 40px;display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.rg-kit-label{font:800 24px/1 'Big Shoulders Display',sans-serif;text-transform:uppercase;letter-spacing:.04em;color:#9c9a95;text-shadow:0 -1px 0 rgba(0,0,0,.6),0 1px 0 rgba(255,255,255,.08)}
.rg-kit-copy{display:flex;flex-direction:column;gap:16px}
.rg-kit h2{margin:0;font:800 56px/.88 var(--sans);font-stretch:66%;text-transform:uppercase}
.rg-kit p{margin:0;max-width:380px;font:400 16px/1.55 var(--mono);color:#d6d5d1}
.rg-kit-foot{display:flex;justify-content:space-between;align-items:center}
.rg-kit-date{font:500 13.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#b3b2ae}
.rg-kit-btn{background:var(--amber);color:var(--charcoal);padding:14px 20px;font:500 11.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em}
.rg-kit-img{min-height:340px;overflow:hidden}
.rg-kit-img img{width:100%;height:100%;object-fit:cover}

/* journal */
.rg-lead{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:16px}
.rg-lead-img{height:460px;overflow:hidden}
.rg-lead-img img,.rg-post-img img{width:100%;height:100%;object-fit:cover}
.rg-lead-body{padding:40px;display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.rg-lead-top{display:flex;justify-content:space-between;align-items:center}
.rg-lead-top .rg-deboss{font-size:22px;line-height:1}
.rg-date{font:500 13.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em}
.rg-lead h3{margin:0;font:800 58px/.9 var(--sans);font-stretch:66%;text-transform:uppercase;text-wrap:balance}
.rg-btn{align-self:flex-start;background:var(--charcoal);color:var(--offwhite);padding:14px 20px;font:500 11.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em}
.rg-lead:hover .rg-btn{background:var(--amber);color:var(--charcoal)}
.rg-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rg-post{display:flex;flex-direction:column;gap:16px}
.rg-post:hover{opacity:.85}
.rg-post-img{height:200px;overflow:hidden}
.rg-post-body{display:flex;flex-direction:column;gap:10px;border-top:2px solid var(--ink);padding-top:14px}
.rg-post-body .rg-date{color:#4a4a47}
.rg-post h4{margin:0;font:800 28px/.95 var(--sans);font-stretch:70%;text-transform:uppercase;text-wrap:balance}
.rg-ph{width:100%;height:100%;min-height:inherit;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#e4e3df 0 10px,#dcdbd6 10px 20px);font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:#5f5e5a}
.rg-kit .rg-ph{background:repeating-linear-gradient(45deg,#3a3a38 0 10px,#333331 10px 20px);color:#b3b2ae}

/* newsletter */
.rg-news{background:var(--grain-light),var(--stone),#2e2e2e;background-blend-mode:normal,multiply;color:var(--offwhite);margin:0 32px;padding:56px 48px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-items:end;scroll-margin-top:24px}
.rg-news-copy{grid-column:span 7;display:flex;flex-direction:column;gap:18px}
.rg-ride-report{position:relative;display:inline-block;align-self:flex-start}
.rg-rider-svg{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible;opacity:0;pointer-events:none}
.rg-rr-text{position:relative;z-index:1;display:inline-block;font:800 30px/1 'Big Shoulders Display',sans-serif;text-transform:uppercase;letter-spacing:.04em;color:#9c9a95}
.rg-rr-text span{color:#eadcb8}
.rg-news h2{margin:0;font-weight:800;font-size:72px;line-height:.88;font-stretch:66%;text-transform:uppercase}
.rg-news p{margin:0;max-width:480px;font-size:15px;line-height:1.55;color:#d6d5d1}
.rg-news-form{grid-column:span 5;display:flex;flex-direction:column;gap:12px}
.rg-news-form>span{font-size:12px;line-height:1.5;color:#b3b2ae}
.rg-news-field{display:flex;border:1px solid var(--offwhite)}
.rg-news-field input{flex:1;min-width:0;background:transparent;border:0;padding:16px;color:var(--offwhite);font:400 14px var(--mono);outline:none}
.rg-news-field button{background:var(--amber);color:var(--charcoal);border:0;padding:0 22px;font:600 11.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;cursor:pointer}
.rg-news-field button:hover{background:var(--offwhite)}

/* footer */
.rg-footer{margin-top:32px;background:var(--grain-light),var(--charcoal);color:#d9d7d2;border-top:4px solid var(--amber);display:grid;grid-template-columns:2fr 1fr 1fr 1fr;font-size:14px}
.rg-foot-brand,.rg-foot-col{padding:32px;border-right:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:10px}
.rg-foot-col:last-of-type{border-right:0}
.rg-foot-brand{gap:16px}
.rg-foot-brand img{height:56px;align-self:flex-start}
.rg-foot-brand span{line-height:1.5;max-width:300px}
.rg-foot-col span{font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--amber);margin-bottom:6px}
.rg-foot-col a:hover{color:var(--amber)}
.rg-foot-copy{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding:16px 32px;font:500 10.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#9a9995}
/* full-bleed footer (sits outside .rg-page) */
.tp-footer{display:block}
.tp-footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;max-width:1280px;margin:0 auto}
.tp-footer .rg-foot-copy{padding:16px max(32px,calc((100% - 1280px) / 2 + 32px))}

/* responsive */
@media (max-width:1100px){
  .rg-picks-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rg-local h3{font-size:36px}
}
@media (max-width:960px){
  .rg-header{grid-template-columns:1fr}
  .rg-logo{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .rg-nav{font-size:15px}
  .rg-nav>a,.rg-dd-btn{padding:16px 8px}
  .rg-hero{grid-template-columns:1fr;padding:20px 20px 32px}
  .rg-hero-panel,.rg-carousel{grid-column:auto}
  .rg-hero-panel{padding:40px 24px}
  .rg-hero h1{font-size:64px}
  .rg-jump{flex-wrap:wrap;justify-content:flex-start;gap:16px 24px}
  .rg-carousel{top:0;margin-left:0;height:420px}
  .rg-main{gap:64px;padding:48px 20px 56px}
  .rg-picks{margin:0 -20px;padding:64px 20px}
  .rg-picks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rg-pick{min-height:260px}
  .rg-pick-num{font-size:110px}
  .rg-local-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rg-local{padding:20px}
  .rg-local h3{font-size:28px}
  .rg-kit,.rg-lead{grid-template-columns:1fr}
  .rg-kit-img{min-height:260px;order:-1}
  .rg-kit h2{font-size:44px}
  .rg-lead-img{height:300px}
  .rg-lead h3{font-size:42px}
  .rg-posts{grid-template-columns:1fr}
  .rg-news{grid-template-columns:1fr;margin:0 20px;padding:40px 24px}
  .rg-news-copy,.rg-news-form{grid-column:auto}
  .rg-news h2{font-size:48px}
  .rg-footer{grid-template-columns:1fr}
  .rg-foot-brand,.rg-foot-col{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .tp-footer-inner{grid-template-columns:1fr}
}
@media (max-width:560px){
  .rg-picks-grid,.rg-local-grid{grid-template-columns:1fr}
  .rg-local{aspect-ratio:auto;min-height:160px}
}
