/* Plantivelle - botanical field guide */
:root{
  --sage:#E8F3E2; --ink:#12241A; --accent:#7FB069; --leaf:#BFE6B4;
  --ink-2:#3B5244; --ink-3:#6C8172; --link:#3E7A2E;
  --card:#FFFFFF; --line:rgba(127,176,105,.28);
  --shadow:0 14px 34px rgba(18,36,26,.08),0 2px 6px rgba(18,36,26,.05);
  --r:24px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;min-height:100vh;color:var(--ink);
  background-color:#fff;
  background-image:linear-gradient(180deg,var(--sage) 0,#fff 640px);
  background-repeat:no-repeat;
  font-family:"Nunito",ui-rounded,"SF Pro Rounded",-apple-system,"Segoe UI",Roboto,sans-serif;
  font-size:17px;line-height:1.65;
}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
a{color:var(--link);text-decoration-thickness:1.5px;text-underline-offset:2px}
a:hover{color:var(--ink)}
strong{color:var(--ink);font-weight:800}
p,li{color:var(--ink-2)}
ul,ol{padding-left:1.3rem}
li{margin:.3rem 0}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;background:var(--sage);border-radius:8px;padding:.1em .45em;color:var(--ink)}
.path{background:var(--sage);border-radius:8px;padding:.08em .45em;font-weight:800;color:var(--ink);white-space:nowrap}

/* header */
.top{padding:2rem 1.25rem 0;display:flex;flex-direction:column;align-items:center;gap:1.15rem}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--ink)}
.brand .mark{width:46px;height:46px;border-radius:13px;box-shadow:var(--shadow);flex:none}
.brand-name{font-weight:800;font-size:1.4rem;letter-spacing:-.01em}
.pill{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:.2rem;padding:.35rem;background:#fff;border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow)}
.pill a{padding:.5rem 1.05rem;border-radius:999px;text-decoration:none;color:var(--ink-2);font-weight:700;font-size:.95rem;line-height:1.2}
.pill a:hover,.pill a:focus-visible{background:var(--sage);color:var(--ink)}
.pill a[aria-current="page"]{background:var(--leaf);color:var(--ink)}

/* layout */
.wrap{max-width:48rem;margin:0 auto;padding:2.5rem 1.25rem 3rem}
.hero{text-align:center;margin:.5rem 0 2.5rem}
.eyebrow{display:inline-flex;align-items:center;gap:.45rem;color:var(--link);font-weight:800;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.6rem}
.eyebrow svg{width:18px;height:18px}
h1{font-size:clamp(2.1rem,5.5vw,3rem);font-weight:800;line-height:1.08;letter-spacing:-.02em;margin:0 0 .7rem}
.lede{color:var(--ink-2);font-size:1.12rem;max-width:36rem;margin:0 auto}
.meta{color:var(--ink-3);font-size:.9rem;margin:.9rem 0 0}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 0}
.hero .chips,.center{justify-content:center}
.chip{display:inline-flex;align-items:center;gap:.4rem;background:var(--leaf);color:var(--ink);border-radius:999px;padding:.32rem .9rem;font-weight:700;font-size:.85rem;line-height:1.3}
.chip svg{width:14px;height:14px}

/* cards */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem 1.65rem;box-shadow:var(--shadow);margin:1.25rem 0}
.card>:first-child{margin-top:0}
.card>:last-child{margin-bottom:0}
.card.summary{background:linear-gradient(160deg,#fff 0%,#F4FAF0 100%)}
.card-head{display:flex;align-items:center;gap:.8rem;margin:0 0 .7rem}
.card-head h2,.card-head h3{margin:0;font-size:1.2rem;font-weight:800;line-height:1.25}
a.card{display:block;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
a.card:hover,a.card:focus-visible{transform:translateY(-2px);box-shadow:0 20px 40px rgba(18,36,26,.11),0 3px 8px rgba(18,36,26,.06)}
a.card .more{color:var(--link);font-weight:800;margin-top:.7rem}
.ico{flex:none;width:40px;height:40px;border-radius:13px;background:var(--leaf);display:inline-grid;place-items:center}
.ico svg{width:22px;height:22px}
.grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr));margin:1.25rem 0}
.grid .card{margin:0}

