/* Expedition Ready — Field Notes (blog) shared styles.
   Vanilla rebuild of a modern shadcn/21st-style blog layout in the ER design system. */
:root{
  --ink:#161b1e; --body:#4d565e; --muted:#8a939b; --paper:#ffffff; --snowfield:#f7f5f0; --cloud:#eef1f4;
  --terra:#c14a2c; --terra-deep:#b34426; --gold:#82642c; --gold-soft:#c8a355; --data:#1f7a4d;
  --line:rgba(22,27,30,.12); --line-soft:rgba(22,27,30,.08);
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Inter',system-ui,-apple-system,sans-serif; --mono:'JetBrains Mono',Consolas,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--paper);color:var(--body);font-family:var(--sans);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--terra);text-decoration:none}
a:hover{color:var(--terra-deep)}
::selection{background:var(--terra);color:#fff}
a:focus-visible,button:focus-visible{outline:2px solid var(--terra);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;color:var(--ink);line-height:1.12}
.wrap{max-width:1080px;margin:0 auto;padding:0 26px}
.narrow{max-width:720px;margin:0 auto;padding:0 26px}

/* top nav */
.nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.nav .brand{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--ink);font-weight:700}
.nav .brand small{display:block;font-size:8.5px;letter-spacing:2.5px;color:var(--gold);margin-top:2px;font-weight:500}
.nav .navcta{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;color:#fff;background:var(--terra);
  border:1px solid var(--terra);border-radius:40px;padding:11px 20px}
.nav .navcta:hover{background:var(--terra-deep);color:#fff}

/* index header */
.bloghead{padding:70px 0 20px;text-align:center}
.eyebrow{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);font-weight:600}
.bloghead h1{font-size:clamp(2.4rem,5vw,3.6rem);margin:14px 0 12px}
.bloghead p{font-size:1.1rem;color:var(--body);max-width:52ch;margin:0 auto}

/* meta line */
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;color:var(--muted);letter-spacing:.3px}
.meta .dot{width:3px;height:3px;border-radius:50%;background:var(--muted)}
.tag{display:inline-block;font:600 10px var(--sans);letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);
  background:rgba(200,163,85,.14);border-radius:30px;padding:5px 12px}

