.features-page { --features-border:#dce8df; color:var(--text-dark); padding-top:70px; }
.features-page a { color:var(--green-dark); text-underline-offset:4px; }
.features-container { width:min(1120px,92%); margin-inline:auto; }
.features-section { padding:80px 0; }
.features-soft { background:var(--bg-soft); }
.features-hero { padding:90px 0 55px; background:linear-gradient(155deg,#f1f8ee 0%,#fff 75%); }
.features-hero-copy { max-width:900px; margin:0 auto 46px; text-align:center; }
.features-eyebrow { display:block; margin-bottom:14px; color:var(--green-dark); font-size:.78rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.features-page h1 { max-width:950px; margin:0 auto 24px; font-size:clamp(2rem,4.7vw,3.7rem); line-height:1.16; font-weight:800; letter-spacing:-.04em; text-wrap:balance; }
.features-lead { max-width:800px; margin:0 auto 26px; color:#42584b; font-size:1.08rem; }
.features-actions { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin:28px 0 18px; }
.features-page .btn { display:inline-flex; justify-content:center; align-items:center; min-height:48px; text-align:center; font-size:.9rem; }
.features-page .btn-primary { color:white; }
.features-page .btn-primary:hover { background:#004a24; }
.features-note { color:#4c6053; font-size:.83rem; margin-top:24px; }
.features-screen { margin:30px 0 0; }
.features-screen>a { display:block; position:relative; border:1px solid #cbdccf; border-radius:16px; padding:7px; background:white; box-shadow:0 18px 55px #0f392214; overflow:hidden; }
.features-screen img { display:block; width:100%; height:auto; border-radius:10px; }
.features-zoom-label { display:block; padding:10px 14px 4px; font-size:.76rem; text-align:right; }
.features-screen figcaption { margin-top:16px; text-align:center; color:#42584b; font-size:.9rem; }
.features-heading { max-width:780px; margin-bottom:34px; }
.features-page h2 { font-size:clamp(1.6rem,3vw,2.4rem); line-height:1.22; letter-spacing:-.025em; margin-bottom:18px; text-wrap:balance; }
.features-heading p, .features-card p, .features-start-card p { color:#4c6053; }
.features-grid { display:grid; gap:22px; }
.features-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.features-grid-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.features-card { display:flex; flex-direction:column; padding:30px; border:1px solid var(--features-border); border-radius:18px; background:white; text-decoration:none; transition:box-shadow .2s,border-color .2s; min-width:0; }
.features-card:hover { border-color:#75a980; box-shadow:0 12px 28px #0f392210; }
.features-card h3, .features-start-card h3 { font-size:1.12rem; line-height:1.4; margin:0 0 12px; color:var(--text-dark); }
.features-card p { font-size:.9rem; margin-bottom:22px; }
.features-icon { width:46px; height:46px; display:grid; place-items:center; border-radius:13px; background:#edf6e8; margin-bottom:24px; font-size:1.2rem; }
.features-text-link { display:inline-block; margin-top:auto; font-size:.85rem; font-weight:700; }
.features-tabs { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px; }
.features-tabs button { font:inherit; font-size:.9rem; color:var(--green-dark); border:1px solid #b5cfbb; padding:12px 22px; border-radius:30px; background:white; cursor:pointer; min-height:48px; }
.features-tabs button[aria-selected=true] { background:var(--green-dark); color:white; border-color:var(--green-dark); }
.features-panel { margin-top:28px; }
.features-panel>.features-text-link { display:block; margin-top:20px; text-align:center; }
.features-details { border:1px solid var(--features-border); border-radius:14px; background:white; margin-bottom:14px; padding:0 24px 20px; }
.features-details:not([open]) { padding-bottom:0; }
.features-details summary { cursor:pointer; padding:20px 0; font-weight:700; line-height:1.5; }
.features-details p { margin-bottom:15px; color:#42584b; }
.features-details ul { padding-left:22px; margin-bottom:20px; }
.features-details li { margin:8px 0; }
.features-profiles { max-width:900px; }
.features-case { padding:0; overflow:hidden; }
.features-case img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.features-case>div { padding:26px; display:flex; flex-direction:column; flex:1; }
.features-all-link { display:inline-block; margin-top:32px; font-weight:700; }
.features-start-card { border:1px solid var(--features-border); background:white; border-radius:18px; padding:34px; display:flex; flex-direction:column; align-items:flex-start; }
.features-start-card p { margin-bottom:26px; }
.features-start-card .btn { margin-top:auto; }
.features-reading { max-width:850px; }
.features-reading>p { margin:22px 0; }
.features-breadcrumb { padding-top:30px; font-size:.8rem; }
.features-breadcrumb ol { display:flex; flex-wrap:wrap; gap:10px; list-style:none; }
.features-breadcrumb li+li:before { content:'›'; margin-right:10px; color:#546d5d; }
.features-family-hero { padding-top:45px; text-align:center; }
.features-family-hero .features-screen { margin-top:38px; }
.features-section-nav { background:white; border-block:1px solid var(--features-border); padding:10px 0; position:sticky; top:70px; z-index:5; }
.features-section-nav>div { display:flex; flex-wrap:wrap; justify-content:center; gap:4px 22px; }
.features-section-nav a { padding:10px 0; font-size:.8rem; font-weight:600; }
.features-capabilities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; list-style:none; }
.features-capabilities li { display:flex; align-items:flex-start; gap:14px; padding:22px; background:var(--bg-soft); border-radius:12px; }
.features-capabilities i { margin-top:5px; color:var(--green-dark); }
.features-steps { counter-reset:step; display:flex; flex-wrap:wrap; gap:20px; list-style:none; }
.features-steps li { flex:1 1 140px; padding:22px; border-top:2px solid #c2d8b8; font-weight:600; }
.features-steps li:before { counter-increment:step; content:counter(step,decimal-leading-zero); display:block; color:var(--green-dark); margin-bottom:12px; font-size:1.5rem; }
.features-scenario { margin-top:35px; padding:30px; background:white; border-left:4px solid var(--green-dark); border-radius:0 14px 14px 0; }
.features-scenario p { margin-bottom:22px; }
.features-page [id] { scroll-margin-top:140px; }
.features-anchor { display:block; }
.features-page :focus-visible, .features-lightbox :focus-visible { outline:3px solid #2577b4; outline-offset:5px; }
.features-lightbox { width:min(1600px,96vw); max-height:95vh; margin:auto; padding:18px; border:0; border-radius:16px; color:var(--text-dark); }
.features-lightbox::backdrop { background:#082216dc; }
.features-lightbox img { display:block; width:100%; min-width:900px; height:auto; }
.features-lightbox button { display:block; margin:0 0 14px auto; font:inherit; border:1px solid #8aab94; background:white; padding:10px 16px; cursor:pointer; border-radius:8px; }
.features-lightbox p { margin:12px 0 0; }
.features-page [hidden] { display:none!important; }
@media (max-width:900px) { .features-grid-three,.features-capabilities { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) {
  .features-hero { padding:55px 0 35px; }
  .features-section { padding:50px 0; }
  .features-grid-three,.features-grid-two,.features-capabilities { grid-template-columns:1fr; }
  .features-card,.features-start-card { padding:24px; }
  .features-case { padding:0; }
  .features-actions { flex-direction:column; }
  .features-screen>a { padding:3px; border-radius:10px; }
  .features-zoom-label { padding:8px; }
  .features-tabs { gap:8px; }
  .features-tabs button { flex:1 1 40%; padding:12px; }
  .features-section-nav { position:static; }
  .features-section-nav>div { justify-content:flex-start; gap:0 20px; }
  .features-breadcrumb { font-size:.72rem; }
  .features-details { padding-inline:18px; }
}
@media (prefers-reduced-motion:reduce) { .features-page * { scroll-behavior:auto!important; transition:none!important; } }
