/* Doc-Rep: homepage built from blocks. */

/* hero entrance (CSS only, no flash) */
@keyframes heroIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero .hg>*>*{animation:heroIn .9s var(--ease) both}
.hero .hg>*>*:nth-child(2){animation-delay:.08s}.hero .hg>*>*:nth-child(3){animation-delay:.16s}.hero .hg>*>*:nth-child(4){animation-delay:.24s}.hero .hg>*>*:nth-child(5){animation-delay:.32s}
.hero .hg>.wp-block-html{animation:heroIn 1s .3s var(--ease) both}
.hero .hg>.wp-block-html .rep{opacity:1;transform:none}
.hero h1 mark.has-maroon-color{color:var(--m)}
.hero p.sub strong{color:var(--ink);font-weight:600}
.hero .hg>.wp-block-group{min-width:0}
.hero .ch .ln{animation:dr 2s .7s var(--ease) forwards}

/* ticks */
.wp-block-list.ticks{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;font-size:13.5px;font-weight:600;color:var(--body);list-style:none;padding:0}
.ticks>li{display:flex;gap:8px;align-items:center}
.ticks>li::before{content:"";flex:none;width:15px;height:15px;background:var(--m);-webkit-mask:var(--i-check) center/contain no-repeat;mask:var(--i-check) center/contain no-repeat}

/* focus row */
.fc p.sm{font:700 11px var(--b);letter-spacing:.14em;color:var(--m);display:block;margin-bottom:10px}
.focus>.wrap{display:grid;grid-template-columns:repeat(3,1fr)}

/* section heads */
.top2>.wp-block-group{min-width:0}
.dk .top2 p.lead{color:rgba(255,255,255,.72)}
.wp-block-group.top2 p.lead{margin-top:0}
.wp-block-buttons.after{margin-top:36px}

/* explorer extras */
.pn p.att{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);padding-top:18px;border-top:1px solid var(--line);margin:0 0 20px}
.pn p.att strong{display:block;font:600 14px var(--b);letter-spacing:0;text-transform:none;color:var(--ink);margin-top:4px}
.pn .wp-block-html{margin-bottom:28px}
.btn-a .wp-block-button__link{background:none;height:auto;padding:0;color:var(--m);box-shadow:none;font-size:14px}
.btn-a .wp-block-button__link:hover{background:none;box-shadow:none;transform:none;color:var(--m-d)}

/* journey */
.jpn p.n{font:700 64px/1 var(--h);color:rgba(255,255,255,.12);margin-bottom:14px}
.jpn h3{font-size:24px;margin-bottom:12px;color:#fff}
.jpn>p:not(.n):not(.tab-label){margin-bottom:20px;max-width:480px}
.wp-block-list.tg{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0}
.tg>li{font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:99px;border:1px solid rgba(255,255,255,.2);color:#fff}
.jg.dr-tabs:not(.dr-ready) .jp>.jpn{display:block;margin-bottom:28px}
.dr-ready .jp>.jpn{display:none}.dr-ready .jp>.jpn.on{display:block;animation:pin .6s var(--ease)}

/* trial */
.h2s{font-size:clamp(22px,2.2vw,28px)}
.h2m{font-size:clamp(26px,2.8vw,36px)}
p.fine{font-size:12.5px;opacity:.75;margin-top:16px}
.trial p.fine{margin-top:16px}
.trial .wp-block-list.ck{margin-bottom:28px}

/* why */
.wg>.wp-block-group{min-width:0}
.vl>.vi{display:flex}
.fd>.wp-block-group{min-width:0}
.fd p.fq{font:600 15.5px/1.5 var(--h);color:var(--ink);letter-spacing:-.01em;margin-bottom:6px}
.fd p.fsm{font-size:13px;color:var(--mute)}.fd p.fsm strong{color:var(--ink)}
.wg .wp-block-html+.fd{margin-top:36px}

/* kpi */
.kpisec{padding-bottom:104px}
.kpi>.wp-block-group{min-width:0}
.kpi p.ylb{color:var(--y);margin-bottom:8px}
.kpi h3{color:#fff}
.kpi p:not(.lb){font-size:14.5px;max-width:500px}

/* contact */
.ct{padding:104px 0;background:var(--soft)}
.cg>.wp-block-group,.cg>form{min-width:0}

@media(max-width:980px){.focus>.wrap{grid-template-columns:1fr}.hero .hg>.wp-block-html{margin-top:8px}}

/* parity fixes found by measuring against the approved v3 design */
.hero h1{padding-bottom:.24em}
.fd p.fsm{line-height:26.4px}
.kpi p.lb{font-size:11px;max-width:none;margin-bottom:8px}

/* Website-design mock: the "98" score badge hangs clearly off the card corner (and ignores the service-card styles that share the .sc class) */
.mk.web>.sc{padding:0;right:-30px;top:-30px;transform:none;transition:none;border-radius:50%;background:#fff;border:4px solid #CDEEDB}
.mk.web>.sc:hover{transform:none;box-shadow:0 10px 20px -8px rgba(0,0,0,.25)}