/* plans */
.plans{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));margin:1rem 0 0}
.plan{background:#fff;border:1px solid var(--line);border-radius:18px;padding:.9rem 1rem;text-align:center}
.plan .name{display:block;font-weight:800;font-size:.9rem;color:var(--ink)}
.plan .price{display:block;font-weight:800;font-size:1.35rem;color:var(--link);line-height:1.2;margin:.25rem 0 .1rem}
.plan .len{display:block;font-size:.82rem;color:var(--ink-3)}

/* sections + accordions */
.section{margin:2.75rem 0 0}
.section-title{display:flex;align-items:center;gap:.75rem;font-size:1.4rem;font-weight:800;letter-spacing:-.01em;margin:0 0 1rem}
.faq{display:grid;gap:.8rem}
details{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.05rem 1.45rem;font-weight:800;font-size:1.03rem;line-height:1.35;color:var(--ink)}
summary::-webkit-details-marker{display:none}
summary::after{
  content:"";flex:none;width:30px;height:30px;border-radius:50%;background-color:var(--sage);
  background-image:linear-gradient(var(--link),var(--link)),linear-gradient(var(--link),var(--link));
  background-size:12px 2px,2px 12px;background-position:center;background-repeat:no-repeat;
  transition:transform .25s ease,background-color .25s ease;
}
details[open] summary::after{transform:rotate(45deg);background-color:var(--leaf)}
details[open] summary{border-bottom:1px solid var(--line);background:linear-gradient(180deg,#F7FBF4,#fff)}
summary:hover{background:#F7FBF4}
summary:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.answer{padding:1.05rem 1.45rem 1.3rem;color:var(--ink-2)}
.answer>:first-child{margin-top:0}
.answer>:last-child{margin-bottom:0}

/* tables */
.tablewrap{overflow-x:auto;margin:1rem 0;border-radius:16px;border:1px solid var(--line)}
table{border-collapse:collapse;width:100%;min-width:24rem;font-size:.95rem}
th{background:var(--sage);text-align:left;padding:.7rem .95rem;font-weight:800;color:var(--ink);white-space:nowrap}
td{padding:.7rem .95rem;border-top:1px solid var(--line);color:var(--ink-2);vertical-align:top}

/* buttons */
.btn{display:inline-block;background:var(--ink);color:#fff;border-radius:999px;padding:.62rem 1.25rem;font-weight:800;text-decoration:none;line-height:1.2}
.btn:hover,.btn:focus-visible{background:#1E3A2A;color:#fff}
.btn.soft{background:var(--leaf);color:var(--ink)}
.btn.soft:hover,.btn.soft:focus-visible{background:#ADDD9F;color:var(--ink)}
.actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}

/* footer */
.foot{margin-top:3.5rem;padding:2rem 1.25rem 3rem;text-align:center;color:var(--ink-3);font-size:.9rem}
.foot .leafline{display:flex;justify-content:center;gap:.4rem;margin-bottom:1rem;color:var(--accent)}
.foot .leafline svg{width:20px;height:20px}
.foot nav{display:flex;flex-wrap:wrap;justify-content:center;gap:1.2rem;margin-bottom:.6rem}
.foot nav a{color:var(--ink-2);text-decoration:none;font-weight:700}
.foot nav a:hover{color:var(--link);text-decoration:underline}
.foot .app{font-weight:800;color:var(--ink)}

@media (max-width:600px){
  .wrap{padding:1.75rem 1rem 2rem}
  .card{padding:1.25rem 1.2rem}
  summary{padding:.95rem 1.1rem;font-size:.98rem}
  .answer{padding:.9rem 1.1rem 1.1rem}
  .pill a{padding:.45rem .85rem;font-size:.9rem}
  .section-title{font-size:1.25rem}
}
@media (prefers-reduced-motion:reduce){
  summary::after,a.card{transition:none}
}
