:root{
  --paper:#f3f6f4;       /* page background (cool off-white) */
  --card:#ffffff;
  --ink:#13332c;         /* primary text (deep pine)        */
  --dim:#5d7068;         /* secondary text                  */
  --line:#d8e2dc;        /* hairlines                       */
  --pine:#1f6f54;        /* primary brand                   */
  --clay:#e0701f;        /* accent / CTA                    */
  --mist:#e7efea;        /* soft fill                       */
}
*{box-sizing:border-box;}
html,body{height:100%;}
body{
  margin:0;color:var(--ink);
  background:linear-gradient(180deg,#f8fbf9 0%,#eef4f1 45%,#e6efe9 100%);
  font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  line-height:1.55;
  display:flex;flex-direction:column;min-height:100vh;
}
.page{flex:1 0 auto;width:100%;}
.footer{flex-shrink:0;}
h1,h2,h3,.logo{font-family:"Space Grotesk",system-ui,sans-serif;}
a{color:var(--pine);text-decoration:none;}
a:hover{text-decoration:underline;}
.dim{color:var(--dim);}
.small{font-size:.86rem;}

/* ---- nav ---- */
.nav{
  display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;
  padding:1rem 2rem;background:var(--card);border-bottom:1px solid var(--line);
}
.logo{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink);
  font-weight:700;font-size:1.2rem;}
.logo:hover{text-decoration:none;}
.logo-mark{
  filter:brightness(0) saturate(100%) invert(13%) sepia(33%) saturate(1500%) hue-rotate(122deg) brightness(95%) contrast(95%);
}
.nav-links{display:flex;align-items:center;gap:1.1rem;margin-left:auto;flex-wrap:wrap;}
.nav-links a{color:var(--ink);font-size:.92rem;font-weight:500;}
.nav-links a.ghost{color:var(--dim);}
.btn,.nav-links a.btn{
  background:var(--clay);color:#fff;padding:.42rem .9rem;border-radius:999px;
  font-weight:600;font-size:.9rem;
}
.btn:hover{filter:brightness(1.05);text-decoration:none;}

/* ---- layout ---- */
.page{max-width:920px;margin:0 auto;padding:2.5rem 1.6rem 4rem;}
.sheet{max-width:760px;margin:0 auto;padding:2.5rem 1.6rem;}

/* ---- hero ---- */
.hero-full{
  position:relative;overflow:hidden;
  width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  margin-top:0;margin-bottom:2.6rem;
  min-height:420px;display:flex;align-items:center;
  padding:2.8rem max(2.4rem,calc(50vw - 460px + 1.6rem));
}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.78) 32%,rgba(255,255,255,.25) 60%,rgba(255,255,255,.05) 100%);
}
.hero-text{position:relative;max-width:30rem;}
.kicker{color:var(--clay);font-weight:600;font-size:.78rem;letter-spacing:.08em;
  text-transform:uppercase;}
.hero-text h1{font-size:clamp(2.2rem,6vw,3.4rem);line-height:1.02;margin:.6rem 0 .8rem;font-weight:700;}
.sub{color:var(--dim);font-size:1.06rem;max-width:34ch;}
.hero-actions{display:flex;align-items:center;gap:1.2rem;margin-top:1.6rem;flex-wrap:wrap;}
.textlink{font-weight:600;}

