/* ==========================================================================
   ELEVATION DETAILING — Altitude / Topographic brand layer
   --------------------------------------------------------------------------
   Link this AFTER your main stylesheet:
     <link rel="stylesheet" href="brand-topo.css">
   Requires two assets in /assets:  topo.svg  and  topo-amber.svg
   Everything else (peak glyph, ridgeline, watermark) is baked in below.
   Purely additive — no existing rules are touched. Tune it all from :root.

   WHERE TO ADD CLASSES (that's all the markup you touch):
     • Add  class="topo-section"  to each <section> you want textured.
         - optional  topo-wm-left  (put watermark bottom-LEFT)
         - optional  no-wm         (texture only, no watermark)
     • Add  class="topo-card"      to the Full Detail card + membership cards.
     • Change your feature <ul> to  <ul class="peak-list">  (peak bullets).
     • On each mono eyebrow, add class="topo-eyebrow" (swaps the dash for a peak).
     • Between two sections, paste:  <div class="ridge" aria-hidden="true"></div>
         - variants:  ridge--b   (2nd profile),   ridge--flip   (mirror)
     • On each tier card add:  <span class="alt-tag">ALT 5,280 FT</span>
         Base Camp 5,280 · Ridgeline 8,400 · Summit 11,750
   ========================================================================== */

:root{
  --topo-tile: 760px;        /* matches the SVG tile — don't change */
  --topo-bg-opacity: .05;    /* section contour texture   (3–5%)  */
  --topo-card-opacity: .07;  /* amber contour inside cards (6–8%)  */
  --topo-wm-opacity: .03;    /* corner peak watermark      (2–4%)  */
  --ridge-h: 96px;           /* divider height (desktop)          */
  --peak: #d4a24a;           /* peak-glyph amber                  */
  --alt-tag-color: rgba(244,242,236,.42);
}

/* 1 ── SECTION CONTOUR TEXTURE + CORNER WATERMARK ─────────────────────────── */
.topo-section{ position:relative; isolation:isolate; }
.topo-section::before{           /* seamless topographic field */
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:url("assets/topo.svg") repeat;
  background-size:var(--topo-tile) var(--topo-tile);
  opacity:var(--topo-bg-opacity);
}
.topo-section::after{            /* faint peak signature, bottom-right */
  content:""; position:absolute; right:0; bottom:0; z-index:-1; pointer-events:none;
  width:min(38vw,420px); aspect-ratio:320 / 210;
  background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20320%20210'%3E%3Cpath%20d='M6,204%2078,64%20118,118%20168,30%20214,104%20258,72%20314,204Z'%20fill='%23f4f2ec'/%3E%3C/svg%3E") no-repeat right bottom / contain;
  opacity:var(--topo-wm-opacity);
}
.topo-section.topo-wm-left::after{
  right:auto; left:0; background-position:left bottom; transform:scaleX(-1);
}
.topo-section.no-wm::after{ display:none; }

/* 2 ── AMBER CONTOUR TEXTURE INSIDE CARDS ─────────────────────────────────── */
.topo-card{ position:relative; isolation:isolate; }
.topo-card::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  border-radius:inherit;
  background:url("assets/topo-amber.svg") repeat;
  background-size:var(--topo-tile) var(--topo-tile);
  opacity:var(--topo-card-opacity);
}

