/* BeyondGroundwork® — site styles */
:root{
  --forest-deep:#2C4A2E;
  --forest-mid:#4A6741;
  --bronze:#A08B4F;
  --parchment:#F7F3EC;
  --parchment-dark:#EDE7D9;
  --bark:#3D3228;
  --sage:#8FA67A;
  --terra:#C4956A;
  --plum:#7A6B8A;

  --clover:#4A7C59;
  --stone:#5C7C99;
  --acorn:#C08A3C;
  --lotus:#C26B8A;
  --butterfly:#7B5EA7;

  --maxw:1120px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--parchment); color:var(--bark);
  font-family:'Inter',system-ui,Arial,sans-serif; font-size:18px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.serif{font-family:'DM Serif Display',Georgia,serif; font-weight:400; line-height:1.16;}
a{color:var(--forest-mid);}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 26px;}
.eyebrow{font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--forest-mid);}
img{max-width:100%;}

.skip-link{position:absolute; left:-999px; top:0; background:var(--bark); color:var(--parchment);
  padding:10px 16px; border-radius:0 0 8px 0; z-index:100;}
.skip-link:focus{left:0;}

:focus-visible{outline:3px solid var(--terra); outline-offset:2px;}

header{padding:22px 0 6px;}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none;}
.brand img{width:40px; height:40px; border-radius:50%; display:block;}
.brand .wm{font-family:'DM Serif Display',serif; font-size:21px; color:var(--bark);}
.brand .wm b{color:var(--forest-mid); font-weight:400;}

/* HERO */
.hero{display:grid; grid-template-columns:1.05fr .95fr; gap:46px; align-items:center; padding:40px 0 34px;}
.hero h1{font-size:50px; margin:14px 0 16px;}
.hero h1 em{font-style:italic; color:var(--forest-mid);}
.hero .lede{font-size:20px; color:var(--bark); max-width:42ch; margin:0 0 10px;}
.hero .whisper{color:var(--forest-mid); font-family:'DM Serif Display',serif; font-style:italic; font-size:21px; max-width:38ch;}
.cta{display:inline-block; margin-top:24px; background:var(--terra); color:#2c1c10;
  text-decoration:none; font-weight:600; padding:15px 28px; border-radius:10px; transition:.2s;}
.cta:hover{background:var(--bark); color:var(--parchment);}

/* logo medallion */
.medallion{display:flex; justify-content:center;}
.medallion .frame{
  width:min(380px,80vw); aspect-ratio:1/1; border-radius:50%;
  background:var(--forest-deep); border:6px solid var(--bronze);
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  box-shadow:0 14px 40px rgba(44,74,46,.28);
}
.medallion img{width:100%; height:100%; object-fit:cover; display:block;}

/* MARKS / JOURNEY EMBLEM component */
.path-sec{background:var(--forest-deep); color:var(--parchment); border-radius:20px; padding:44px 34px; margin:16px 0 40px;}
.path-sec .eyebrow{color:var(--sage);}
.path-sec h2{font-size:30px; margin:6px 0 6px; color:#f3ead0;}
.path-sec .sub{color:var(--sage); margin:0 0 30px; max-width:60ch;}

.marks{display:grid; grid-template-columns:repeat(5,1fr); gap:14px;}
.mark{background:rgba(20,30,22,.55); border:1px solid #35482f; border-radius:14px; padding:18px 14px 20px;
  position:relative; text-align:center; transition:all .5s ease; opacity:.7;}
.mark .badgewrap{display:block; width:64px; height:64px; margin:0 auto 10px; border-radius:50%; position:relative; overflow:hidden;}
.mark .badgewrap .ring{display:block; position:absolute; inset:-5px; border-radius:50%; box-shadow:0 0 0 0 transparent; transition:box-shadow .6s ease; pointer-events:none;}
.mark img{width:100%; height:100%; object-fit:cover; border-radius:50%;
  filter:grayscale(.9) brightness(.55) sepia(.3); transition:filter .6s ease; display:block;}
.mark .stage{display:block; font-family:'DM Serif Display',serif; font-size:17px; color:#f3ead0;}
.mark .meaning{font-size:12.5px; color:var(--sage); margin-top:2px;}
.mark[data-m="clover"]{color:var(--clover); --mc:var(--clover);}
.mark[data-m="stone"]{color:var(--stone); --mc:var(--stone);}
.mark[data-m="acorn"]{color:var(--acorn); --mc:var(--acorn);}
.mark[data-m="lotus"]{color:var(--lotus); --mc:var(--lotus);}
.mark[data-m="butterfly"]{color:var(--butterfly); --mc:var(--butterfly);}
.mark.active{opacity:1; border-color:currentColor;}
.mark.active img{filter:none;}
.mark.active .badgewrap .ring{box-shadow:0 0 20px 4px currentColor;}

/* interest capture */
.wall{padding:20px 0 8px;}
.wall h2{font-size:32px; margin:0 0 8px;}
.wall .note{color:var(--forest-mid); max-width:54ch; margin:0 0 24px;}
form{display:grid; gap:16px; max-width:540px;}
label{display:block; font-size:14px; color:var(--forest-mid); margin-bottom:6px;}
input,select{width:100%; padding:14px 16px; border-radius:10px; border:1px solid #cfc4b1;
  background:#fff; color:var(--bark); font-family:inherit; font-size:16px;}
input:focus,select:focus{outline:3px solid var(--terra); outline-offset:1px;}
.submit{background:var(--forest-mid); color:var(--parchment); border:none; font-weight:600;
  padding:15px 28px; border-radius:10px; font-size:16px; cursor:pointer; justify-self:start;}
.submit:hover{background:var(--bark);}
.privacy{font-size:13px; color:var(--plum); margin-top:14px; max-width:54ch;}
#thanks{display:none; font-family:'DM Serif Display',serif; font-size:22px; color:var(--forest-mid);}
#thanks:focus{outline:none;}

/* FOOTER */
footer{padding:44px 0 60px; margin-top:36px; border-top:1px solid var(--parchment-dark); color:var(--forest-mid); font-size:13px;}
.footer-family{display:flex; flex-wrap:wrap; align-items:center; gap:26px; margin-bottom:26px;}
.footer-family a{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--bark); font-size:13.5px;}
.footer-family img{height:44px; width:auto; border-radius:8px;}
.footer-social{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:20px; font-size:13.5px;}
footer .ip{max-width:72ch; margin:0 0 8px;}
footer .sig{font-style:italic; color:var(--bark);}

@media (max-width:820px){
  .hero{grid-template-columns:1fr;} .hero h1{font-size:38px;} .medallion{order:-1;}
  .marks{grid-template-columns:repeat(2,1fr);}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important; animation:none!important; scroll-behavior:auto;}
}
