/* ============================================================
   Moosir Pages — core styles (homepage + template pages)
   Loaded only on Moosir page templates.
============================================================ */
body.mo-body{
  --pine:#15211a; --pine2:#1d2c23; --pine3:#243528; --bark:#0f1812;
  --cream:#f3ede1; --cream2:#fbf8f1; --cream-dim:#cdd3c6; --moss:#9aab9b;
  --sand:#c9b78f; --sand-dim:rgba(201,183,143,.16);
  --blaze:#ff6a1a; --blaze-dim:rgba(255,106,26,.14); --rust:#b8431a;
  --faint:rgba(243,237,225,.10);
  --ui:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --display:"Oswald",sans-serif; --serif:"Bitter",Georgia,serif;
  background:var(--pine);color:var(--cream);
  font-family:var(--ui);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;
}
:where(body.mo-body, body.mo-body *){margin:0;padding:0;box-sizing:border-box}
body.mo-body img{max-width:100%}
body.mo-body a{color:inherit;text-decoration:none}
body.mo-body .mo-wrap{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;padding:0 24px}
body.mo-body .mo-narrow{max-width:840px}
body.mo-body .mo-center{text-align:center}
.mo-eyebrow{font-family:var(--display);font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;color:var(--blaze);font-weight:600}
.mo-h{font-family:var(--display);font-weight:700;line-height:1.04;letter-spacing:.01em;text-transform:uppercase}
.mo-btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--display);font-weight:600;font-size:.92rem;letter-spacing:.06em;text-transform:uppercase;padding:.92rem 1.6rem;border-radius:7px;border:1px solid transparent;cursor:pointer;transition:transform .15s,filter .15s,background .15s,border-color .15s}
.mo-btn:hover{transform:translateY(-2px)}
.mo-btn-blaze{background:var(--blaze);color:#1a0d04}
.mo-btn-blaze:hover{filter:brightness(1.07)}
.mo-btn-ghost{border-color:var(--faint);color:var(--cream);background:rgba(255,255,255,.02)}
.mo-btn-ghost:hover{border-color:var(--sand)}
body.mo-body :focus-visible{outline:2px solid var(--blaze);outline-offset:3px;border-radius:5px}

/* topo texture used behind dark sections */
.mo-topo{position:absolute;inset:0;opacity:.5;pointer-events:none;
  background-image:radial-gradient(circle at 50% 50%,transparent 67%,rgba(201,183,143,.05) 68%,transparent 69%);
  background-size:54px 54px}

/* ---------- HERO ---------- */
.mo-hero{position:relative;overflow:hidden;background:
  radial-gradient(900px 520px at 78% -8%,rgba(255,106,26,.16),transparent 60%),
  linear-gradient(180deg,var(--bark),var(--pine) 70%)}
.mo-hero-inner{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center;padding:80px 0 70px}
@media(max-width:960px){.mo-hero-inner{grid-template-columns:1fr;gap:40px;padding:56px 0 50px}}
.mo-hero h1{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(2.7rem,6vw,4.6rem);line-height:.98;letter-spacing:.005em;margin:16px 0 18px}
.mo-hero h1 em{font-style:normal;color:var(--blaze)}
.mo-hero .mo-lede{font-size:1.14rem;color:var(--cream-dim);max-width:34rem}
.mo-hero .mo-lede strong{color:var(--cream)}
.mo-hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.mo-hero-note{font-size:.78rem;color:var(--moss);margin-top:16px;display:flex;gap:16px;flex-wrap:wrap}
.mo-hero-note span{display:inline-flex;align-items:center;gap:6px}
.mo-hero-note span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sand)}

/* ---------- gear finder (signature interactive) ---------- */
.mo-finder{background:linear-gradient(165deg,var(--pine2),var(--pine3));border:1px solid var(--faint);border-radius:16px;padding:24px;box-shadow:0 30px 70px rgba(0,0,0,.45)}
.mo-finder-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.mo-finder-top b{font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;font-size:1rem}
.mo-finder-top span{font-size:.7rem;color:var(--moss);font-family:var(--display);letter-spacing:.1em;text-transform:uppercase}
.mo-finder p.mo-finder-sub{font-size:.84rem;color:var(--moss);margin-bottom:14px}
.mo-hunt-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}
.mo-hunt-tab{font-family:var(--display);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;padding:.45rem .85rem;border-radius:99px;border:1px solid var(--faint);color:var(--cream-dim);background:transparent;cursor:pointer;transition:.15s}
.mo-hunt-tab[aria-selected="true"]{background:var(--blaze);border-color:var(--blaze);color:#1a0d04;font-weight:600}
.mo-finder-list{display:grid;gap:9px}
.mo-finder-item{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--faint);border-radius:10px;background:rgba(0,0,0,.18);transition:border-color .15s,transform .15s}
.mo-finder-item:hover{border-color:var(--blaze);transform:translateX(3px)}
.mo-finder-item .mo-fi-name{font-weight:600;font-size:.92rem;color:var(--cream)}
.mo-finder-item .mo-fi-k{font-size:.74rem;color:var(--moss)}
.mo-finder-item .mo-fi-go{margin-left:auto;font-family:var(--display);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--blaze);white-space:nowrap}
.mo-finder-foot{margin-top:14px;font-size:.72rem;color:var(--moss)}

