/* ============ Realtree x VISIONE — earthy re-skin ============ */
/* Overrides the shared design tokens from styles.css so every reused
   component (nav, footer, cards, buttons, logo mark) inherits an
   outdoor / camo palette instead of the core brand's lime-on-black. */
:root{
  --bg: #15150d;
  --bg-soft: #1b1a11;
  --panel: #201f14;
  --line: rgba(255,255,255,.09);
  --lime: #b7c25a;
  --lime-dim: #8a934a;
  --text: #f3f0e4;
  --text-muted: #c7c2a9;
  --text-faint: #8f8a6c;
}

body.rt-page{ background:var(--bg); }

/* ============ Camo texture utility ============ */
.rt-camo{
  background-color:#23220f;
  background-image:
    radial-gradient(ellipse 55% 30% at 10% 15%, #3d3c1e 45%, transparent 60%),
    radial-gradient(ellipse 45% 40% at 80% 8%, #55532c 45%, transparent 62%),
    radial-gradient(ellipse 50% 45% at 45% 55%, #171609 45%, transparent 62%),
    radial-gradient(ellipse 60% 35% at 95% 68%, #3d3c1e 45%, transparent 60%),
    radial-gradient(ellipse 40% 38% at 15% 82%, #55532c 45%, transparent 62%),
    radial-gradient(ellipse 48% 42% at 60% 32%, #171609 45%, transparent 62%),
    radial-gradient(ellipse 35% 30% at 30% 5%, #55532c 45%, transparent 60%);
  background-size: 620px 560px;
  background-repeat: repeat;
  filter: blur(14px) saturate(1.05) contrast(1.08);
}

/* ============ Hero ============ */
.rt-hero{
  position:relative;
  min-height:92vh;
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  overflow:hidden;
}
.rt-hero-camo{ position:absolute; inset:0; z-index:0; opacity:.9; }
.rt-hero-scrim{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(10,10,6,.55), rgba(10,10,6,.88) 70%, rgba(10,10,6,1));
}
.rt-hero-shapes{ position:absolute; inset:0; z-index:1; }
.rt-shape{ position:absolute; opacity:.5; }
.rt-shape-1{
  width:46vw; height:130vh; left:-14vw; top:-15vh;
  background:linear-gradient(160deg,#3d3c1e,#171609 65%);
  clip-path:polygon(20% 0%, 55% 8%, 78% 0%, 65% 30%, 90% 45%, 60% 55%, 70% 85%, 35% 68%, 18% 100%, 22% 60%, 0% 48%, 25% 32%);
}
.rt-shape-2{
  width:16vw; height:130vh; right:-4vw; top:-15vh;
  background:linear-gradient(160deg,#8a934a,#55532c 60%);
  opacity:.35;
}
.rt-hero-inner{ position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; }

.rt-breadcrumb{
  font-size:13px; color:var(--text-faint); margin-bottom:34px;
  display:flex; gap:8px; align-items:center;
}
.rt-breadcrumb a{ color:var(--text-faint); transition:color .2s ease; }
.rt-breadcrumb a:hover{ color:var(--lime); }
.rt-breadcrumb strong{ color:var(--text-muted); font-weight:600; }

.rt-lockup{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap; justify-content:center;
  font-weight:800; letter-spacing:.02em;
  font-size:clamp(15px,2vw,20px);
  color:var(--text-faint);
  margin-bottom:18px;
}
.rt-lockup-visione{ color:var(--text-muted); }
.rt-lockup-x{ color:var(--lime); font-weight:400; }
.rt-lockup-realtree{ color:var(--text); }

.rt-tagline{
  font-family:var(--ff);
  font-size:clamp(42px,8vw,84px);
  font-weight:900;
  color:var(--text);
  text-transform:uppercase;
  letter-spacing:-.01em;
  line-height:1.05;
  max-width:900px;
}
.rt-sub{
  margin-top:22px;
  max-width:620px;
  color:var(--text-muted);
  font-size:17px;
}
.rt-hero .hero-actions{ margin-top:38px; }

/* ============ Story / Heritage ============ */
.rt-story{ background:var(--bg-soft); }
.rt-story-inner{
  display:grid; grid-template-columns:1fr 1fr; gap:60px;
}
.rt-timeline-list{ margin-top:36px; display:flex; flex-direction:column; gap:22px; }
.rt-timeline-item{
  border-left:2px solid var(--lime);
  padding-left:20px;
}
.rt-timeline-year{
  display:block; font-weight:800; color:var(--lime);
  font-size:14px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:6px;
}
.rt-timeline-item p{ color:var(--text-muted); font-size:15px; }

.rt-story-copy{ display:flex; flex-direction:column; justify-content:center; gap:20px; }
.rt-story-copy p{ color:var(--text-muted); font-size:16px; }
.rt-pullquote{
  margin:10px 0 0;
  padding:26px 28px;
  border-left:3px solid var(--lime);
  background:rgba(183,194,90,.07);
  border-radius:0 var(--radius) var(--radius) 0;
  color:var(--text);
  font-size:17px;
  font-style:italic;
  font-weight:500;
}

/* ============ Lifestyle photo gallery ============ */
.rt-media{ background:var(--bg); }
.rt-media .slider{ margin-top:40px; }
.rt-media-caption{ color:var(--text-muted); font-size:15px; margin-top:20px; max-width:640px; }

/* ============ Style grid ============ */
.rt-styles{ background:var(--bg); }
.rt-style-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
  margin-top:44px;
}
.rt-style-card{
  border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; background:var(--panel);
  transition:transform .2s ease, border-color .2s ease;
}
.rt-style-card:hover{ transform:translateY(-4px); border-color:var(--lime); }
.rt-swatch{ aspect-ratio:4/3; }
.rt-style-card h3{ font-size:15px; padding:18px 16px; }
.rt-swatch--a{
  background-position: 10% 20%;
  filter:brightness(1.15) saturate(.85) contrast(1.05);
}
.rt-swatch--b{
  background-position: 60% 70%;
  filter:sepia(.55) brightness(.9) saturate(1.3) hue-rotate(-8deg);
}
.rt-swatch--c{
  background-position: 40% 0%;
  filter:brightness(.6) contrast(1.25) saturate(.8);
}
.rt-swatch--d{
  background-position: 85% 45%;
  filter:sepia(.7) brightness(1.15) saturate(.9);
}

.rt-product-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:24px;
}

/* ============ Reviews ============ */
.rt-reviews{ position:relative; overflow:hidden; }
.rt-reviews-bg{ position:absolute; inset:0; opacity:.12; }
.rt-reviews .wrap{ position:relative; z-index:1; }
.rt-review-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px;
}
.rt-review-card{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
  padding:26px;
}
.rt-stars{ color:var(--lime); letter-spacing:2px; font-size:15px; display:block; margin-bottom:14px; }
.rt-review-card p{ color:var(--text-muted); font-size:15px; }

/* ============ Available at ============ */
.rt-available{ background:var(--bg-soft); }

/* ============ CTA banner ============ */
.rt-cta{
  background:linear-gradient(120deg, var(--lime-dim), var(--lime));
  padding:80px 0;
  text-align:center;
}
.rt-cta-inner h2{ color:#141308; font-size:clamp(26px,4vw,38px); margin-bottom:14px; }
.rt-cta-inner p{ color:#2c2c14; font-size:16px; margin-bottom:30px; max-width:520px; margin-left:auto; margin-right:auto; }
.rt-cta .btn-lime{ background:#141308; color:var(--lime); }
.rt-cta .btn-lime:hover{ opacity:.85; }

/* ============ Responsive ============ */
@media (max-width: 980px){
  .rt-story-inner{ grid-template-columns:1fr; }
  .rt-style-grid{ grid-template-columns:repeat(2,1fr); }
  .rt-product-grid{ grid-template-columns:repeat(2,1fr); }
  .rt-review-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 600px){
  .rt-style-grid, .rt-product-grid, .rt-review-grid{ grid-template-columns:1fr; }
}
