.ab{--ab-paper:#f4f0e9;--ab-ink:#1f1e1b;--ab-soft:#6f6a61;--ab-rule:rgba(11,11,10,.12)}
.ab-h1{font-family:var(--display);font-weight:400;font-size:clamp(2.1rem,4.2vw,3.6rem);line-height:1.12;letter-spacing:-.01em;max-width:18ch}
.ab-intro,.ab-trust{background:var(--ab-paper);color:var(--ab-ink)}
.ab-intro{padding:clamp(4rem,9vw,8rem) 0;border-bottom:1px solid var(--ab-rule)}
.ab-intro__text{font-family:var(--display);font-size:clamp(1.3rem,2.1vw,1.85rem);line-height:1.5;max-width:46ch;margin:0 auto;text-align:center}
.ab-rooted,.ab-promise{padding:clamp(4.5rem,10vw,9rem) 0}
.ab-trust{padding:clamp(4.5rem,10vw,9rem) 0}
.ab-rooted__grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.ab-h2{font-family:var(--display);font-weight:400;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.15;margin:.6rem 0 0}
.ab-body{font-size:clamp(1rem,1.15vw,1.12rem);line-height:1.8;color:var(--ivory-dim);max-width:60ch}
.ab-trust .ab-body{color:var(--ab-soft)}
.ab-plan{width:min(260px,70%);margin-top:2.5rem;fill:none;stroke:var(--copper);stroke-width:1;stroke-dasharray:900;stroke-dashoffset:900;transition:stroke-dashoffset 2.2s var(--ease)}
.is-in .ab-plan{stroke-dashoffset:0}
.ab-head{max-width:720px;margin-bottom:clamp(2.5rem,5vw,4rem)}
.ab-head .ab-body{margin-top:1.2rem}
.ab-feats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ab-rule)}
.ab-feat{position:relative;padding:2.4rem 2rem 2.4rem 0;border-right:1px solid var(--ab-rule);transition:transform .45s var(--ease)}
.ab-feat+.ab-feat{padding-left:2rem}.ab-feat:last-child{border-right:0}
.ab-feat::before{content:"";position:absolute;top:-1px;left:0;height:1px;width:0;background:var(--copper);transition:width .5s var(--ease)}
.ab-feat:hover{transform:translateY(-3px)}.ab-feat:hover::before{width:100%}
.ab-feat svg{width:34px;height:34px;fill:none;stroke:var(--copper-deep);stroke-width:1.2}
.ab-num{display:block;margin-top:1.6rem;font-size:.78rem;letter-spacing:.2em;color:var(--copper)}
.ab-feat h3{font-family:var(--sans);font-weight:500;font-size:1.15rem;margin:.5rem 0 .6rem}
.ab-feat p{color:var(--ab-soft);line-height:1.7;font-size:.98rem}
.ab-values{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.ab-values li{background:var(--ink);padding:clamp(2rem,4vw,3.2rem) 1.8rem;font-size:.92rem;letter-spacing:.16em;text-transform:uppercase;line-height:1.6;transition:background .45s var(--ease),transform .45s var(--ease),color .45s}
.ab-values li span{display:block;font-family:var(--display);font-size:1.4rem;letter-spacing:0;color:var(--copper);margin-bottom:1.2rem}
.ab-values li:hover{background:var(--ink-3);color:var(--copper-light);transform:translateY(-3px)}
.ab-close{font-family:var(--display);font-style:normal;font-size:clamp(1.4rem,2.6vw,2.2rem);line-height:1.35;text-align:center;max-width:32ch;margin:clamp(3rem,7vw,5.5rem) auto 0;padding-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--copper-deep)}
.ab-in{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0ms)}
.ab-in.is-in{opacity:1;transform:none}
.ab-feat.ab-in.is-in:hover{transform:translateY(-3px)}
.ab-values li.ab-in.is-in:hover{transform:translateY(-3px)}
.ab-hero img{will-change:transform}
@media (max-width:1024px){.ab-feat{padding-right:1.4rem}.ab-feat+.ab-feat{padding-left:1.4rem}}
@media (max-width:760px){.ab-rooted__grid,.ab-feats,.ab-values{grid-template-columns:1fr}
.ab-feat,.ab-feat+.ab-feat{padding:2rem 0;border-right:0;border-bottom:1px solid var(--ab-rule)}
.ab-intro__text{text-align:left}}
@media (prefers-reduced-motion:reduce){.ab-in,.ab-plan{opacity:1;transform:none;transition:none;stroke-dashoffset:0}.ab-feat,.ab-values li{transition:none}}