/* ---------- trust strip ---------- */
.mo-trust{border-top:1px solid var(--faint);border-bottom:1px solid var(--faint);background:var(--bark)}
.mo-trust-inner{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:18px 0;font-size:.8rem;color:var(--moss)}
.mo-trust-inner b{color:var(--cream);font-family:var(--display);letter-spacing:.04em}

/* ---------- section scaffolding ---------- */
.mo-section{padding:78px 0}
.mo-section.alt{background:var(--pine2)}
.mo-sec-head{max-width:48rem;margin-bottom:40px}
.mo-sec-head h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(1.9rem,3.6vw,2.8rem);margin:12px 0 0;letter-spacing:.01em}
.mo-sec-head p{color:var(--cream-dim);margin-top:14px;font-size:1.04rem}

/* ---------- gear category grid ---------- */
.mo-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:1020px){.mo-cats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.mo-cats{grid-template-columns:1fr}}
.mo-cat{display:flex;flex-direction:column;border:1px solid var(--faint);border-radius:14px;padding:22px;background:var(--pine2);transition:border-color .15s,transform .15s,box-shadow .15s}
.mo-section.alt .mo-cat{background:var(--pine3)}
.mo-cat:hover{border-color:var(--blaze);transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.32)}
.mo-cat-ic{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:var(--blaze-dim);color:var(--blaze);margin-bottom:14px}
.mo-cat h3{font-family:var(--display);text-transform:uppercase;font-size:1.06rem;letter-spacing:.03em;color:var(--cream)}
.mo-cat p{font-size:.86rem;color:var(--moss);margin:9px 0 16px;flex:1;line-height:1.5}
.mo-cat-go{font-family:var(--display);font-size:.74rem;letter-spacing:.07em;text-transform:uppercase;color:var(--blaze);display:inline-flex;align-items:center;gap:6px}
.mo-cat-ad{font-size:.66rem;color:var(--moss);margin-top:7px}