/* featured */
.featured{margin:40px 0 20px}
.featured a{display:grid;grid-template-columns:1.15fr .85fr;gap:0;border:1px solid var(--line-soft);border-radius:18px;overflow:hidden;
  background:#fff;box-shadow:0 10px 30px rgba(22,27,30,.06);transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s}
.featured a:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(22,27,30,.12)}
.thumb{min-height:260px;background-size:cover;background-position:center}
.thumb.t-ebc{background:linear-gradient(150deg,#2a3b45,#0d1319)}
.thumb.t-kili{background:linear-gradient(150deg,#3a2f26,#171008)}
.thumb.t-frame{background:linear-gradient(150deg,#243b31,#0f1a14)}
.thumb.t-gym{background:linear-gradient(150deg,#3a2f26,#20303a)}
.thumb.t-data{background:linear-gradient(150deg,#123b2c,#0b1319)}
.thumb.t-descent{background:linear-gradient(150deg,#33383d,#14181c)}
.thumb.t-story{background:linear-gradient(150deg,#4a3a28,#1a120a)}
.thumb.t-window{background:linear-gradient(150deg,#5a4326,#20303a)}
.featured .body{padding:36px 38px;display:flex;flex-direction:column;justify-content:center}
.featured h2{font-size:2rem;margin:14px 0 10px}
.featured p{color:var(--body);margin-bottom:18px}

/* grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;margin:24px 0 70px}
.card{border:1px solid var(--line-soft);border-radius:16px;overflow:hidden;background:#fff;
  transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s}
.card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(22,27,30,.11)}
.card .thumb{min-height:172px}
.card .body{padding:24px 24px 26px}
.card h3{font-size:1.4rem;margin:12px 0 8px;color:var(--ink)}
.card p{font-size:.95rem;color:var(--body);margin-bottom:14px}

/* article */
.article{padding:36px 0 20px}
.crumb{font-size:12px;letter-spacing:.4px;color:var(--muted);margin-bottom:22px}
.crumb a{color:var(--body)}
.arthead h1{font-size:clamp(2rem,4.6vw,3.1rem);margin:14px 0 16px;max-width:20ch}
.arthero{height:300px;border-radius:16px;margin:26px 0 8px;background-size:cover;background-position:center}
.prose{font-size:1.08rem;color:#3c454c}
.prose > p{margin:0 0 20px}
.prose h2{font-size:1.9rem;margin:38px 0 14px}
.prose h3{font-size:1.4rem;margin:28px 0 10px}
.prose ul,.prose ol{margin:0 0 20px;padding-left:22px}
.prose li{margin:9px 0}
.prose strong{color:var(--ink)}
.prose blockquote{border-left:2px solid var(--gold-soft);padding:6px 0 6px 22px;margin:24px 0;
  font-family:var(--serif);font-style:italic;font-size:1.4rem;color:var(--ink);line-height:1.35}
.prose a{border-bottom:1px solid rgba(193,74,44,.35)}
.lede{font-size:1.25rem;color:var(--ink);line-height:1.5;margin-bottom:26px}

/* faq */
.faq{margin:44px 0 0;border-top:1px solid var(--line-soft);padding-top:30px}
.faq h2{font-size:1.7rem;margin-bottom:18px}
.faq details{border-bottom:1px solid var(--line-soft);padding:16px 0}
.faq summary{cursor:pointer;font-weight:600;color:var(--ink);font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold);font-weight:700}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin-top:12px;color:var(--body)}

/* score CTA box */
.ctabox{margin:44px 0 10px;background:linear-gradient(180deg,var(--snowfield),#fff);border:1px solid rgba(130,100,44,.3);
  border-radius:16px;padding:34px 32px;text-align:center}
.ctabox h3{font-size:1.6rem;margin-bottom:8px}
.ctabox p{color:var(--body);max-width:44ch;margin:0 auto 18px}
.btn{display:inline-block;background:var(--terra);color:#fff;font:600 13px var(--sans);letter-spacing:1.6px;text-transform:uppercase;
  padding:16px 32px;border-radius:46px;border:1px solid var(--terra);box-shadow:0 10px 26px rgba(193,74,44,.26)}
.btn:hover{background:var(--terra-deep);color:#fff}
/* button sheen sweep */
.btn{position:relative;overflow:hidden}
.btn::after{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;pointer-events:none;transform:skewX(-18deg);
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent)}
.btn:hover::after{animation:sheen .85s ease}
@keyframes sheen{to{left:135%}}
/* drop cap on the first body paragraph of a post */
.prose .lede + p::first-letter{float:left;font-family:var(--serif);font-weight:600;font-size:3.6rem;line-height:.78;
  padding:8px 12px 0 0;color:var(--terra)}

/* related / back */
.related{margin:50px 0 0;border-top:1px solid var(--line-soft);padding-top:28px}
.related .eyebrow{color:var(--gold)}
.related .rlinks{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.related a{font-family:var(--serif);font-size:1.2rem;color:var(--ink);border:1px solid var(--line-soft);border-radius:12px;padding:18px 20px;display:block}
.related a:hover{border-color:var(--terra);color:var(--terra)}

footer.foot{margin-top:70px;background:var(--ink);color:rgba(255,255,255,.5);text-align:center;padding:40px 0;font-size:12px;letter-spacing:1.3px}
footer.foot a{color:rgba(255,255,255,.7)}

@media(max-width:760px){
  .featured a{grid-template-columns:1fr}
  .thumb{min-height:200px}
  .related .rlinks{grid-template-columns:1fr}
  .arthero{height:200px}
}
