.hapo-core-values{box-sizing:border-box;position:relative;isolation:isolate;overflow:hidden;background:#fafafa;padding:112px 24px 118px;font-family:Manrope,Arial,sans-serif;color:#101010}
.hapo-core-values *{box-sizing:border-box}
.hapo-core-values--width-full{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.hapo-core-values--width-container{width:100%}
.hapo-core-values::before,.hapo-core-values::after{content:"";position:absolute;z-index:-1;pointer-events:none;background:#f5f5f5}
.hapo-core-values::before{inset:0 50% 0 0;clip-path:polygon(0 0,100% 100%,0 100%)}
.hapo-core-values::after{inset:0 0 0 50%;clip-path:polygon(100% 0,100% 100%,0 100%)}
.hapo-core-values__inner{max-width:1360px;margin:0 auto}
.hapo-core-values__header{text-align:center;margin:0 0 60px}
.hapo-core-values .hapo-core-values__heading{font-family:inherit;font-size:42px;font-weight:700;line-height:1.25;letter-spacing:-.025em;margin:0;color:#0b0b0b;text-transform:uppercase}
.hapo-core-values__heading-rule{display:block;width:150px;height:4px;background:#08c874;margin:26px auto 24px}
.hapo-core-values .hapo-core-values__subtitle{font-size:20px;line-height:1.5;font-weight:500;margin:0;color:#171717}
.hapo-core-values__grid{list-style:none;counter-reset:hapo-core-value;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:0;padding:0}
.hapo-core-values__card{counter-increment:hapo-core-value;min-width:0;min-height:435px;padding:84px 38px 48px;background:#fff;border-radius:11px;box-shadow:0 6px 26px rgb(0 0 0 / 7%);text-align:center}
.hapo-core-values__number{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 17px;border-radius:50%;background:#09c672;color:#fff;font-size:24px;font-weight:700;line-height:1}
.hapo-core-values__number::before{content:counter(hapo-core-value)}
.hapo-core-values .hapo-core-values__card-title{font-family:inherit;font-size:22px;font-weight:700;line-height:1.35;letter-spacing:-.025em;color:#111;margin:0}
.hapo-core-values__card-rule{display:block;width:66px;height:2px;background:#18d47c;margin:21px auto 24px}
.hapo-core-values .hapo-core-values__description{font-size:18px;font-weight:500;line-height:1.5;color:#777;margin:0}
.hapo-core-values__empty{text-align:center}
@media(max-width:1000px){.hapo-core-values{padding:80px 24px}.hapo-core-values__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hapo-core-values__card{min-height:360px;padding:60px 28px 40px}.hapo-core-values .hapo-core-values__heading{font-size:36px}}
@media(max-width:640px){.hapo-core-values{padding:64px 16px 72px}.hapo-core-values__header{margin-bottom:40px}.hapo-core-values .hapo-core-values__heading{font-size:29px}.hapo-core-values__heading-rule{width:90px;margin:20px auto}.hapo-core-values .hapo-core-values__subtitle{font-size:16px}.hapo-core-values__grid{grid-template-columns:1fr;gap:16px}.hapo-core-values__card{min-height:0;padding:38px 24px 42px}.hapo-core-values__number{width:54px;height:54px;font-size:22px}.hapo-core-values .hapo-core-values__card-title{font-size:20px}.hapo-core-values .hapo-core-values__description{font-size:16px}}

/* Mobile, from the supplied 375px About-page design (2026-10-20): balanced two-line heading,
   compact cards (40px number, 16px title, 14px/400 description) stacked 28px apart. */
@media(max-width:640px){
.hapo-core-values{padding:56px 16px 66px}
.hapo-core-values__header{margin-bottom:28px}
.hapo-core-values .hapo-core-values__heading{font-size:25.5px;line-height:34px;letter-spacing:-.01em;text-wrap:balance}
.hapo-core-values__heading-rule{width:80px;height:4px;margin:18px auto 16px}
.hapo-core-values .hapo-core-values__subtitle{font-size:16px;line-height:21px}
.hapo-core-values__grid{gap:28px}
.hapo-core-values__card{margin:0;padding:20px 24px 16px;border-radius:12px}
.hapo-core-values__number{width:40px;height:40px;margin-bottom:18px;font-size:17px}
.hapo-core-values .hapo-core-values__card-title{font-size:16px;line-height:1.35}
.hapo-core-values__card-rule{width:66px;height:2px;margin:7px auto 14px}
.hapo-core-values .hapo-core-values__description{font-size:14px;font-weight:400;line-height:18.5px}
}