/* ---------- featured posts ---------- */
.mo-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:920px){.mo-posts{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.mo-posts{grid-template-columns:1fr}}
.mo-pcard{border:1px solid var(--faint);border-radius:14px;overflow:hidden;background:var(--pine2);display:flex;flex-direction:column;transition:border-color .15s,transform .15s}
.mo-pcard:hover{border-color:var(--sand);transform:translateY(-3px)}
.mo-pcard-img{aspect-ratio:16/10;background:linear-gradient(135deg,var(--pine3),var(--bark));position:relative;overflow:hidden}
.mo-pcard-img img{width:100%;height:100%;object-fit:cover}
.mo-pcard-cat{position:absolute;top:12px;left:12px;font-family:var(--display);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;background:var(--blaze);color:#1a0d04;padding:.28rem .6rem;border-radius:4px;font-weight:600}
.mo-pcard-body{padding:18px 20px 22px;display:flex;flex-direction:column;flex:1}
.mo-pcard-body h3{font-family:var(--serif);font-weight:600;font-size:1.14rem;line-height:1.25;color:var(--cream)}
.mo-pcard-body p{font-size:.86rem;color:var(--moss);margin:9px 0 14px;flex:1}
.mo-pcard-meta{font-family:var(--display);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:var(--sand)}

/* ---------- how-we-test band ---------- */
.mo-test{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:8px}
@media(max-width:860px){.mo-test{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.mo-test{grid-template-columns:1fr}}
.mo-test-item{padding:22px;border-left:3px solid var(--blaze);background:var(--pine2)}
.mo-section.alt .mo-test-item{background:var(--pine3)}
.mo-test-item .n{font-family:var(--display);font-size:1.7rem;color:var(--sand)}
.mo-test-item h4{font-family:var(--display);text-transform:uppercase;letter-spacing:.04em;font-size:1.02rem;margin:6px 0 8px;color:var(--cream)}
.mo-test-item p{font-size:.85rem;color:var(--moss);line-height:1.5}

/* ---------- big CTA band ---------- */
.mo-band{position:relative;overflow:hidden;background:
  radial-gradient(700px 320px at 50% 0,rgba(255,106,26,.2),transparent 60%),
  linear-gradient(180deg,var(--pine2),var(--bark));padding:74px 0;text-align:center}
.mo-band h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(1.9rem,4vw,3rem);max-width:18ch;margin:0 auto 14px}
.mo-band p{color:var(--cream-dim);max-width:40rem;margin:0 auto 26px;font-size:1.05rem}

/* ---------- generic content (about/contact/disclosure prose) ---------- */
body.mo-body .mo-prose{width:100%;max-width:760px;margin-left:auto;margin-right:auto;padding:64px 24px 80px}
.mo-prose .mo-eyebrow{display:block;margin-bottom:10px}
.mo-prose h1{font-family:var(--display);text-transform:uppercase;font-size:clamp(2.1rem,4vw,3.2rem);line-height:1.02;margin-bottom:8px}
.mo-prose .mo-lead{font-size:1.18rem;color:var(--cream-dim);margin:18px 0 30px;line-height:1.55}
.mo-prose h2{font-family:var(--display);text-transform:uppercase;font-size:1.5rem;margin:42px 0 12px;color:var(--cream);letter-spacing:.02em}
.mo-prose h3{font-family:var(--serif);font-weight:600;font-size:1.18rem;margin:28px 0 8px}
.mo-prose p{font-family:var(--serif);font-size:1.04rem;line-height:1.78;color:var(--cream-dim);margin:0 0 18px}
.mo-prose ul,.mo-prose ol{font-family:var(--serif);color:var(--cream-dim);margin:0 0 20px;padding-left:1.3em;line-height:1.7}
.mo-prose li{margin:8px 0}
.mo-prose li::marker{color:var(--blaze)}
.mo-prose a{color:var(--blaze);border-bottom:1px solid transparent;transition:border-color .15s}
.mo-prose a:hover{border-bottom-color:var(--blaze)}
.mo-prose strong{color:var(--cream)}
.mo-prose hr{border:none;border-top:1px solid var(--faint);margin:38px 0}
.mo-callout{border:1px solid var(--faint);border-left:3px solid var(--blaze);border-radius:0 10px 10px 0;background:var(--pine2);padding:20px 24px;margin:26px 0}
.mo-callout p:last-child{margin-bottom:0}

/* contact form */
.mo-form{display:grid;gap:14px;margin-top:8px}
.mo-form label{font-family:var(--display);text-transform:uppercase;font-size:.74rem;letter-spacing:.08em;color:var(--sand);display:block;margin-bottom:6px}
.mo-form input,.mo-form textarea{width:100%;background:rgba(0,0,0,.25);border:1px solid var(--faint);border-radius:9px;color:var(--cream);font-family:var(--ui);font-size:.96rem;padding:.8rem .95rem}
.mo-form input:focus,.mo-form textarea:focus{outline:none;border-color:var(--blaze)}
.mo-form .mo-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.mo-form .mo-form-row{grid-template-columns:1fr}}

/* page hero for inner templates */
.mo-page-hero{position:relative;overflow:hidden;background:
  radial-gradient(700px 340px at 80% -10%,rgba(255,106,26,.14),transparent 60%),
  linear-gradient(180deg,var(--bark),var(--pine));padding:62px 0 30px;text-align:center}
.mo-page-hero h1{font-family:var(--display);text-transform:uppercase;font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:1;margin:12px 0 0}
.mo-page-hero p{color:var(--cream-dim);max-width:42rem;margin:16px auto 0;font-size:1.06rem}

/* reveal animation */
.mo-reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.mo-reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.mo-reveal{opacity:1;transform:none;transition:none}}

/* ============================================================
   Premium centered homepage (v1.1)
============================================================ */
/* Centered hero variant */
.mo-hero--center{background:
  radial-gradient(1100px 560px at 50% -12%,rgba(255,106,26,.13),transparent 62%),
  linear-gradient(180deg,var(--bark),var(--pine) 78%)}
body.mo-body .mo-hero--center .mo-wrap{display:block;text-align:center;padding:104px 24px 92px;max-width:920px}
@media(max-width:960px){.mo-hero--center .mo-wrap{padding:72px 24px 64px}}
.mo-hero--center .mo-eyebrow{display:block;margin-bottom:18px}
.mo-hero--center h1{font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(2.6rem,6.4vw,5.1rem);line-height:.97;letter-spacing:.004em;margin:0 0 22px}
.mo-hero--center h1 em{font-style:normal;color:var(--blaze)}
.mo-hero--center .mo-lede{font-size:1.16rem;line-height:1.62;color:var(--cream-dim);max-width:46rem;margin:0 auto}
.mo-hero--center .mo-lede strong{color:var(--cream)}
.mo-hero--center .mo-hero-cta{justify-content:center;margin-top:32px}
.mo-hero--center .mo-hero-note{justify-content:center;margin-top:22px}

/* Centered section headings */
.mo-sec-head--center{margin-left:auto;margin-right:auto;text-align:center}
.mo-sec-head--center .mo-eyebrow{display:block;margin-bottom:10px}
.mo-sec-head--center p{margin-left:auto;margin-right:auto}

/* A touch more restraint on category cards for the brand feel */
.mo-home .mo-cat{background:var(--pine2)}
.mo-home .mo-cat:hover{border-color:var(--sand)}
.mo-home .mo-cat-go{color:var(--sand)}
.mo-home .mo-cat:hover .mo-cat-go{color:var(--blaze)}
