:root{
  --green:#11a253;
  --green-deep:#0d8442;
  --blue:#155fcc;
  --lavender:#afafda;
  --pink:#f296bd;
  --skyblue:#99b7f5;
  --paper:#fbfaf6;
  --ink:#221f1b;
  --ink-soft:#4a463f;
  --line:#e7e3d9;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  min-height:100vh;
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter',sans-serif;
}
a{color:var(--blue);}
.shell{max-width:920px; margin:0 auto; padding:0 6vw;}

/* header / nav */
.site-header{
  padding:2.2rem 0 1.4rem;
  border-bottom:1px solid var(--line);
}
.site-header .shell{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  flex-wrap:wrap;
}
.brand{
  font-family:'Playfair Display',serif;
  font-weight:600;
  font-size:1.15rem;
  color:var(--ink);
  text-decoration:none;
}
.site-nav{
  display:flex;
  align-items:center;
  gap:1.6rem;
}
.site-nav a{
  color:var(--ink-soft);
  text-decoration:none;
  font-weight:500;
  font-size:.98rem;
}
.site-nav a:hover{color:var(--blue);}
.site-nav a.current{color:var(--ink); border-bottom:2px solid var(--green);}
.nav-cta{
  background:var(--green);
  color:#fff !important;
  padding:.55rem 1.1rem;
  border-radius:4px;
  transition:background .18s ease;
}
.nav-cta:hover{background:var(--green-deep);}

/* rule divider */
.rule{
  display:flex;
  gap:7px;
  margin:0 0 1.9rem;
}
.rule span{
  display:block;
  height:4px;
  width:34px;
  border-radius:2px;
}
.rule span:nth-child(1){background:var(--green);}
.rule span:nth-child(2){background:var(--blue);}
.rule span:nth-child(3){background:var(--skyblue);}
.rule span:nth-child(4){background:var(--pink);}
.rule span:nth-child(5){background:var(--lavender);}

/* cta button */
.cta{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.15rem;
  background:var(--green);
  color:#fff;
  text-decoration:none;
  font-family:'Inter',sans-serif;
  font-weight:500;
  font-size:1.05rem;
  padding:.95rem 1.7rem;
  border-radius:4px;
  transition:background .18s ease;
}
.cta:hover{background:var(--green-deep);}
.cta:focus-visible{outline:2px solid var(--blue); outline-offset:3px;}
.cta small{
  font-weight:400;
  opacity:.88;
  font-size:.82rem;
}

/* footer */
.site-footer{
  border-top:1px solid var(--line);
  margin-top:5rem;
  padding:2.2rem 0 3rem;
}
.site-footer .shell{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:1rem;
}
.site-footer p{
  margin:0;
  color:var(--ink-soft);
  font-size:.9rem;
}
.site-footer a{color:var(--ink-soft); text-decoration:none;}
.site-footer a:hover{color:var(--blue);}

@media (max-width:480px){
  .site-header .shell{padding:0 7vw;}
}
