/* ===== polish: one system for every page ===== */
:root{--btn:#007A45;--btn-h:#006A3C;--r-card:24px;--r-item:16px}
/* 1. primary buttons: same green family, readable white text */
.btn-primary,.btn.btn-primary,.btn-dark,.btn.btn-dark,.xc-btn,.mcta .btn,.chk-done .btn{background:var(--btn)!important;color:#fff!important;border-color:var(--btn)!important}
.btn-primary:hover,.btn-dark:hover,.xc-btn:hover{background:var(--btn-h)!important}
/* secondary buttons: one look */
.btn-ghost,.btn.btn-ghost{background:#fff!important;color:#006A3C!important;box-shadow:inset 0 0 0 1.5px rgba(0,122,69,.4)!important;border:0!important}
.btn-ghost:hover{background:#F2FAF6!important}
/* 2. type scale */
.ph h1,.x-hero h1,.h3 h1,.hero h1{font-size:clamp(32px,4.4vw,56px)!important}
.h2,.x-h2,h2.h2{font-size:clamp(27px,3.4vw,44px)!important}
.ph-sub,.s-sub,.x-sub,.ba-sub,.pw-sub{font-size:clamp(16px,1.3vw,18px)!important;line-height:1.75!important;max-width:640px}
.shead.c .s-sub,.x-sub,.center .pw-sub,.ba-head .ba-sub{margin-inline:auto}
.fc p,.relc small,.how3 b,.steps li p,.tcard p{font-size:15px}
.micro2,.x-fine,.fine2{max-width:680px;margin-inline:auto}
.cta2 p,.x-end p{max-width:620px;margin-inline:auto}
/* 3. tap targets */
.logo{display:inline-flex;align-items:center;min-height:44px}
.xc-btn.sm{min-height:44px!important;min-width:56px}
.x-bar a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px}
.ytw .go{min-height:44px}
.otabs button{min-height:44px}
.pw-more,.x-go,a.go{min-height:44px;display:inline-flex;align-items:center}
/* 4. mobile header: login always reachable */
@media (max-width:959px){.nav2 .login{display:inline-flex!important;align-items:center;min-height:44px;padding:0 8px;font-size:15px;font-weight:800;color:#0D1B14;text-decoration:none}}
@media (max-width:370px){.nav2 .login{display:none!important}}
/* 5. readability inside illustrations */
.ph-vis .uic small,.ph-vis .uic em,.vbox small{font-size:max(12px,1em)}
.so-add s,.x-msg s,.wa s,.drw s:not(.drw-bar s),.uic s{color:#5B6B63!important}
.cp-b small{color:#fff!important;opacity:1!important}
.brief p{font-weight:600!important;font-size:clamp(18px,2vw,24px)!important;line-height:1.75!important}
/* 6. shape tokens */
.fc,.relc,.x-pl,.planbox,.tcard,.cust,.xst,.uic{border-radius:var(--r-card)}
.how3 li,.steps li,.chk li button,.x-steps li{border-radius:var(--r-item)}
.c-ic .ic,.x-tb-ic .ic,.relc i .arw,.x-pt-ic .ic,.mi-ic .ic{width:22px;height:22px}
/* 7. compare groups fold on mobile */
.xg-t{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;cursor:pointer}
.xg-t i{display:none}
@media (max-width:759px){
 .xg-t i{display:block;width:10px;height:10px;border-inline-end:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .25s;margin-inline-start:12px}
 .xgrp.shut .xg-t i{transform:rotate(-135deg)}
 .xgrp.shut .xrow{display:none}
}
/* 8. pricing cards: stacked on phones, feature ticks */
@media (max-width:759px){
 .xcards{grid-auto-flow:row!important;grid-auto-columns:auto!important;grid-template-columns:1fr!important;overflow:visible!important;margin-inline:0!important;padding:0 0 16px!important}
}
.xc-l li{display:flex;gap:10px;align-items:flex-start}
.xc-l li svg{flex:none;width:20px;height:20px;padding:3px;border-radius:50%;background:#E3F6EC!important;color:#006A3C!important;stroke:#006A3C!important;margin-top:2px}
.xc:nth-child(2) .xc-l li svg{background:rgba(255,255,255,.15)!important;color:#fff!important;stroke:#fff!important}
/* 9. calmer mobile rhythm */
@media (max-width:759px){section.s{padding-block:56px}}
/* illustration contrast */
.wa-res{background:var(--btn)!important}
.wa-in span{color:#5E6E77!important}
.wa time{color:#55656F!important}
.sk-hl em{background:var(--btn)!important}
.sp-in .ph{color:#5E6E66!important}
.bf-bar span{color:#55655D!important;font-size:12px!important}
.otabs button.on,.otabs .on,.sg-tabs .on{background:var(--btn)!important;color:#fff!important}
.so-off,.x-pop,.mini-btn,.pm-btn,.drw-cta,.sg-go{background:var(--btn)!important}
.final h2{font-size:clamp(30px,3.6vw,48px)!important}
.q-sum em,.ba-c.after .ba-h,.pl-pop,.xst.calc{background:var(--btn)!important}
.cp-b{background:#C62828!important}
.xc-h small{color:#55655D!important}
.save2 span{color:#2C3B34!important;opacity:1!important}
.ai-v em .num,.sk em .num{color:#46564E}
.tfilter button.on,.seg button.on{background:var(--btn)!important;color:#fff!important}
.xc:nth-child(2) .xc-h small{color:#BFE6D2!important}
.save2 span{color:#E6F7EE!important}