/* 3 ── PEAK BULLET MARKERS ────────────────────────────────────────────────── */
ul.peak-list{ list-style:none; padding-left:0; margin:0; }
ul.peak-list > li{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:.7em;
  padding-left:0;
}
ul.peak-list > li::before{
  content:"";
  flex:0 0 auto;
  width:.9em;
  height:.72em;
  margin-top:.42em; /* optically center with first text line */
  background-color:var(--peak);
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2011'%3E%3Cpath%20d='M0.8,10.2%205,2.2%207.4,6%209,3.8%2013.2,10.2Z'%20fill='%23000'/%3E%3C/svg%3E") no-repeat center / contain;
          mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2011'%3E%3Cpath%20d='M0.8,10.2%205,2.2%207.4,6%209,3.8%2013.2,10.2Z'%20fill='%23000'/%3E%3C/svg%3E") no-repeat center / contain;
}
/* drop-in marker if a given list can't become a <ul> */
.peak-mark{
  display:inline-block; width:.9em; height:.72em; vertical-align:-.06em;
  background-color:var(--peak);
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2011'%3E%3Cpath%20d='M0.8,10.2%205,2.2%207.4,6%209,3.8%2013.2,10.2Z'%20fill='%23000'/%3E%3C/svg%3E") no-repeat center / contain;
          mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2011'%3E%3Cpath%20d='M0.8,10.2%205,2.2%207.4,6%209,3.8%2013.2,10.2Z'%20fill='%23000'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* 4 ── EYEBROW PEAK MARKER (replaces the leading dash) ────────────────────── */
.topo-eyebrow{ display:inline-flex; align-items:center; gap:.55em; }
.topo-eyebrow::before{
  content:""; flex:0 0 auto; width:.85em; height:.68em; background-color:var(--peak);
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2011'%3E%3Cpath%20d='M0.8,10.2%205,2.2%207.4,6%209,3.8%2013.2,10.2Z'%20fill='%23000'/%3E%3C/svg%3E") no-repeat center / contain;
          mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2011'%3E%3Cpath%20d='M0.8,10.2%205,2.2%207.4,6%209,3.8%2013.2,10.2Z'%20fill='%23000'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* 5 ── RIDGELINE SECTION DIVIDER ──────────────────────────────────────────── */
.ridge{
  display:block; width:100%; height:var(--ridge-h);
  margin:0; border:0; pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201440%20110'%20preserveAspectRatio='none'%3E%3Cpath%20d='M0,80%20120,40%20250,66%20360,20%20520,58%20650,42%20780,12%20920,62%201050,32%201180,70%201300,28%201440,60%201440,110%200,110Z'%20fill='%230d0d10'/%3E%3Cpath%20d='M0,80%20120,40%20250,66%20360,20%20520,58%20650,42%20780,12%20920,62%201050,32%201180,70%201300,28%201440,60'%20fill='none'%20stroke='%23d4a24a'%20stroke-opacity='0.42'%20stroke-width='1.3'%20stroke-linejoin='round'%20stroke-linecap='round'%20vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
}
.ridge.ridge--b{ background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201440%20110'%20preserveAspectRatio='none'%3E%3Cpath%20d='M0,58%20140,26%20300,66%20430,36%20560,74%20700,18%20840,52%20980,30%201120,68%201260,40%201440,72%201440,110%200,110Z'%20fill='%230d0d10'/%3E%3Cpath%20d='M0,58%20140,26%20300,66%20430,36%20560,74%20700,18%20840,52%20980,30%201120,68%201260,40%201440,72'%20fill='none'%20stroke='%23d4a24a'%20stroke-opacity='0.42'%20stroke-width='1.3'%20stroke-linejoin='round'%20stroke-linecap='round'%20vector-effect='non-scaling-stroke'/%3E%3C/svg%3E"); }
.ridge.ridge--flip{ transform:scaleX(-1); }

/* 6 ── ELEVATION TAG ON MEMBERSHIP TIERS ─────────────────────────────────── */
.alt-tag{
  display:inline-block;
  font-family:"JetBrains Mono", ui-monospace, monospace;
  font-size:.68rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--alt-tag-color);
}

/* responsive ─────────────────────────────────────────────────────────────── */
@media (max-width:768px){
  :root{ --ridge-h:56px; }
  .topo-section::after{ width:52vw; --topo-wm-opacity:.025; }
}

/* ── Site coexistence (Elevation existing ::before markers) ───────────────
   Higher-specificity overrides so peak glyphs win over the site's dash /
   circle bullets. Removing this stylesheet fully reverts those markers. */
.section-head .eyebrow.topo-eyebrow{
  padding-left:0;
}
.section-head .eyebrow.topo-eyebrow::before{
  content:"";
  position:static;
  left:auto;
  top:auto;
  flex:0 0 auto;
  width:.85em;
  height:.68em;
  background-color:var(--peak);
  background-image:none;
  transform:none;
  transition:none;
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2011'%3E%3Cpath%20d='M0.8,10.2%205,2.2%207.4,6%209,3.8%2013.2,10.2Z'%20fill='%23000'/%3E%3C/svg%3E") no-repeat center / contain;
          mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2011'%3E%3Cpath%20d='M0.8,10.2%205,2.2%207.4,6%209,3.8%2013.2,10.2Z'%20fill='%23000'/%3E%3C/svg%3E") no-repeat center / contain;
}
.service-includes.peak-list > li,
.pricing-includes.peak-list > li,
.process-detail.peak-list > li{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding-left:0;
}
.service-includes.peak-list > li::before,
.service-package-featured .service-includes.peak-list > li::before,
.pricing-includes.peak-list > li::before,
.process-detail.peak-list > li::before{
  content:"";
  position:static;
  left:auto;
  top:auto;
  transform:none;
  flex:0 0 auto;
  width:.85em;
  height:.68em;
  margin:0.42em 0 0;
  border-radius:0;
  box-shadow:none;
  background-color:var(--peak);
  background-image:none;
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2011'%3E%3Cpath%20d='M0.8,10.2%205,2.2%207.4,6%209,3.8%2013.2,10.2Z'%20fill='%23000'/%3E%3C/svg%3E") no-repeat center / contain;
          mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2011'%3E%3Cpath%20d='M0.8,10.2%205,2.2%207.4,6%209,3.8%2013.2,10.2Z'%20fill='%23000'/%3E%3C/svg%3E") no-repeat center / contain;
}