/* ---- content sections ---- */
.content-section{
  width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  padding:2.4rem max(2.4rem,calc(50vw - 460px + 1.6rem));
  margin-bottom:0;
}
.content-section:nth-of-type(odd){
  background:linear-gradient(120deg,#eef4f1 0%,#e3ede7 50%,#dceae3 100%);
}
.content-section:nth-of-type(even){
  background:linear-gradient(120deg,#f4f8f6 0%,#eaf2ee 50%,#e0ece6 100%);
}

/* ---- trail list ---- */
.row-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1rem;}
.row-head h2{margin:0;font-size:1.3rem;}
.trail-list{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:1.1rem;align-items:stretch;
}
.community-list{display:flex;flex-direction:column;gap:0;}
.trail-row{
  display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;
  color:var(--ink);overflow:hidden;
  background:var(--card);border-radius:12px;padding:.8rem;
  box-shadow:0 1px 3px rgba(19,51,44,.06);
  transition:transform .15s ease,box-shadow .15s ease;
}
.trail-row:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 6px 16px rgba(19,51,44,.1);}
.trail-row.static{
  background:transparent;box-shadow:none;padding:0;
}
.trail-row.static:hover{transform:none;}
.thumb{
  display:block;width:100%;height:120px;border-radius:10px;object-fit:cover;
  margin:0 0 .2rem;
}
.thumb.avatar{width:54px;height:54px;border-radius:50%;}
.trail-row.static{flex-direction:row;align-items:flex-start;gap:1.1rem;}
.trail-row.static + .trail-row.static{border-top:1px solid var(--line);padding-top:1rem;}
.trail-row.static .trail-main{flex:1;}
.trail-art{display:block;width:100%;height:auto;border-radius:10px;margin-bottom:1.2rem;object-fit:cover;max-height:220px;}
.elev{
  align-self:flex-start;min-width:62px;text-align:center;background:var(--mist);
  color:var(--pine);font-family:"Space Grotesk",sans-serif;font-weight:700;
  font-size:1.15rem;border-radius:9px;padding:.5rem .2rem;
}
.elev small{font-size:.7rem;font-weight:500;}
.trail-main{display:flex;flex-direction:column;gap:.15rem;width:100%;}
.trail-main strong{font-size:1.05rem;}
.meta{color:var(--clay);font-size:.84rem;font-weight:500;}
.summary{color:var(--dim);font-size:.9rem;}
.chev{display:none;}

/* ---- cards / forms ---- */
.form-card{
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:1.8rem 1.9rem;max-width:440px;margin:0 auto 1.4rem;
}
.form-card.wide{max-width:760px;margin-left:0;margin-right:0;}
.form-card h2{margin-top:.3rem;}
label{display:block;margin:0 0 1rem;font-size:.9rem;color:var(--dim);font-weight:500;}
input,textarea{
  display:block;width:100%;margin-top:.35rem;background:#fbfdfc;
  border:1px solid var(--line);border-radius:9px;color:var(--ink);
  padding:.62rem .75rem;font:inherit;
}
input:focus,textarea:focus{outline:none;border-color:var(--pine);}
button{
  background:var(--pine);color:#fff;border:0;border-radius:999px;
  padding:.62rem 1.4rem;font:inherit;font-weight:600;cursor:pointer;
}
button:hover{filter:brightness(1.06);}
.back{color:var(--dim);font-size:.86rem;}
.stats{color:var(--clay);font-weight:500;}
.warn{background:#fdeee3;border:1px solid var(--clay);color:#a8531a;padding:.6rem .8rem;border-radius:9px;}
.good{background:#e7f1ea;border:1px solid var(--pine);color:#1c5e47;padding:.6rem .8rem;border-radius:9px;}

/* ---- reports ---- */
.reports{display:flex;flex-direction:column;gap:.9rem;margin-bottom:1.4rem;}
.report{border-left:3px solid var(--mist);padding-left:1rem;}
.report-by{color:var(--clay);font-weight:600;font-size:.85rem;}
.report-text{margin-top:.2rem;}
.report-form{border-top:1px solid var(--line);padding-top:1.2rem;}
.inline-find{display:flex;gap:.6rem;margin-top:1.2rem;}
.inline-find input{margin-top:0;}

/* ---- share preview / token ---- */
.card-preview{background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:1.6rem;max-width:520px;}
.badge{display:inline-block;background:var(--mist);color:var(--pine);font-size:.74rem;
  font-weight:600;padding:.2rem .6rem;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;}
.share-msg{font-family:"Space Grotesk",sans-serif;font-size:1.3rem;margin:.8rem 0 0;}
.token{background:#0f221c;color:#7fd7b6;padding:.85rem 1rem;border-radius:10px;
  font-family:ui-monospace,monospace;font-size:.95rem;}

/* ---- footer ---- */
.footer{border-top:1px solid var(--line);background:var(--card);
  padding:1.4rem 2rem;display:flex;justify-content:space-between;flex-wrap:wrap;
  gap:.5rem;color:var(--dim);font-size:.82rem;}

@media (max-width:560px){
  .nav{padding:.9rem 1.1rem;}
  .page{padding:1.8rem 1.1rem 3rem;}
  .hero-full{padding:2rem 1.4rem;min-height:320px;}
  .content-section{padding:1.6rem 1.2rem;}
  .summary{display:none;}
}
