/* Synvora — site styles. Colours and fonts are tokens in :root; v2 layout rules are at the end. */

/* ========== Tokens ========== */
:root{
  --green-900:#0d411d;
  --green-800:#13532a;
  --green-600:#288e45;
  --green-500:#3aa257;
  --green-100:#e3f1df;
  --green-50:#eff7ec;
  --yellow:#f8c22a;
  --yellow-600:#e5ac0d;
  --cream:#f1f0eb;
  --cream-2:#f8f6f0;
  --brown:#52320b;
  --ink:#10251a;
  --text:#4a5a50;
  --muted:#7b877f;
  --line:#e4e6df;
  --white:#fff;
  --radius:10px;
  --radius-sm:8px;
  --shadow:0 10px 30px rgba(13,65,29,.08);
  --shadow-lg:0 22px 50px rgba(13,65,29,.14);
  --font-body:"Work Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-display:"Amatic SC","Work Sans",cursive;
  --font-hand:"Patrick Hand","Work Sans",cursive;
  --wrap:1240px;
}

/* ========== Base ========== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.65;color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--green-600);text-decoration:none;transition:color .2s}
a:hover{color:var(--green-900)}
h1,h2,h3,h4,h5,h6{color:var(--ink);font-weight:800;line-height:1.2;margin:0 0 .5em;letter-spacing:-.01em}
p{margin:0 0 1em}
ul{padding-left:1.2em}
button,input,select,textarea{font:inherit;color:inherit}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed;top:8px;left:8px;z-index:999;background:var(--yellow);color:var(--ink);padding:10px 16px;border-radius:6px;clip:auto;width:auto;height:auto}
:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.section{padding:96px 0;position:relative}
.section--cream{background:var(--cream)}
.section--green{background:var(--green-900);color:#cfe2d4}
.section--green h2,.section--green h3{color:#fff}
.center{text-align:center}

/* Section heading */
.eyebrow{font-family:var(--font-hand);font-size:1.25rem;color:var(--green-600);display:inline-block;margin-bottom:6px}
.section-title{font-size:clamp(1.9rem,3.2vw,2.6rem);margin-bottom:12px}
.section-title .hl{color:var(--green-600)}
.section-sub{max-width:640px;color:var(--text)}
.center .section-sub{margin-left:auto;margin-right:auto}
.section-head{margin-bottom:48px}
.section-head--row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.display{font-family:var(--font-display);font-weight:700;letter-spacing:.01em;line-height:1;text-transform:uppercase}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:14px;padding:7px 7px 7px 26px;border-radius:999px;background:var(--green-900);color:#fff;font-weight:600;font-size:.95rem;border:0;cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s;white-space:nowrap}
.btn:hover{color:#fff;background:var(--green-800);transform:translateY(-2px);box-shadow:var(--shadow)}
.btn__icon{width:34px;height:34px;border-radius:50%;background:var(--yellow);color:var(--ink);display:grid;place-items:center;flex:none}
.btn__icon svg{width:14px;height:14px}
.btn--yellow{background:var(--yellow);color:var(--ink)}
.btn--yellow .btn__icon{background:var(--green-900);color:#fff}
.btn--yellow:hover{background:var(--yellow-600);color:var(--ink)}
.btn--ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.btn--ghost:hover{background:var(--green-50);color:var(--ink)}
.btn--plain{padding:14px 26px}
.link-more{font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:8px;font-size:.92rem}
.link-more svg{width:12px;height:12px;transition:transform .2s}
.link-more:hover svg{transform:translateX(4px)}
.link-underline{font-weight:600;color:var(--ink);border-bottom:2px solid var(--yellow);padding-bottom:2px;font-size:.88rem}

/* Torn edges */
.torn-top,.torn-bottom{position:absolute;left:0;right:0;height:14px;background-repeat:repeat-x;background-size:220px 14px;z-index:2;pointer-events:none}
.torn-top{top:-1px;transform:scaleY(-1)}
.torn-bottom{bottom:-1px}
.torn--white{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 14'%3E%3Cpath fill='%23ffffff' d='M0 14 L0 7 L6 5 L14 8 L23 4 L30 6 L40 3 L48 7 L59 5 L68 8 L78 4 L86 6 L95 5 L106 9 L114 6 L124 7 L133 4 L141 8 L152 6 L159 7 L169 4 L178 7 L186 6 L196 8 L205 5 L213 7 L220 7 L220 14Z'/%3E%3C/svg%3E")}
.torn--cream{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 14'%3E%3Cpath fill='%23f1f0eb' d='M0 14 L0 7 L6 5 L14 8 L23 4 L30 6 L40 3 L48 7 L59 5 L68 8 L78 4 L86 6 L95 5 L106 9 L114 6 L124 7 L133 4 L141 8 L152 6 L159 7 L169 4 L178 7 L186 6 L196 8 L205 5 L213 7 L220 7 L220 14Z'/%3E%3C/svg%3E")}
.torn--green{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 14'%3E%3Cpath fill='%230d411d' d='M0 14 L0 7 L6 5 L14 8 L23 4 L30 6 L40 3 L48 7 L59 5 L68 8 L78 4 L86 6 L95 5 L106 9 L114 6 L124 7 L133 4 L141 8 L152 6 L159 7 L169 4 L178 7 L186 6 L196 8 L205 5 L213 7 L220 7 L220 14Z'/%3E%3C/svg%3E")}

/* Mobile drawer */
.drawer{position:fixed;inset:0;z-index:200;pointer-events:none}
.drawer__backdrop{position:absolute;inset:0;background:rgba(13,65,29,.5);opacity:0;transition:.3s}
.drawer__panel{position:absolute;top:0;bottom:0;left:0;width:min(340px,86vw);background:#fff;transform:translateX(-100%);transition:.3s;overflow-y:auto;padding:22px}
.drawer.is-open{pointer-events:auto}
.drawer.is-open .drawer__backdrop{opacity:1}
.drawer.is-open .drawer__panel{transform:none}
.drawer__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.drawer ul{list-style:none;margin:0;padding:0}
.drawer li a{display:block;padding:12px 4px;border-bottom:1px dashed var(--line);color:var(--ink);font-weight:600}
.drawer .sub-menu{padding-left:14px}
.drawer .sub-menu a{font-weight:500;font-size:.93rem}
.drawer .btn{margin-top:22px}

/* ========== Big CTA ========== */
.bigcta{position:relative;padding:110px 0;background:var(--cream);overflow:hidden}
.bigcta h2{font-size:clamp(2.6rem,5vw,4.4rem);max-width:720px;margin:0 auto 26px;line-height:1.05}
.bigcta__art-l,.bigcta__art-r{position:absolute;bottom:0;width:300px;opacity:.95}
.bigcta__art-l{left:-30px}.bigcta__art-r{right:-30px}

/* ========== Blog ========== */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.post-card{text-align:center}
.post-card__media{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/11;background:var(--green-50);margin-bottom:18px;display:block}
.post-card__media img,.post-card__media svg{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.post-card:hover .post-card__media img,.post-card:hover .post-card__media svg{transform:scale(1.05)}
.post-card__date{position:absolute;top:16px;left:16px;background:var(--yellow);border-radius:8px;padding:8px 12px;text-align:center;line-height:1;color:var(--ink)}
.post-card__date b{display:block;font-size:1.5rem;font-weight:800}
.post-card__date small{font-size:.7rem;font-weight:600}
.post-card__meta{display:flex;justify-content:center;gap:16px;font-size:.78rem;color:var(--muted);margin-bottom:8px}
.post-card h3{font-size:1.08rem;margin-bottom:10px}
.post-card h3 a{color:var(--ink)}
.post-card h3 a:hover{color:var(--green-600)}
.post-card p{font-size:.88rem;color:var(--muted)}

/* ========== FAQ + Contact ========== */
.faq-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:start}
.faq{margin-top:28px}
.faq details{border-radius:10px;margin-bottom:12px;background:#fff;border:1px solid var(--line);overflow:hidden}
.faq summary{list-style:none;padding:17px 22px;font-weight:600;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;gap:16px;font-size:.95rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--green-600);transition:transform .2s}
.faq details[open]{background:var(--green-900);border-color:var(--green-900)}
.faq details[open] summary{color:#fff}
.faq details[open] summary::after{content:"–";color:var(--yellow)}
.faq .faq__a{padding:0 22px 20px;color:#c5dccc;font-size:.9rem}
.faq .faq__a p:last-child{margin:0}
.contact-card{background:#fff;border-radius:12px;box-shadow:var(--shadow-lg);overflow:hidden;position:sticky;top:90px}
.contact-card__top{position:relative;background:linear-gradient(150deg,#1d6a36,#0d411d);padding:34px 32px 30px;color:#cfe2d4;overflow:hidden}
.contact-card__top .eyebrow{color:var(--yellow)}
.contact-card__top h3{color:#fff;font-size:1.6rem;margin-bottom:6px}
.contact-card__top p{font-size:.88rem;margin:0}
.contact-card__q{position:absolute;right:20px;top:20px;width:64px;height:64px;border-radius:50%;background:var(--yellow);color:var(--ink);display:grid;place-items:center;font-family:var(--font-display);font-size:2.4rem;font-weight:700;transform:rotate(12deg)}
.contact-form{padding:28px 32px 32px}
.field{margin-bottom:14px}
.field label{display:block;font-size:.78rem;font-weight:600;color:var(--ink);margin-bottom:6px}
.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:var(--cream-2);border-radius:8px;padding:12px 14px;font-size:.92rem;transition:border-color .2s,background .2s}
.field input:focus,.field textarea:focus,.field select:focus{outline:0;border-color:var(--green-600);background:#fff}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-note{font-size:.74rem;color:var(--muted);margin-top:12px}
.form-msg{padding:12px 16px;border-radius:8px;font-size:.9rem;margin-bottom:16px}
.form-msg--ok{background:var(--green-100);color:var(--green-900)}
.form-msg--err{background:#fbe0e2;color:#9b2330}
.hp{position:absolute;left:-9999px}

/* ========== Inner pages ========== */
.page-hero{background:var(--cream);padding:70px 0 80px;position:relative;text-align:center;overflow:hidden}
.page-hero h1{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2.8rem,6vw,4.6rem);margin-bottom:8px;line-height:1}
.breadcrumbs{font-size:.86rem;color:var(--muted)}
.breadcrumbs a{color:var(--ink);font-weight:600}
.content-area{padding:80px 0}
.layout{display:grid;grid-template-columns:1fr 320px;gap:48px}
.layout--full{grid-template-columns:1fr}
.entry-content{font-size:1.02rem}
.entry-content>*+*{margin-top:1.1em}
.entry-content h2{font-size:1.7rem;margin-top:1.6em}
.entry-content h3{font-size:1.3rem;margin-top:1.4em}
.entry-content img{border-radius:var(--radius)}
.entry-content blockquote{margin:1.6em 0;padding:22px 26px;background:var(--cream);border-left:4px solid var(--yellow);border-radius:0 10px 10px 0;font-family:var(--font-hand);font-size:1.3rem;color:var(--ink)}
.entry-content a{text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:3px}
.entry-meta{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:.85rem;margin-bottom:22px}
.single-thumb{border-radius:12px;overflow:hidden;margin-bottom:30px}
.post-list{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.post-list .post-card{text-align:left}
.post-list .post-card__meta{justify-content:flex-start}
.widget{background:var(--cream-2);border-radius:var(--radius);padding:26px;margin-bottom:24px}
.widget-title,.widget h2{font-size:1.1rem;margin-bottom:14px}
.widget ul{list-style:none;padding:0;margin:0}
.widget li{padding:8px 0;border-bottom:1px dashed var(--line)}
.widget li a{color:var(--ink)}
.search-form{display:flex;background:#fff;border-radius:999px;padding:5px;border:1px solid var(--line)}
.search-form input{flex:1;border:0;outline:0;padding:0 14px;background:transparent;min-width:0}
.search-form button{border:0;background:var(--green-900);color:#fff;border-radius:999px;padding:9px 18px;cursor:pointer;font-weight:600}
.pagination{display:flex;gap:8px;justify-content:center;margin-top:48px}
.pagination .page-numbers{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);color:var(--ink);font-weight:600}
.pagination .current{background:var(--green-900);color:#fff;border-color:var(--green-900)}
.notfound{text-align:center;padding:100px 0}
.notfound .display{font-size:9rem;color:var(--green-600)}
.comment-list{list-style:none;padding:0}
.comment-body{background:var(--cream-2);border-radius:10px;padding:18px;margin-bottom:16px}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;border:1px solid var(--line);background:var(--cream-2);border-radius:8px;padding:12px 14px}
.comment-form .submit{border:0;background:var(--green-900);color:#fff;border-radius:999px;padding:12px 26px;cursor:pointer;font-weight:600}
.alignwide{max-width:none}
.wp-block-button__link{background:var(--green-900);border-radius:999px}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* =====================================================================
   v1.1 — Video hero, capability showcase, industries, integrations hub
   ===================================================================== */
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.section--soft{background:#f2f7ee}
.two-line .hl{display:block}
.scribble{white-space:nowrap;padding-bottom:.06em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath d='M3 13C38 6 79 4 118 7s62 6 79-1' fill='none' stroke='%23f8c22a' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 0 100%/100% .3em}

/* ---------- Video hero ---------- */
.vhero{position:relative;height:100svh;min-height:580px;display:flex;color:#fff;overflow:hidden;background:#0b2b15}
.vhero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vhero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,36,17,.9) 0%,rgba(8,36,17,.66) 36%,rgba(8,36,17,.18) 68%,rgba(8,36,17,.06)),linear-gradient(0deg,rgba(8,36,17,.88) 0%,rgba(8,36,17,0) 40%)}
.vhero__inner{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding-top:clamp(96px,11vh,130px);padding-bottom:clamp(32px,5vh,64px);width:100%}
.vhero__badge{display:inline-flex;align-items:center;gap:10px;padding:6px 16px 6px 6px;border-radius:999px;background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.2);font-size:.86rem;font-weight:500}
.vhero__badge-dot{width:26px;height:26px;border-radius:50%;background:var(--yellow);color:var(--ink);display:grid;place-items:center}
.vhero__badge-dot svg{width:14px;height:14px}
.vhero__title{color:#fff;font-size:clamp(2.4rem,4.6vw,4.1rem);line-height:1.07;max-width:700px;margin:22px 0 18px;letter-spacing:-.025em}
.vhero__lead{color:rgba(255,255,255,.86);max-width:520px;font-size:1.07rem;margin-bottom:30px}
.vhero__actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.vhero__watch{display:inline-flex;align-items:center;gap:12px;color:#fff;font-weight:600}
.vhero__watch:hover{color:var(--yellow)}
.vhero__watch-icon{width:48px;height:48px;border-radius:50%;border:2px solid rgba(255,255,255,.55);display:grid;place-items:center;transition:background .2s,color .2s,border-color .2s}
.vhero__watch-icon svg{width:16px;height:16px;margin-left:2px}
.vhero__watch:hover .vhero__watch-icon{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.vhero__stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:68px;border-top:1px solid rgba(255,255,255,.22);padding-top:26px}
.vhero__stat{padding:0 22px;border-left:1px solid rgba(255,255,255,.18)}
.vhero__stat:first-child{padding-left:0;border-left:0}
.vhero__stat b{display:block;font-size:clamp(1.7rem,2.6vw,2.4rem);font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1.1}
.vhero__stat span{display:block;font-size:.83rem;color:rgba(255,255,255,.76);margin-top:4px}
.vhero__pause{position:absolute;right:24px;bottom:30px;z-index:3;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;display:grid;place-items:center;cursor:pointer}
.vhero__pause svg{width:16px;height:16px}
.vhero__pause .i-play,.vhero.is-paused .vhero__pause .i-pause{display:none}
.vhero.is-paused .vhero__pause .i-play{display:block}

/* ---------- Capability showcase ---------- */
.showcase{max-width:1180px;margin:0 auto}
.sc-stage{position:relative;height:clamp(440px,42vw,560px);border-radius:12px;overflow:hidden;background:#0b2b15;box-shadow:0 34px 70px -24px rgba(13,65,29,.45)}
.sc-stage:fullscreen{border-radius:0;height:100vh}
.sc-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility 0s .8s}
.sc-slide.is-active{opacity:1;visibility:visible;transition:opacity .8s ease}
.sc-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 8s linear}
.sc-slide.is-active .sc-video{transform:scale(1)}
.sc-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,40,19,.92) 0%,rgba(9,40,19,.72) 34%,rgba(9,40,19,.22) 64%,rgba(9,40,19,0))}
.sc-content{position:absolute;left:clamp(24px,4vw,58px);top:50%;transform:translateY(-50%);max-width:570px;color:#fff;z-index:2}
.sc-content>*{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.sc-slide.is-active .sc-content>*{opacity:1;transform:none}
.sc-slide.is-active .sc-content>:nth-child(2){transition-delay:.08s}
.sc-slide.is-active .sc-content>:nth-child(3){transition-delay:.16s}
.sc-slide.is-active .sc-content>:nth-child(4){transition-delay:.24s}
.sc-icon{width:60px;height:60px;border-radius:10px;background:linear-gradient(135deg,var(--green-500),var(--green-800));display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),0 10px 24px rgba(0,0,0,.25);margin-bottom:24px;color:#fff}
.sc-icon svg{width:26px;height:26px}
.sc-title{color:#fff;font-size:clamp(1.8rem,3.2vw,2.75rem);margin-bottom:12px;letter-spacing:-.02em}
.sc-text{color:rgba(255,255,255,.88);font-size:1.03rem;max-width:520px;margin-bottom:28px}
.sc-foot{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.sc-stat{border-left:3px solid var(--yellow);padding-left:14px}
.sc-stat b{display:block;font-size:2rem;font-weight:800;line-height:1.1;color:#fff;letter-spacing:-.02em}
.sc-stat small{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:rgba(255,255,255,.8)}
.sc-btn{display:inline-flex;align-items:center;gap:8px;background:var(--yellow);color:var(--ink);font-weight:700;padding:13px 24px;border-radius:999px;transition:transform .2s,background .2s}
.sc-btn:hover{color:var(--ink);background:#fff;transform:translateY(-2px)}
.sc-btn svg{width:16px;height:16px}
.sc-full{position:absolute;right:20px;bottom:20px;z-index:3;width:48px;height:48px;border-radius:10px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;cursor:pointer}
.sc-full:hover{background:rgba(255,255,255,.25)}
.sc-full svg{width:20px;height:20px}
.sc-bar{display:flex;align-items:center;gap:10px;margin:28px auto 0;width:max-content;max-width:100%;background:#fff;border-radius:999px;padding:10px;box-shadow:0 16px 40px rgba(13,65,29,.12);border:1px solid var(--line)}
.sc-play{width:48px;height:48px;border-radius:50%;border:0;background:var(--cream-2);color:var(--ink);display:grid;place-items:center;cursor:pointer;flex:none}
.sc-play:hover{background:var(--green-100)}
.sc-play svg{width:18px;height:18px}
.sc-play .i-play,.showcase.is-paused .sc-play .i-pause{display:none}
.showcase.is-paused .sc-play .i-play{display:block}
.sc-sep{width:1px;height:28px;background:var(--line);flex:none}
.sc-pills{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth}
.sc-pills::-webkit-scrollbar{display:none}
.sc-pill{position:relative;display:flex;align-items:center;height:48px;min-width:48px;padding:0 14px;border-radius:999px;border:0;background:var(--cream-2);color:var(--ink);cursor:pointer;overflow:hidden;transition:background .3s,padding .4s;white-space:nowrap;flex:none}
.sc-pill svg{width:20px;height:20px;flex:none;position:relative;z-index:1}
.sc-pill__label{max-width:0;opacity:0;overflow:hidden;font-weight:600;font-size:.95rem;transition:max-width .5s ease,opacity .3s,margin .4s;position:relative;z-index:1}
.sc-pill:hover:not(.is-active){background:var(--green-100)}
.sc-pill.is-active{background:var(--green-900);color:#fff;padding:0 24px 0 18px}
.sc-pill.is-active svg{color:var(--yellow)}
.sc-pill.is-active .sc-pill__label{max-width:280px;opacity:1;margin-left:10px}
.sc-pill__progress{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--green-600);z-index:0;opacity:0}
.showcase:not(.is-paused) .sc-pill.is-active .sc-pill__progress{opacity:1;animation:scprog var(--sc-dur,7s) linear forwards}
@keyframes scprog{to{width:100%}}

/* ---------- Industries ---------- */
.imp-tabs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:48px}
.imp-tab{border:1px solid #dcdcd0;background:#fff;border-radius:999px;padding:11px 22px;font-weight:600;font-size:.9rem;cursor:pointer;color:var(--ink);transition:background .2s,color .2s,box-shadow .2s}
.imp-tab:hover{border-color:var(--green-600)}
.imp-tab.is-active{background:var(--green-900);color:#fff;border-color:var(--green-900);box-shadow:0 10px 22px rgba(13,65,29,.25)}
.imp-panel{display:none;grid-template-columns:1fr 1.08fr;gap:64px;align-items:center}
.imp-panel.is-active{display:grid;animation:fadeUp .5s ease}
.imp-client{display:inline-flex;align-items:center;gap:10px;font-size:.8rem;font-weight:700;color:var(--green-600);text-transform:uppercase;letter-spacing:.07em;margin-bottom:14px}
.imp-client span{width:32px;height:32px;border-radius:6px;background:#fff;border:1px solid var(--line);display:grid;place-items:center}
.imp-client svg{width:16px;height:16px}
.imp-copy h3{font-size:clamp(1.6rem,2.4vw,2.15rem);margin-bottom:24px;letter-spacing:-.015em}
.imp-block{display:flex;gap:14px;margin-bottom:20px}
.imp-block__icon{width:34px;height:34px;border-radius:8px;background:var(--green-100);color:var(--green-600);display:grid;place-items:center;flex:none}
.imp-block__icon--warn{background:#fdecd8;color:#c4621b}
.imp-block__icon svg{width:17px;height:17px}
.imp-block h4{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.imp-block p{margin:0;font-size:.96rem}
.imp-tags{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 28px}
.imp-tags span{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:#fff;border:1px solid var(--line);padding:6px 12px;border-radius:6px;color:var(--ink)}
.imp-media{position:relative;padding-right:30px}
.imp-video{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/3.1;background:#0b2b15;box-shadow:var(--shadow-lg)}
.imp-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.imp-video::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,40,19,.85),rgba(9,40,19,0) 55%);pointer-events:none}
.imp-play{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;border:0;background:rgba(255,255,255,.94);color:var(--green-900);display:grid;place-items:center;z-index:2;cursor:pointer;box-shadow:0 0 0 12px rgba(255,255,255,.18);transition:opacity .3s,transform .2s}
.imp-play:hover{transform:translate(-50%,-50%) scale(1.06)}
.imp-play svg{width:26px;height:26px}
.imp-play .i-pause,.imp-video.is-playing .imp-play .i-play{display:none}
.imp-video.is-playing .imp-play .i-pause{display:block}
.imp-video.is-playing .imp-play{opacity:0}
.imp-video.is-playing:hover .imp-play,.imp-play:focus-visible{opacity:1}
.imp-quote{position:absolute;left:26px;right:26px;bottom:24px;margin:0;color:#fff;font-weight:600;font-size:1.1rem;z-index:2;line-height:1.4}
.imp-quote cite{display:block;font-style:normal;font-weight:500;font-size:.8rem;color:rgba(255,255,255,.75);margin-top:6px}
.imp-chip{position:absolute;right:0;background:#fff;border-radius:10px;padding:12px 18px;box-shadow:var(--shadow-lg);z-index:3;min-width:140px}
.imp-chip b{display:block;font-size:1.5rem;color:var(--green-600);line-height:1.1;font-weight:800;letter-spacing:-.01em}
.imp-chip span{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.imp-chip--1{top:30px}.imp-chip--2{top:122px}

/* ---------- Integrations hub ---------- */
.ihub{position:relative;display:grid;grid-template-columns:1fr 240px 1fr;gap:64px;align-items:center}
.ihub__lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.ihub__lines path{fill:none;stroke:#b9d4b0;stroke-width:1.6;stroke-dasharray:4 6}
.ihub__lines circle{fill:var(--green-600)}
.ihub__lines circle.y{fill:var(--yellow-600)}
.ihub__col{display:flex;flex-direction:column;gap:22px;position:relative;z-index:1}
.ihub-card{background:#fff;border-radius:10px;padding:18px 20px;border:1px solid #e1e9da;box-shadow:0 10px 30px rgba(13,65,29,.07);transition:transform .25s,box-shadow .25s}
.ihub-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.ihub-card__head{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--ink);font-size:.95rem;margin-bottom:14px}
.ihub-card__head span{width:32px;height:32px;border-radius:6px;background:var(--green-50);color:var(--green-600);display:grid;place-items:center}
.ihub-card__head svg{width:16px;height:16px}
.ihub-card__logos{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}
.ihub-logo{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:.86rem;color:var(--c);letter-spacing:-.01em}
.ihub-logo i{font-style:normal;width:22px;height:22px;border-radius:6px;background:var(--c);color:#fff;display:grid;place-items:center;font-size:.7rem;font-weight:800}
.ihub__core{position:relative;width:220px;height:220px;margin:0 auto;display:grid;place-items:center;z-index:1}
.ihub__ring{position:absolute;inset:0;border-radius:50%;border:1.5px dashed rgba(40,142,69,.4);animation:spin 40s linear infinite}
.ihub__ring--2{inset:-28px;border-color:rgba(229,172,13,.5);animation-direction:reverse;animation-duration:60s}
.ihub__disc{position:relative;width:172px;height:172px;border-radius:50%;background:#fff;display:grid;place-content:center;text-align:center;box-shadow:0 0 0 12px rgba(40,142,69,.08),0 0 60px rgba(40,142,69,.3);animation:glow 3.6s ease-in-out infinite}
@keyframes glow{50%{box-shadow:0 0 0 20px rgba(40,142,69,.05),0 0 80px rgba(248,194,42,.45)}}
.ihub__disc svg{width:48px;height:48px;margin:0 auto 6px}
.ihub__disc b{color:var(--ink);font-size:1.05rem}
.ihub__disc small{color:var(--muted);font-size:.72rem}
.ihub-note{display:flex;align-items:flex-end;gap:10px;justify-content:center;margin:46px auto 0;max-width:680px}
.ihub-note__arrow{width:64px;height:40px;color:var(--green-600);flex:none;margin-bottom:8px}
.ihub-note p{font-family:var(--font-hand);font-size:1.32rem;color:var(--ink);line-height:1.35;margin:0}
.ihub-note a{color:var(--green-600);text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:4px}
.ihub-legal{text-align:center;font-size:.78rem;color:var(--muted);margin:18px 0 0}

/* Photos in cards */
.who-card__media img{transition:transform .6s ease}
.who-card:hover .who-card__media img{transform:scale(1.04)}

@media (max-width:1100px){
  .ihub{grid-template-columns:1fr 1fr;gap:22px}
  .ihub__core{grid-column:1/-1;grid-row:1;margin-bottom:50px}
  .ihub__lines{display:none}
}
@media (max-width:980px){
  .vhero{height:100svh;min-height:520px}
  .vhero__inner{padding-top:64px;padding-bottom:44px}
  .vhero__shade{background:linear-gradient(0deg,rgba(8,36,17,.92) 0%,rgba(8,36,17,.7) 55%,rgba(8,36,17,.45))}
  .vhero__stats{grid-template-columns:repeat(3,1fr);row-gap:22px;margin-top:48px}
  .imp-panel.is-active{grid-template-columns:1fr;gap:40px}
  .imp-media{padding-right:0}
  .imp-chip{right:14px}
}
@media (max-width:640px){
  .vhero__stats{grid-template-columns:1fr 1fr}
  .vhero__stat{padding:0 0 0 14px}
  .vhero__stat:nth-child(odd){padding-left:0;border-left:0}
  .vhero__stat:nth-child(4){padding-left:14px;border-left:1px solid rgba(255,255,255,.18)}
  .vhero__pause{bottom:auto;top:16px;right:16px}
  .sc-stage{height:580px;border-radius:10px}
  .sc-shade{background:linear-gradient(0deg,rgba(9,40,19,.95) 0%,rgba(9,40,19,.75) 50%,rgba(9,40,19,.15))}
  .sc-content{top:auto;bottom:26px;transform:none;right:22px;left:22px}
  .sc-icon{width:50px;height:50px;margin-bottom:16px}
  .sc-text{font-size:.95rem;margin-bottom:20px}
  .sc-full{top:16px;bottom:auto;right:16px;width:42px;height:42px}
  .sc-bar{width:100%;border-radius:10px}
  .sc-pill.is-active .sc-pill__label{max-width:200px}
  .imp-tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:6px;scrollbar-width:none}
  .imp-tab{flex:none}
  .imp-chip{position:static;display:inline-block;margin:14px 10px 0 0;min-width:0}
  .imp-quote{font-size:.98rem}
  .ihub{grid-template-columns:1fr}
  .ihub-note{flex-direction:column;align-items:center;text-align:center}
}
/* =====================================================================
   v2 — Operations site: header, coverage, solutions, TMS, route planning,
   fleet, people, footer
   ===================================================================== */
@keyframes spin{to{transform:rotate(360deg)}}
.btn--sm{padding:5px 5px 5px 20px;font-size:.9rem;gap:12px}
.btn--sm .btn__icon{width:30px;height:30px}
.btn--line{background:transparent;color:inherit;box-shadow:inset 0 0 0 2px currentColor;padding:12px 22px}
.btn--line:hover{background:rgba(255,255,255,.1);color:inherit;box-shadow:inset 0 0 0 2px currentColor}
.icon-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink);background:#fff;cursor:pointer}
.icon-btn svg{width:18px;height:18px}
.dot-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-hand);font-size:1.25rem;color:var(--green-600);margin-bottom:6px}
.dot-eyebrow::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 4px rgba(248,194,42,.25)}
.chev{list-style:none;padding:0;margin:0 0 28px}
.chev li{position:relative;padding-left:28px;margin-bottom:11px;color:var(--ink);font-size:.98rem}
.chev li::before{content:"»";position:absolute;left:4px;top:-2px;color:var(--green-600);font-weight:800;font-size:1.15rem}
.chev--lg li{font-size:1.05rem;margin-bottom:13px}
.ui{background:#fff;border-radius:10px;box-shadow:0 24px 60px rgba(13,65,29,.18);width:100%;overflow:hidden;font-size:.8rem;color:var(--ink);border:1px solid var(--line)}
.ui__bar{display:flex;align-items:center;gap:6px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--cream-2)}
.ui__bar i{width:9px;height:9px;border-radius:50%}
.ui__bar i:nth-child(1){background:#f2a29a}.ui__bar i:nth-child(2){background:#f5d27a}.ui__bar i:nth-child(3){background:#9fd59f}
.ui__bar b{margin-left:10px;font-weight:600;font-size:.76rem;color:var(--muted)}
.ui__body{padding:18px}
.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.7rem;font-weight:700;white-space:nowrap}
.pill--g{background:var(--green-100);color:var(--green-600)}
.pill--y{background:#fdf0c7;color:#8a6700}
.pill--b{background:#dde9fb;color:#2c62b8}
.g{color:var(--green-600)!important}

/* ---------- Header ---------- */
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);flex:none}
.brand:hover{color:var(--ink)}
.brand__mark{width:40px;height:40px;flex:none}
.brand__name{display:block;font-weight:800;font-size:1.45rem;letter-spacing:-.02em;line-height:1}
.brand__name b{color:var(--green-600)}
.brand__tag{display:block;font-size:.66rem;font-weight:500;color:var(--muted);letter-spacing:.02em;margin-top:4px}
.sh{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent;transition:box-shadow .3s,border-color .3s}
.sh.is-scrolled{box-shadow:0 8px 30px rgba(13,65,29,.08);border-bottom-color:var(--line)}
.sh__bar{display:flex;align-items:center;gap:28px;min-height:80px;transition:min-height .3s}
.sh.is-scrolled .sh__bar{min-height:68px}
.sh__nav{margin-left:auto}
.sh__nav>ul{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.sh__nav>ul>li{position:relative}
.sh__nav>ul>li>a{display:flex;align-items:center;gap:5px;padding:10px 14px;color:var(--ink);font-weight:500;font-size:.96rem;border-radius:999px}
.sh__nav>ul>li>a svg{width:14px;height:14px;transition:transform .2s}
.sh__nav>ul>li>a:hover,.sh__nav>ul>li.is-current>a{color:var(--green-600)}
.sh__nav>ul>li>a::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.sh__nav>ul>li:hover>a::after,.sh__nav>ul>li.is-current>a::after{transform:scaleX(1)}
.has-mega:hover>a svg,.has-mega:focus-within>a svg{transform:rotate(180deg)}
.mega{position:absolute;top:calc(100% + 12px);left:50%;width:660px;transform:translate(-50%,8px);background:#fff;border-radius:10px;box-shadow:0 30px 70px rgba(13,65,29,.18);border:1px solid var(--line);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility 0s .2s;overflow:hidden}
.mega::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.has-mega:hover .mega,.has-mega:focus-within .mega{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .2s,transform .2s}
.mega__grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:14px}
.mega__grid a{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:8px;color:var(--ink)}
.mega__grid a:hover{background:var(--green-50)}
.mega__grid b{display:block;font-size:.93rem;font-weight:700}
.mega__grid small{display:block;font-size:.78rem;color:var(--muted);margin-top:2px}
.mega__ic{width:38px;height:38px;border-radius:8px;background:var(--green-50);color:var(--green-600);display:grid;place-items:center;flex:none}
.mega__ic--y{background:#fdf3d0;color:#8a6700}
.mega__ic svg{width:19px;height:19px}
.mega__ic i{font-size:17px;line-height:1}
.mega__ic--y i{color:#8a6700}
.mega--narrow{width:400px}
.mega__grid--col1{grid-template-columns:1fr}
.mega__foot{display:flex;align-items:center;gap:8px;padding:14px 26px;background:var(--cream-2);border-top:1px solid var(--line);font-size:.84rem;color:var(--muted)}
.mega__foot svg{width:15px;height:15px;color:var(--green-600)}
.mega__foot a{margin-left:auto;font-weight:700;color:var(--green-600)}
.sh__cta{display:flex;align-items:center;gap:18px;padding-left:18px}
.sh__phone{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:700;font-size:.92rem;white-space:nowrap}
.sh__phone svg{width:17px;height:17px;color:var(--green-600)}
.sh__toggle{display:none;margin-left:auto}
.drawer__phone{display:flex;align-items:center;gap:8px;margin-top:18px;font-weight:700;color:var(--ink)}
.drawer__phone svg{width:16px;height:16px;color:var(--green-600)}
.drawer .brand__name{font-size:1.25rem}
.back-top{position:fixed;right:22px;bottom:22px;width:46px;height:46px;border-radius:50%;background:var(--yellow);color:var(--ink);border:0;display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(10px);transition:.3s;z-index:90}
.back-top.is-visible{opacity:1;visibility:visible;transform:none}
.back-top svg{width:16px;height:16px}

/* ---------- Coverage ---------- */
.cov{background:var(--cream);padding:80px 0 96px;position:relative}
.cov__grid{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:20px;align-items:stretch}
.cov__intro h2{font-size:clamp(1.6rem,2.4vw,2.05rem);margin-bottom:10px}
.cov__intro h2 .hl{color:var(--green-600)}
.cov__intro p{font-size:.94rem;margin:0}
.cov-card{background:#fff;border-radius:var(--radius);padding:24px 22px;border:1px solid #e4e2d6;transition:transform .25s,box-shadow .25s}
.cov-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.cov-card__ic{width:46px;height:46px;border-radius:50%;background:var(--yellow);color:var(--ink);display:grid;place-items:center;margin-bottom:16px}
.cov-card__ic svg{width:21px;height:21px}
.cov-card h3{font-size:1.06rem;margin-bottom:6px}
.cov-card p{font-size:.88rem;color:var(--muted);margin:0}
.cov-card--y{background:var(--green-900);border-color:var(--green-900)}
.cov-card--y h3{color:#fff}.cov-card--y p{color:#b9d1c0}

/* ---------- Solutions tabs (Infocomm-style) ---------- */
.sol-tabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:44px}
.sol-tab{display:inline-flex;align-items:center;gap:9px;border:0;border-radius:8px;padding:14px 22px;font-weight:700;font-size:.94rem;cursor:pointer;background:var(--green-900);color:#fff;transition:background .2s,transform .2s,box-shadow .2s}
.sol-tab svg{width:18px;height:18px;color:var(--yellow)}
.sol-tab:hover{background:var(--green-800);transform:translateY(-2px)}
.sol-tab.is-active{background:var(--yellow);color:var(--ink);box-shadow:0 12px 26px rgba(229,172,13,.35)}
.sol-tab.is-active svg{color:var(--green-900)}
.sol-panel{display:none;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.sol-panel.is-active{display:grid;animation:fadeUp .5s ease}
.sol-media{position:relative;margin:0;border-radius:12px;overflow:hidden;aspect-ratio:4/3.05;box-shadow:var(--shadow-lg)}
.sol-media img{width:100%;height:100%;object-fit:cover}
.sol-media figcaption{position:absolute;left:18px;bottom:18px;background:rgba(255,255,255,.95);padding:8px 16px;border-radius:999px;font-family:var(--font-hand);font-size:1.12rem;color:var(--ink);box-shadow:var(--shadow)}
.sol-copy h3{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:10px;letter-spacing:-.02em}
.sol-tag{font-size:1.08rem;color:var(--text);margin-bottom:26px}
.sol-btns{display:flex;align-items:center;gap:22px;flex-wrap:wrap}

/* ---------- Flow ---------- */
.flow{padding:30px 0 100px}
.flow__steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;position:relative}
.flow__steps::before{content:"";position:absolute;left:8%;right:8%;top:44px;border-top:2px dashed #cfdcc8;z-index:0}
.flow__steps li{position:relative;text-align:center;background:#fff;padding:0 10px;z-index:1}
.flow__n{position:absolute;top:-6px;left:calc(50% + 22px);width:24px;height:24px;border-radius:50%;background:var(--yellow);color:var(--ink);font-weight:800;font-size:.78rem;display:grid;place-items:center;z-index:2}
.flow__ic{width:88px;height:88px;border-radius:50%;background:var(--green-900);color:#fff;display:grid;place-items:center;margin:0 auto 16px;box-shadow:0 0 0 8px #fff,0 0 0 9px #e3eadc}
.flow__ic svg{width:34px;height:34px}
.flow__steps h3{font-size:1.08rem;margin-bottom:6px}
.flow__steps p{font-size:.88rem;color:var(--muted);margin:0}
.flow__note{display:flex;align-items:flex-end;justify-content:center;gap:10px;margin:36px 0 0;font-family:var(--font-hand);font-size:1.35rem;color:var(--ink)}
.flow__note svg{width:60px;height:38px;color:var(--green-600);transform:scaleY(-1) rotate(-8deg)}
.section--cream .flow__steps li,.svc .flow__steps li{background:transparent}
.svc .flow__ic{box-shadow:0 0 0 8px var(--white),0 0 0 9px #e3eadc}

/* ---------- TMS ---------- */
.tms{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.tms__ui{position:relative}
.tms__copy h3{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:10px;letter-spacing:-.02em}
.tms__sample{position:absolute;right:14px;bottom:-26px;font-family:var(--font-hand);font-size:1rem;color:var(--muted)}
.tms-head{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.tms-head div{background:var(--cream-2);border-radius:8px;padding:10px 12px}
.tms-head small{display:block;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}
.tms-head b{font-size:.92rem}
.tms-steps{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;counter-reset:s}
.tms-steps li{position:relative;text-align:center;font-size:.7rem;font-weight:600;color:var(--muted);padding-top:22px}
.tms-steps li::before{content:"";position:absolute;top:4px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:#e2e5dd;z-index:1}
.tms-steps li::after{content:"";position:absolute;top:10px;left:-50%;width:100%;height:3px;background:#e2e5dd}
.tms-steps li:first-child::after{display:none}
.tms-steps li.done,.tms-steps li.now{color:var(--ink)}
.tms-steps li.done::before,.tms-steps li.done::after,.tms-steps li.now::after{background:var(--green-600)}
.tms-steps li.now::before{background:var(--yellow);box-shadow:0 0 0 4px rgba(248,194,42,.3)}
.tms-items{width:100%;border-collapse:collapse;font-size:.78rem}
.tms-items th{text-align:left;font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;padding:8px 10px;border-bottom:1px solid var(--line)}
.tms-items td{padding:10px;border-bottom:1px dashed var(--line)}
.tms-items td:nth-child(2){font-weight:700}
.tms-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:14px;font-size:.74rem;color:var(--green-600);font-weight:600}
.tms-foot span{display:inline-flex;align-items:center;gap:6px}
.tms-foot svg{width:14px;height:14px}

/* ---------- Route planning ---------- */
.rp{position:relative;background:var(--green-900);color:#cfe2d4;padding:100px 0 110px;overflow:hidden}
.rp::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 400px at 85% 20%,rgba(40,142,69,.35),transparent 70%);pointer-events:none}
.rp__grid{position:relative;display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center}
.rp .eyebrow{color:var(--yellow)}
.rp h2{color:#fff;font-size:clamp(2rem,3.4vw,2.9rem);line-height:1.12;letter-spacing:-.02em;margin-bottom:16px}
.rp__copy>p{font-size:1.04rem;color:#cfe2d4;margin-bottom:26px}
.rp__list{list-style:none;margin:0 0 32px;padding:0}
.rp__list li{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px;font-size:.95rem}
.rp__list svg{width:20px;height:20px;color:var(--yellow);flex:none;margin-top:2px}
.rp__list b{color:#fff;margin-right:4px}
.rp-app{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 40px 80px -20px rgba(0,0,0,.5);color:var(--ink);font-size:.78rem}
.rp-app__top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line);color:var(--muted)}
.rp-app__top b{color:var(--ink)}
.rp-app__top em{font-style:normal;font-weight:700;color:var(--green-600);background:var(--green-50);padding:3px 8px;border-radius:6px}
.rp-app__chip{margin-left:auto;background:var(--cream-2);padding:3px 10px;border-radius:999px;font-weight:600;color:var(--ink)}
.rp-app__body{display:grid;grid-template-columns:220px 1fr}
.rp-app__runs{border-right:1px solid var(--line);padding:12px;display:flex;flex-direction:column;gap:8px;background:#fbfbf8}
.rp-run{border-radius:8px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-left:4px solid}
.rp-run b{display:block;font-size:.8rem}
.rp-run small{display:block;color:var(--muted);font-size:.7rem;margin:2px 0 4px}
.rp-run span{font-size:.7rem;color:var(--text)}
.rp-run--g{border-left-color:var(--green-600)}.rp-run--y{border-left-color:var(--yellow-600)}.rp-run--d{border-left-color:var(--green-900)}
.rp-app__sum{margin-top:auto;display:grid;grid-template-columns:1fr auto;gap:4px 8px;padding:10px 4px 2px;border-top:1px dashed var(--line);font-size:.74rem;color:var(--muted)}
.rp-app__sum b{color:var(--ink);text-align:right}
.rp-app__map{position:relative;min-height:330px}
.rp-app__map svg{position:absolute;inset:0;width:100%;height:100%}
.rp-app__legend{position:absolute;left:10px;bottom:10px;background:rgba(255,255,255,.94);border-radius:6px;padding:5px 10px;font-size:.68rem;display:flex;align-items:center;gap:6px;box-shadow:var(--shadow)}
.rp-app__legend i{display:inline-block;width:14px;height:3px;border-radius:2px}
.rp-app__legend i.g{background:var(--green-600)}.rp-app__legend i.y{background:var(--yellow-600)}.rp-app__legend i.d{background:var(--green-900)}
.rp-app__bar{display:flex;justify-content:space-between;gap:10px;padding:10px 16px;border-top:1px solid var(--line);background:var(--cream-2);font-weight:600;color:var(--green-600)}
.rp-app__bar span{display:inline-flex;align-items:center;gap:6px}
.rp-app__bar svg{width:14px;height:14px}
.rp-app__sample{font-family:var(--font-hand);font-weight:400;color:var(--muted);font-size:.95rem}

/* ---------- Fleet ---------- */
.fleet{position:relative;background:linear-gradient(180deg,#f3f8f0 0%,#f3f8f0 78%,#dfe8d8 78%,#dfe8d8 100%);border-radius:12px;padding:40px 30px 26px;overflow:hidden}
.fleet::after{content:"";position:absolute;left:0;right:0;bottom:calc(22% - 2px);border-top:3px dashed #fff;opacity:.9}
.fleet__road{position:relative;z-index:1;display:grid;grid-template-columns:.8fr 1fr 1.15fr;gap:26px;align-items:end}
.fleet__truck{margin:0;text-align:center}
.fleet__truck .truck{width:100%;height:auto;transition:transform .5s ease}
.fleet__truck:hover .truck{transform:translateX(-8px)}
.fleet__truck figcaption{margin-top:12px}
.fleet__truck b{display:block;color:var(--ink);font-size:1rem}
.fleet__truck span{font-size:.84rem;color:var(--muted)}
.fleet__photo{position:relative;margin-top:28px;border-radius:12px;overflow:hidden;aspect-ratio:21/8;box-shadow:var(--shadow-lg)}
.fleet__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.fleet__facts{position:absolute;left:20px;right:20px;bottom:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fleet__facts div{background:rgba(255,255,255,.95);border-radius:10px;padding:12px 16px;box-shadow:var(--shadow)}
.fleet__facts b{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:.95rem}
.fleet__facts b svg{width:17px;height:17px;color:var(--green-600)}
.fleet__facts span{font-size:.8rem;color:var(--muted)}

/* ---------- People ---------- */
.people{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center}
.people__points{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}
.people__points li{display:flex;gap:12px}
.people__points li>span{width:40px;height:40px;border-radius:8px;background:var(--green-50);color:var(--green-600);display:grid;place-items:center;flex:none}
.people__points svg{width:19px;height:19px}
.people__points b{color:var(--ink);font-size:.98rem}
.people__points p{font-size:.86rem;color:var(--muted);margin:2px 0 0}
.people__mosaic{display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:200px 150px 170px;gap:14px}
.pm{position:relative;margin:0;border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}
.pm img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.pm:hover img{transform:scale(1.05)}
.pm figcaption{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.95);padding:5px 12px;border-radius:999px;font-family:var(--font-hand);font-size:1.02rem;color:var(--ink);transform:rotate(-2deg)}
.pm--a{grid-row:1/3}
.pm--b{grid-row:1/2}
.pm--c{grid-row:2/4}
.pm--d{grid-row:3/4}
.pm--b img{object-position:60% 40%}

/* ---------- Big CTA trucks ---------- */
.bigcta__art-l,.bigcta__art-r{width:340px;opacity:1;bottom:20px}
.bigcta__art-l{left:-60px}.bigcta__art-r{right:-70px}
.bigcta__art-r .truck{transform:scaleX(-1)}

/* ---------- Footer ---------- */
.sf{position:relative;background:var(--green-900);color:#b9d1c0;font-size:.92rem;padding-top:14px}
.sf a{color:#d6e6da}
.sf a:hover{color:var(--yellow)}
.sf h4{color:#fff;font-size:1.15rem;margin-bottom:18px;letter-spacing:-.01em}
.sf h4 i{font-style:normal;color:var(--yellow)}
.sf__strip{border-bottom:1px solid rgba(255,255,255,.1)}
.sf__strip-in{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:34px;padding-bottom:30px}
.sf__strip-lead{font-family:var(--font-hand);font-size:1.4rem;color:var(--yellow)}
.sf__strip ul{list-style:none;margin:0;padding:0;display:flex;gap:10px;flex-wrap:wrap}
.sf__strip li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:#e3efe6;font-weight:600;font-size:.84rem}
.sf__strip li svg{width:15px;height:15px;color:var(--yellow)}
.sf__main{display:grid;grid-template-columns:1fr minmax(360px,440px)}
.sf__links{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:40px;padding:60px 40px 60px max(24px,calc((100vw - var(--wrap))/2 + 24px))}
.sf__brand .brand,.sf__brand .brand:hover{color:#fff}
.sf__brand .brand__tag{color:#9fbfa8}
.sf__brand p{margin:18px 0 0;max-width:260px;line-height:1.6}
.sf__col ul{list-style:none;margin:0;padding:0}
.sf__col li{margin-bottom:12px}
.sf__col a{transition:color .2s,padding .2s}
.sf__col a:hover{padding-left:4px}
.sf__panel{background:#0a3417;padding:60px max(24px,calc((100vw - var(--wrap))/2 + 24px)) 60px 40px;border-left:1px solid rgba(255,255,255,.06)}
.sf__btns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.sf__btns .btn--line{color:#fff}
.sf__contact{list-style:none;margin:0 0 30px;padding:0}
.sf__contact li{display:flex;align-items:center;gap:10px;margin-bottom:10px;color:#d6e6da}
.sf__contact svg{width:17px;height:17px;color:var(--yellow);flex:none}
.sf__contact a{font-weight:600}
.sf__news{padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}
.sf__news>label:first-child b{display:block;color:#fff;font-size:1.02rem;margin-bottom:12px}
.sf__news>label:first-child span{display:block;font-size:.82rem;margin-bottom:8px}
.sf__news-row{display:flex;gap:8px}
.sf__news-row input[type=email]{flex:1;min-width:0;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);border-radius:8px;padding:12px 14px;color:#fff}
.sf__news-row input::placeholder{color:#8fb09a}
.sf__news-row input:focus{outline:0;border-color:var(--yellow)}
.sf__news-row .btn--line{color:#fff;padding:10px 16px;border-radius:8px;gap:8px}
.sf__news-row .btn--line svg{width:16px;height:16px}
.sf__consent{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:.8rem}
.sf__consent input{width:17px;height:17px;accent-color:var(--yellow)}
.sf__consent a{text-decoration:underline}
.sf__follow{margin-top:30px}
.sf__social{display:flex;gap:10px}
.sf__social a{width:40px;height:40px;border-radius:8px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#fff;transition:background .2s,color .2s}
.sf__social a:hover{background:var(--yellow);color:var(--ink)}
.sf__social svg{width:17px;height:17px}
.sf__bottom{border-top:1px solid rgba(255,255,255,.1);font-size:.82rem}
.sf__bottom-in{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:20px;padding-bottom:22px}
.sf__bottom ul{list-style:none;margin:0;padding:0;display:flex;gap:6px}
.sf__bottom li+li::before{content:"|";margin-right:6px;color:rgba(255,255,255,.25)}

/* ---------- Solutions page ---------- */
.page-hero--photo{background-size:cover;background-position:center;color:#fff;padding:120px 0 120px}
.page-hero--photo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,36,17,.88),rgba(8,36,17,.55))}
.page-hero--photo .wrap{position:relative;z-index:1}
.page-hero--photo h1{color:#fff}
.page-hero--photo .eyebrow{color:var(--yellow)}
.page-hero--photo .breadcrumbs,.page-hero--photo .breadcrumbs a{color:#d6e6da}
.jump{position:sticky;top:68px;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.jump__in{display:flex;gap:6px;overflow-x:auto;padding-top:10px;padding-bottom:10px;scrollbar-width:none;justify-content:center}
.jump__in::-webkit-scrollbar{display:none}
.jump a{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:9px 16px;border-radius:999px;background:var(--cream-2);color:var(--ink);font-weight:600;font-size:.88rem}
.jump a:hover{background:var(--green-100)}
.jump a svg{width:16px;height:16px;color:var(--green-600)}
.svc{position:relative;padding:96px 0;scroll-margin-top:130px}
.svc__grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.svc--alt .svc__media{order:2}
.svc__media{position:relative;margin:0;border-radius:12px;overflow:hidden;aspect-ratio:4/3.2;box-shadow:var(--shadow-lg)}
.svc__media img{width:100%;height:100%;object-fit:cover}
.svc__badge{position:absolute;right:18px;top:18px;background:var(--yellow);color:var(--ink);border-radius:10px;padding:10px 16px;font-size:.78rem;font-weight:600;text-align:center;box-shadow:var(--shadow);line-height:1.2}
.svc__badge b{display:block;font-size:1.5rem;font-weight:800}
.svc__copy h2{font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.02em}
.svc__copy>p{font-size:1.02rem;margin-bottom:24px}
.svc__cols{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.svc__cols .chev li{font-size:.93rem}
.svc__fleet{display:flex;align-items:flex-end;gap:18px;margin:-6px 0 26px}
.svc__fleet .truck{height:86px;width:auto}

/* ---------- Responsive ---------- */
@media (max-width:1200px){
  .sh__phone span{display:none}
  .sh__nav>ul>li>a{padding:10px 10px}
  .cov__grid{grid-template-columns:repeat(4,1fr)}
  .cov__intro{grid-column:1/-1;max-width:640px}
  .sf__links{grid-template-columns:1fr 1fr;padding-right:30px}
}
@media (max-width:1060px){
  .sh__nav,.sh__cta{display:none}
  .sh__toggle{display:grid}
  .sh__bar{min-height:70px}
  .sol-panel.is-active,.tms,.rp__grid,.people,.svc__grid{grid-template-columns:1fr;gap:40px}
  .svc--alt .svc__media{order:0}
  .rp-app__body{grid-template-columns:1fr}
  .rp-app__runs{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}
  .rp-app__sum{grid-column:1/-1}
  .sf__main{grid-template-columns:1fr}
  .sf__links{padding:50px 24px}
  .sf__panel{padding:44px 24px;border-left:0;border-top:1px solid rgba(255,255,255,.06)}
  .flow__steps{grid-template-columns:repeat(3,1fr);row-gap:36px}
  .flow__steps::before{display:none}
  .features__grid,.posts{grid-template-columns:1fr 1fr}
  .faq-grid,.layout{grid-template-columns:1fr}
  .contact-card{position:static}
  .bigcta__art-l,.bigcta__art-r{width:220px;opacity:.35}
  .jump{top:70px}
}
@media (max-width:640px){
  .section{padding:72px 0}
  .wrap{padding:0 16px}
  .brand__tag{display:none}
  .cov{padding:60px 0 80px}
  .cov__grid{grid-template-columns:1fr 1fr;gap:12px}
  .cov-card{padding:18px 16px}
  .sol-tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:8px;margin-left:-16px;margin-right:-16px;padding-left:16px;scrollbar-width:none}
  .sol-tab{flex:none;padding:12px 16px;font-size:.88rem}
  .flow__steps{grid-template-columns:1fr 1fr}
  .flow__steps li:last-child{grid-column:1/-1}
  .tms-head{grid-template-columns:1fr 1fr}
  .tms-head div:last-child{grid-column:1/-1}
  .tms-items td:first-child{font-size:.74rem}
  .rp{padding:72px 0 90px}
  .rp-app__runs{grid-template-columns:1fr}
  .rp-app__map{min-height:260px}
  .fleet{padding:26px 16px 18px}
  .fleet__road{grid-template-columns:1fr;gap:28px}
  .fleet::after{display:none}
  .fleet__truck .truck{max-width:320px;margin:0 auto}
  .fleet__photo{aspect-ratio:4/3}
  .fleet__facts{position:static;grid-template-columns:1fr;padding:14px;background:var(--cream)}
  .fleet__facts div{box-shadow:none}
  .people__points{grid-template-columns:1fr}
  .people__mosaic{grid-template-rows:170px 120px 140px;gap:10px}
  .sf__links{grid-template-columns:1fr 1fr;gap:30px 20px}
  .sf__brand{grid-column:1/-1}
  .sf__news-row{flex-direction:column}
  .sf__bottom-in{flex-direction:column;align-items:flex-start}
  .posts,.features__grid,.post-list,.field-row,.svc__cols{grid-template-columns:1fr}
  .svc{padding:72px 0}
  .bigcta__art-l,.bigcta__art-r{display:none}
  .notfound .display{font-size:6rem}
}
.flow__steps--3{grid-template-columns:repeat(3,1fr);max-width:900px;margin:0 auto}
.flow__steps--3::before{left:16%;right:16%}
.people__points--4{grid-template-columns:repeat(4,1fr);margin:0}
@media (max-width:1060px){.people__points--4{grid-template-columns:1fr 1fr}.flow__steps--3{grid-template-columns:1fr}}
@media (max-width:640px){.people__points--4{grid-template-columns:1fr}}
/* fixes */
.sh__nav>ul>li>a{white-space:nowrap}
.bigcta__art-l,.bigcta__art-r{width:280px;bottom:26px}
.bigcta__art-l{left:24px}.bigcta__art-r{right:24px}
.bigcta__art-r .truck{transform:none}
@media (max-width:1300px){.bigcta__art-l,.bigcta__art-r{width:210px}.bigcta__art-l{left:-30px}.bigcta__art-r{right:-40px}}
.sf .btn--yellow,.sf .btn--yellow:hover{color:var(--ink)}
.sf__links{grid-template-columns:1.35fr 1fr 1.1fr .9fr;gap:36px}
.sf__brand .brand__tag{white-space:nowrap}
.sf__consent{align-items:flex-start;line-height:1.45}
.sf__consent input{flex:none;margin-top:1px}
.sf__news-row .btn--line{flex:none}
.sh__phone svg,.sf__contact svg,.drawer__phone svg{flex:none}
@media (max-width:1060px){.sf__main{grid-template-columns:minmax(0,1fr)}.sf__links>*{min-width:0}}
@media (max-width:640px){.sf__links{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sf__brand .brand__tag{white-space:normal}.sf__strip ul{gap:8px}}
@media (max-width:640px){.vhero__inner{padding-bottom:68px}}

/* =====================================================================
   v3 — header stability, softer buttons, Why grid, capability chips
   ===================================================================== */
/* Header: fixed height so the page never shifts while scrolling.
   No transform/will-change here: promoting a position:sticky element to its own
   compositor layer makes the browser settle its offset a frame behind the scroll,
   which reads as the bar trembling. Let it paint on the normal path. */
.sh{transition:box-shadow .25s ease,border-color .25s ease}
.sh__bar,.sh.is-scrolled .sh__bar{min-height:76px;transition:none}
@media (max-width:1060px){.sh__bar,.sh.is-scrolled .sh__bar{min-height:70px}}
html{overflow-anchor:none}

/* Softer corners on buttons and tabs */
.btn{border-radius:8px}
.btn__icon{border-radius:6px}
.btn--plain,.btn--line{border-radius:8px}
.sol-tab{border-radius:6px}
.imp-tab{border-radius:6px}
.sc-btn{border-radius:8px}
.sc-bar{border-radius:10px}
.sc-pill,.sc-play{border-radius:8px}
.sc-full{border-radius:8px}
.faq details{border-radius:8px}
.jump a{border-radius:6px}
.vhero__watch-icon{border-radius:8px}
.sf__social a{border-radius:6px}
.back-top{border-radius:8px}

/* Why industry leaders */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.why-card{background:#fff;border-radius:var(--radius);padding:24px;border:1px solid var(--line);display:flex;flex-direction:column;transition:box-shadow .25s,transform .25s}
.why-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.why-card__head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.why-card__icon{width:40px;height:40px;border-radius:8px;background:var(--green-50);color:var(--green-600);display:grid;place-items:center;flex:none}
.why-card__icon svg{width:19px;height:19px}
.why-card h3{font-size:1.02rem;margin:0}
.why-card>p{font-size:.88rem;color:var(--muted);margin-bottom:18px}
.why-card__viz{margin-top:auto;background:var(--cream-2);border-radius:8px;padding:16px;min-height:92px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;position:relative}
.wv-steps{display:flex;align-items:center;gap:6px;font-size:.74rem;font-weight:700}
.wv-steps span{padding:6px 10px;border-radius:6px;background:#fff;border:1px solid var(--line);color:var(--muted)}
.wv-steps span.on{background:var(--green-900);color:#fff;border-color:var(--green-900)}
.wv-steps i{width:14px;height:2px;background:#cfd6cc}
.wv-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.wv-chip{display:inline-flex;align-items:center;gap:5px;font-size:.74rem;font-weight:700;padding:6px 11px;border-radius:6px;background:#fff;border:1px solid var(--line);color:var(--ink)}
.wv-chip svg{width:13px;height:13px}
.wv-chip.on{background:var(--green-900);color:#fff;border-color:var(--green-900)}
.wv-chip.on svg{color:var(--yellow)}
.wv-sync{display:flex;align-items:center;gap:4px;font-size:.72rem;font-weight:800;color:var(--ink)}
.wv-sync span{padding:6px 9px;border-radius:6px;background:#fff;border:1px solid var(--line)}
.wv-sync span.hub{background:var(--yellow);border-color:var(--yellow);display:grid;place-items:center;padding:6px}
.wv-sync span.hub svg{width:15px;height:15px}
.wv-sync i{width:10px;height:2px;background:var(--green-600)}
.wv-live{position:absolute;right:10px;top:8px;display:inline-flex;align-items:center;gap:5px;font-size:.66rem;font-weight:700;color:var(--green-600)}
.wv-live b{width:7px;height:7px;border-radius:50%;background:var(--green-600);animation:pulse 1.4s infinite}
@keyframes pulse{50%{opacity:.3}}
.wv-flow{list-style:none;margin:0;padding:0;display:flex;gap:6px;font-size:.72rem;font-weight:700}
.wv-flow li{padding:6px 10px;border-radius:6px;background:#fff;border:1px solid var(--line);color:var(--muted)}
.wv-flow li.done{color:var(--green-600);border-color:#cfe5c8;background:var(--green-50)}
.wv-flow li.you{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.wv-bars{flex:1;display:flex;flex-direction:column;gap:6px}
.wv-bars small{display:flex;justify-content:space-between;font-size:.7rem;color:var(--muted)}
.ui-progress{height:8px;background:var(--line);border-radius:99px;overflow:hidden}
.ui-progress span{display:block;height:100%;background:var(--green-600);border-radius:99px}
.wv-badge{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 16px}
.wv-badge>svg{width:26px;height:26px;color:var(--green-600)}
.wv-badge b{display:block;font-size:.88rem;color:var(--ink)}
.wv-badge small{font-size:.72rem;color:var(--muted)}

/* Capability card: floating status chips */
.sc-chips{position:absolute;right:clamp(20px,4vw,48px);top:clamp(20px,4vw,44px);z-index:2;display:flex;flex-direction:column;gap:12px;align-items:flex-end}
.sc-chip{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;padding:10px 14px;box-shadow:0 14px 34px rgba(0,0,0,.22);min-width:210px;opacity:0;transform:translateY(-8px);transition:opacity .5s ease,transform .5s ease}
.sc-chip--2{margin-right:36px}
.sc-slide.is-active .sc-chip{opacity:1;transform:none;transition-delay:.35s}
.sc-slide.is-active .sc-chip--2{transition-delay:.6s}
.sc-chip small{display:block;font-size:.7rem;color:var(--muted);line-height:1.2}
.sc-chip b{display:block;font-size:.9rem;color:var(--ink);line-height:1.3}
.sc-chip__dot{width:10px;height:10px;border-radius:50%;flex:none}
.sc-chip__dot--g{background:var(--green-600);box-shadow:0 0 0 4px rgba(40,142,69,.18)}
.sc-chip__dot--y{background:var(--yellow-600);box-shadow:0 0 0 4px rgba(248,194,42,.25)}

/* Footer: wider intro */
.sf__brand--wide{grid-column:span 1}
.sf__brand p+p{margin-top:12px}
@media (min-width:1201px){.sf__links:has(.sf__brand--wide){grid-template-columns:1.7fr 1fr 1.1fr .9fr}}
.sf__brand--wide p{max-width:340px;font-size:.88rem}

@media (max-width:1060px){.why{grid-template-columns:1fr 1fr}.sc-chips{display:none}}
@media (max-width:640px){.why{grid-template-columns:1fr}.wv-flow{flex-wrap:wrap;justify-content:center}}
@media (max-width:640px){.wv-sync{flex-wrap:wrap;justify-content:center;row-gap:6px}.wv-sync i{width:6px}.wv-steps{flex-wrap:wrap;justify-content:center}}

/* =====================================================================
   v4 — real project screenshots (browser frames, phones)
   ===================================================================== */
.rw-browser{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 28px 60px -18px rgba(13,65,29,.35);border:1px solid var(--line)}
.rw-browser__bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--cream-2);border-bottom:1px solid var(--line)}
.rw-browser__bar i{width:9px;height:9px;border-radius:50%;background:#e0ddd2}
.rw-browser__bar i:nth-child(1){background:#f2a29a}.rw-browser__bar i:nth-child(2){background:#f5d27a}.rw-browser__bar i:nth-child(3){background:#9fd59f}
.rw-browser__bar span{margin-left:10px;font-size:.74rem;font-weight:600;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:6px;padding:3px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rw-browser>img{display:block;width:100%;height:auto}
.rw-browser--fill{position:absolute;inset:0;display:flex;flex-direction:column;border-radius:inherit;box-shadow:none;border:0}
.rw-scroll{flex:1;min-height:0;overflow:hidden}
.rw-scroll img{width:100%;height:100%;object-fit:cover;object-position:50% 0;transition:object-position 7s ease-in-out}
.rw-browser--fill:hover .rw-scroll img{object-position:50% 100%}
.rw-note{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-family:var(--font-hand);font-size:1.15rem;color:var(--green-600)}
.rw-note svg{width:16px;height:16px}
.rw-note--dark{color:var(--yellow)}
.sol-media--shot{background:var(--cream-2)}
.sol-media--shot figcaption{z-index:2}
.tms__ui{text-align:right}
.tms__ui .rw-browser{text-align:left}

/* Phones */
.rp__ui{text-align:center}
.rw-phones{position:relative;display:flex;justify-content:center;align-items:flex-end;gap:0;padding:10px 0}
.rw-phone{margin:0;width:31%;max-width:230px;border-radius:30px;padding:8px;background:#0b0b0b;box-shadow:0 30px 60px -16px rgba(0,0,0,.6),inset 0 0 0 2px #2a2a2a;position:relative}
.rw-phone::before{content:"";position:absolute;top:13px;left:50%;width:34%;height:14px;margin-left:-17%;border-radius:10px;background:#0b0b0b;z-index:2}
.rw-phone img{display:block;width:100%;border-radius:23px}
.rw-phone--1{transform:translateX(14%) rotate(-5deg) translateY(18px);z-index:1}
.rw-phone--2{z-index:3;width:34%;max-width:250px}
.rw-phone--3{transform:translateX(-14%) rotate(5deg) translateY(18px);z-index:2}
.rw-phones:hover .rw-phone--1{transform:translateX(4%) rotate(-3deg) translateY(10px)}
.rw-phones:hover .rw-phone--3{transform:translateX(-4%) rotate(3deg) translateY(10px)}
.rw-phone--1,.rw-phone--3{transition:transform .5s ease}

/* Industry case study screenshot */
.imp-video--shot{background:#fff}
.imp-video--shot::after{background:linear-gradient(0deg,rgba(9,40,19,.88),rgba(9,40,19,0) 42%)}
.imp-video--shot .rw-browser--fill{border-radius:12px}

@media (max-width:640px){
  .rw-phone{border-radius:22px;padding:5px}
  .rw-phone img{border-radius:18px}
  .rw-phone::before{top:9px;height:9px}
  .rw-browser__bar span{max-width:60%}
}
.imp-video--shot::after{background:linear-gradient(0deg,rgba(9,40,19,.96) 0%,rgba(9,40,19,.85) 22%,rgba(9,40,19,0) 52%)}

/* =====================================================================
   v5 — fleet strip: shared road line, aligned captions
   ===================================================================== */
.fleet{background:#f3f8f0;padding:36px 30px 30px}
.fleet::after{display:none}
.fleet__road{grid-template-rows:auto auto auto;column-gap:26px;row-gap:0;align-items:end}
.fleet__truck{display:contents}
.fleet__truck .truck{grid-row:1;align-self:end;position:relative;z-index:1;margin-bottom:-6px}
.fleet__truck figcaption{grid-row:3;align-self:start;margin-top:16px}
.fleet__road::before{content:"";grid-row:2;grid-column:1/-1;height:18px;margin:0 -30px;background:#dfe8d8;border-top:3px dashed #fff}
@media (max-width:640px){
  .fleet{padding:22px 16px 18px}
  .fleet__road{display:flex;flex-direction:column;gap:22px}
  .fleet__road::before{display:none}
  .fleet__truck{display:block;padding-bottom:14px;border-bottom:3px dashed #dfe8d8}
  .fleet__truck:last-child{border-bottom:0;padding-bottom:0}
  .fleet__truck .truck{margin:0 auto}
  .fleet__truck figcaption{margin-top:10px}
}

/* =====================================================================
   v6 — responsive hardening (320px → 2560px+)
   ===================================================================== */
/* Grid children may shrink below their content width */
.tms>*,.rp__grid>*,.sol-panel>*,.imp-panel>*,.faq-grid>*,.people>*,.svc__grid>*,.cov__grid>*,.why>*,.ihub>*,.ihub__col>*,.flow__steps>*,.posts>*,.layout>*,.fleet__road>*,.sf__links>*{min-width:0}
.entry-content,.faq__a,.sc-text,.why-card>p{overflow-wrap:break-word}
.entry-content a{overflow-wrap:anywhere}
.rw-note{display:flex;flex-wrap:wrap;justify-content:flex-end;text-align:right}
.rp__ui .rw-note{justify-content:center;text-align:center}
img,video,svg{max-width:100%}

/* Footer: centred two-zone layout; dark panel bleeds to the right edge */
.sf{overflow:hidden}
.sf__main{max-width:var(--wrap);margin:0 auto;padding:0 24px;grid-template-columns:minmax(0,1fr) minmax(320px,400px)}
.sf__links{padding:60px 48px 60px 0;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:32px}
.sf__panel{position:relative;padding:60px 0 60px 44px;border-left:0;background:transparent;z-index:0}
.sf__panel::before{content:"";position:absolute;top:0;bottom:0;left:0;width:100vw;background:#0a3417;z-index:-1}
.sf__brand--wide p{max-width:none}
@media (max-width:1200px){
  .sf__links{grid-template-columns:repeat(3,minmax(0,1fr));padding-right:32px}
  .sf__brand{grid-column:1/-1}
  .sf__brand--wide p{max-width:620px}
}
@media (max-width:1060px){
  .sf__main{grid-template-columns:minmax(0,1fr);padding:0}
  .sf__links{padding:48px 24px}
  .sf__panel{padding:44px 24px}
  .sf__panel::before{left:-100vw;width:300vw}
}
@media (max-width:640px){
  .sf__main{padding:0}
  .sf__links{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px;padding:40px 16px}
  .sf__panel{padding:36px 16px}
}
@media (max-width:380px){
  .sf__links{grid-template-columns:minmax(0,1fr)}
  .sf__btns .btn{flex:1;justify-content:center}
}

/* Smallest phones */
@media (max-width:380px){
  .wrap{padding:0 14px}
  .vhero__title{font-size:2.05rem}
  .section-title{font-size:1.65rem}
  .vhero__stats{grid-template-columns:1fr 1fr}
  .vhero__stat b{font-size:1.35rem}
  .cov__grid{grid-template-columns:1fr}
  .tms-head{grid-template-columns:1fr}
  .sol-copy h3,.tms__copy h3,.svc__copy h2{font-size:1.55rem}
  .btn{white-space:normal}
  .sc-stage{height:620px}
  .sc-title{font-size:1.5rem}
  .imp-quote{font-size:.9rem;left:16px;right:16px;bottom:16px}
  .rw-phone{border-radius:16px;padding:3px}
  .rw-phone img{border-radius:13px}
  .rw-phone::before{display:none}
}

/* Large and ultra-wide screens */
@media (min-width:1700px){
  :root{--wrap:1400px}
  .sc-stage{height:600px}
  .showcase{max-width:1320px}
}
@media (min-width:2200px){
  :root{--wrap:1560px}
  body{font-size:17px}
  .vhero{min-height:min(80vh,900px)}
}
@media (max-width:380px){.sol-tabs{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}}
.sf__brand .brand__tag{white-space:normal}.sf__brand .brand>span{min-width:0}
@media (max-width:640px){.vhero__inner{padding-bottom:84px}}

/* =====================================================================
   v7 — nav arrow, logo, hero stats, Australia map, solutions simplified,
   OrderPad spotlight, Acknowledgement of Country
   ===================================================================== */
/* Nav: visible dropdown arrow */
.sh__nav>ul>li>a svg.icon-chev-down{flex:none;width:16px;height:16px;stroke-width:2.4;opacity:.75;margin-left:1px}
.has-mega:hover>a svg.icon-chev-down,.has-mega:focus-within>a svg.icon-chev-down{opacity:1}

/* Logo mark */
.brand__mark{width:42px;height:42px;border-radius:8px;box-shadow:0 6px 14px rgba(13,65,29,.22)}
.sf .brand__mark{box-shadow:0 0 0 1px rgba(255,255,255,.18)}

/* Hero stats: values on one line */
.vhero__stats{grid-template-columns:repeat(4,auto);justify-content:space-between}
.vhero__stat{padding:0 clamp(14px,2vw,28px)}
.vhero__stat b{white-space:nowrap;font-size:clamp(1.5rem,2.3vw,2.3rem)}
@media (max-width:980px){.vhero__stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.vhero__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.vhero__stat b{font-size:clamp(1.15rem,5.4vw,1.5rem)}}

/* Coverage with Australia map */
.cov__split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:52px;align-items:center}
.cov__map{position:relative;text-align:center}
.ausmap{width:100%;height:auto;overflow:visible;filter:drop-shadow(0 18px 30px rgba(13,65,29,.12))}
.am-state{fill:#e3efdc;stroke:#fff;stroke-width:1.6;stroke-linejoin:round;transition:fill .3s}
.am-state:hover{fill:#cfe5c4}

.am-lbl{font:800 13px var(--font-body);fill:#9db79a;letter-spacing:.08em;pointer-events:none}
.am-route{fill:none;stroke:var(--green-600);stroke-width:1.8;stroke-dasharray:4 6;stroke-linecap:round;opacity:.75;animation:dash 2.2s linear infinite}
@keyframes dash{to{stroke-dashoffset:-20}}
.am-pin circle{fill:var(--green-900);stroke:#fff;stroke-width:2}
.am-pin--hub circle{fill:var(--yellow);stroke:var(--green-900);stroke-width:2.6}
.am-pin text{font:700 11.5px var(--font-body);fill:var(--ink);paint-order:stroke;stroke:#f1f0eb;stroke-width:3.5px;stroke-linejoin:round}
.cov__note{display:inline-block;margin-top:6px;font-family:var(--font-hand);font-size:1.2rem;color:var(--green-600);transform:rotate(-2deg)}
.cov__side{display:flex;flex-direction:column;gap:22px}
.cov__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cov__states{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-wrap:wrap;gap:6px}
.cov__states li{font-size:.72rem;font-weight:800;letter-spacing:.08em;padding:5px 10px;border-radius:6px;background:#fff;border:1px solid #e4e2d6;color:var(--green-900)}
@media (max-width:1060px){.cov__split{grid-template-columns:minmax(0,1fr);gap:28px}.cov__map{max-width:560px;margin:0 auto;width:100%}}
@media (max-width:480px){.cov__cards{grid-template-columns:minmax(0,1fr)}.am-pin text{font-size:13px}.am-lbl{font-size:15px}}

/* Solutions simplified */
.simp{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px;align-items:center;margin-top:64px}
.simp__art{position:relative;aspect-ratio:1/0.92}
.simp__grid{position:absolute;inset:0;background-image:linear-gradient(#e4e9df 1px,transparent 1px),linear-gradient(90deg,#e4e9df 1px,transparent 1px);background-size:20% 20%;border-radius:4px;-webkit-mask-image:radial-gradient(ellipse at center,#000 55%,transparent 82%);mask-image:radial-gradient(ellipse at center,#000 55%,transparent 82%)}
.simp__grid::after{content:"";position:absolute;right:0;top:0;width:20%;height:20%;background:#f2f7ee}
.simp__photo{position:absolute;left:14%;top:16%;width:66%;aspect-ratio:4/3;margin:0;border-radius:10px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(13,65,29,.35);border:6px solid #fff}
.simp__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.simp__card{position:absolute;background:#fff;border-radius:10px;box-shadow:0 18px 40px rgba(13,65,29,.16);border:1px solid #edf0ea;display:flex;align-items:center;gap:12px;padding:14px 18px;z-index:2}
.simp__card b{display:block;color:var(--ink);font-size:.98rem}
.simp__card small{display:block;color:var(--muted);font-size:.78rem;line-height:1.35}
.simp__ic{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;flex:none}
.simp__ic svg{width:20px;height:20px}
.simp__ic--g{background:var(--green-600);color:#fff}
.simp__ic--y{background:var(--yellow);color:var(--ink)}
.simp__ic--d{background:var(--green-900);color:var(--yellow)}
.simp__card--gps{left:2%;top:4%;padding-right:22px}
.simp__live{display:inline-flex;align-items:center;gap:5px;font-size:.7rem;font-weight:800;color:var(--green-600);background:var(--green-50);border-radius:6px;padding:4px 8px;margin-left:6px}
.simp__live i{width:7px;height:7px;border-radius:50%;background:var(--green-600);animation:pulse 1.4s infinite}
.simp__card--pod{right:0;top:44%;flex-direction:column;align-items:flex-start;gap:10px;min-width:210px}
.simp__pod-head{display:flex;align-items:center;gap:10px}
.simp__pod-rows{display:flex;flex-direction:column;gap:6px;width:100%}
.simp__pod-rows span{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;color:var(--ink);background:var(--cream-2);border-radius:6px;padding:6px 10px}
.simp__pod-rows svg{width:14px;height:14px;color:var(--green-600)}
.simp__card--cor{left:24%;bottom:0;max-width:330px}
.simp__avatar{position:absolute;width:76px;height:76px;border-radius:50%;overflow:hidden;border:4px solid #fff;box-shadow:0 12px 26px rgba(13,65,29,.25);z-index:3}
.simp__avatar img{width:100%;height:100%;object-fit:cover}
.simp__avatar--1{right:14%;top:6%;outline:3px solid var(--yellow);outline-offset:3px}
.simp__avatar--2{left:3%;top:46%;width:64px;height:64px}
.simp__go{position:absolute;left:6%;bottom:14%;width:56px;height:56px;border-radius:10px;background:var(--green-900);color:var(--yellow);display:grid;place-items:center;box-shadow:0 14px 28px rgba(13,65,29,.3);z-index:3}
.simp__go svg{width:24px;height:24px;transform:rotate(-45deg)}
.simp__eyebrow{display:flex;align-items:center;gap:14px;font-size:.84rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.simp__eyebrow::before{content:"";width:36px;height:2px;background:var(--green-600)}
.simp__copy h2{font-size:clamp(2rem,3.6vw,3.1rem);line-height:1.08;letter-spacing:-.025em;margin-bottom:18px}
.simp__copy h2 .hl{color:var(--green-600)}
.simp__copy>p{font-size:1.08rem;line-height:1.7;margin-bottom:26px}
.simp__copy h3{font-size:1.45rem;margin-bottom:16px}
.simp__checks{list-style:none;margin:0;padding:0}
.simp__checks li{display:flex;gap:12px;margin-bottom:14px;font-size:1rem}
.simp__checks svg{width:20px;height:20px;color:var(--green-600);flex:none;margin-top:3px;stroke-width:2.6}
.simp__checks b{color:var(--ink);margin-right:4px}
@media (max-width:1060px){.simp{grid-template-columns:minmax(0,1fr);gap:40px}.simp__art{max-width:620px;width:100%;margin:0 auto}}
@media (max-width:640px){
  .simp{margin-top:44px}
  .simp__art{aspect-ratio:auto;display:flex;flex-direction:column;gap:12px}
  .simp__grid,.simp__avatar,.simp__go{display:none}
  .simp__photo,.simp__card{position:static;width:auto;max-width:none}
  .simp__photo{border-width:4px}
  .simp__card--pod{min-width:0}
}

/* OrderPad spotlight */
.op{background:linear-gradient(180deg,#f2f7ee 0%,#f2f7ee 62%,#fff 62%)}
.op__stage{position:relative;max-width:1100px;margin:0 auto;padding:0 70px}
.op__panel{background:#fff;border-radius:12px;border:1px solid #e4e9df;box-shadow:0 30px 70px -26px rgba(13,65,29,.35);padding:26px 30px 30px}
.op__head{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.op__head>div:first-child b{display:block;font-size:1.6rem;color:var(--ink);letter-spacing:-.02em}
.op__head>div:first-child small{color:var(--muted);font-size:.88rem}
.op__tabs{display:flex;gap:4px;background:var(--cream-2);border-radius:8px;padding:4px;margin-left:auto}
.op__tabs span{font-size:.88rem;font-weight:600;padding:8px 14px;border-radius:6px;color:var(--text)}
.op__tabs span.on{background:#fff;color:var(--ink);box-shadow:0 2px 6px rgba(0,0,0,.08)}
.op__people{display:flex}
.op__av{width:38px;height:38px;border-radius:50%;overflow:hidden;border:3px solid #fff;margin-left:-10px;box-shadow:0 4px 10px rgba(0,0,0,.12)}
.op__av:first-child{margin-left:0}
.op__av img{width:100%;height:100%;object-fit:cover}
.op__screen{position:relative;aspect-ratio:16/8.6;border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.op__screen .rw-scroll img{object-position:50% 22%}
.op__screen:hover .rw-scroll img{object-position:50% 100%}
.op-card{position:absolute;background:#fff;border-radius:10px;padding:14px 18px;box-shadow:0 18px 40px rgba(13,65,29,.18);border:2px solid;z-index:2;min-width:190px}
.op-card small{display:block;font-size:.78rem;color:var(--muted)}
.op-card b{display:block;font-size:1.3rem;color:var(--ink);letter-spacing:-.01em;margin:2px 0 8px}
.op-pill{display:inline-block;font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:999px}
.op-pill--g{background:var(--green-100);color:var(--green-600)}
.op-pill--y{background:#fdf0c7;color:#8a6700}
.op-card--sync{left:0;top:24%;border-color:var(--green-600)}
.op-card--price{right:0;top:16%;border-color:var(--yellow)}
.op-card--runs{right:4%;bottom:-6%;border-color:var(--green-900)}
.op-runs{display:flex;gap:6px}
.op-runs i{width:40px;height:8px;border-radius:99px;background:var(--line)}
.op-runs i.on{background:var(--green-600)}
.op-card--reorder{left:3%;bottom:-4%;border-color:#b8d9ad;display:flex;flex-direction:column}
.op-card__av{position:absolute;top:-26px;right:-18px;width:56px;height:56px;border-radius:50%;overflow:hidden;border:4px solid #fff;box-shadow:0 8px 18px rgba(0,0,0,.15)}
.op-card__av img{width:100%;height:100%;object-fit:cover}
.op__visit{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);width:92px;height:92px;border-radius:50%;background:var(--yellow);color:var(--ink);display:grid;place-items:center;z-index:3;box-shadow:0 0 0 14px rgba(248,194,42,.25),0 20px 40px rgba(0,0,0,.25);transition:transform .25s}
.op__visit:hover{transform:translate(-50%,-50%) scale(1.07);color:var(--ink)}
.op__visit svg{width:32px;height:32px;transform:rotate(-45deg)}
.op__features{list-style:none;padding:0;margin:64px auto 0;max-width:1100px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.op__features li{display:flex;gap:12px;align-items:flex-start}
.op__features svg{width:22px;height:22px;color:var(--green-600);flex:none;margin-top:2px}
.op__features b{display:block;color:var(--ink);font-size:.98rem}
.op__features span{font-size:.86rem;color:var(--muted)}
@media (max-width:1060px){.op__stage{padding:0}.op-card{display:none}.op__features{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .op__panel{padding:16px}
  .op__head{gap:12px}.op__tabs{margin-left:0;width:100%;justify-content:space-between}.op__tabs span{padding:7px 10px;font-size:.8rem}
  .op__screen{aspect-ratio:4/5}
  .op__visit{width:64px;height:64px}.op__visit svg{width:24px;height:24px}
  .op__features{grid-template-columns:minmax(0,1fr);margin-top:40px}
}

/* Acknowledgement of Country */
.sf__ack{border-top:1px solid rgba(255,255,255,.1)}
.sf__ack-in{display:flex;align-items:center;gap:16px;padding-top:20px;padding-bottom:20px}
.sf__ack-flag{width:34px;height:auto;flex:none;border-radius:3px}
.sf__ack p{margin:0;font-size:.82rem;line-height:1.55;color:#a9c4b1;max-width:880px}
@media (max-width:380px){.vhero__stat b{font-size:clamp(1.02rem,5.2vw,1.2rem)}.vhero__stat{padding-left:10px}.vhero__stat:nth-child(odd){padding-left:0}}

/* =====================================================================
   v8 — full-width layout (5% side margins) + customer case studies
   ===================================================================== */
:root{--wrap:100%;--gutter:5vw}
.wrap{max-width:none;padding-left:var(--gutter);padding-right:var(--gutter)}
@media (min-width:1700px){:root{--wrap:100%}}
@media (min-width:2200px){:root{--wrap:100%}}
@media (max-width:640px){.wrap{padding-left:var(--gutter);padding-right:var(--gutter)}}
@media (max-width:380px){.wrap{padding-left:var(--gutter);padding-right:var(--gutter)}}
.sf__main{max-width:none;padding:0 0 0 var(--gutter)}
.sf__links{padding-left:0}
.sf__panel{padding-right:var(--gutter)}
@media (max-width:1060px){.sf__main{padding:0}.sf__links,.sf__panel{padding-left:var(--gutter);padding-right:var(--gutter)}}
.showcase,.op__stage,.op__features{max-width:none}
.section-sub{max-width:760px}
.sol-tabs{margin-left:calc(-1*var(--gutter));margin-right:calc(-1*var(--gutter));padding-left:var(--gutter);padding-right:var(--gutter)}
@media (min-width:641px){.sol-tabs{margin-left:0;margin-right:0;padding-left:0;padding-right:0}}
.sc-stage{height:clamp(440px,38vw,680px)}
.op__screen{aspect-ratio:16/7.6}

/* Case studies */
.cs{background:#fff}
.cs-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:36px}
.cs-tab{display:flex;align-items:center;gap:14px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;padding:16px 18px;cursor:pointer;color:var(--ink);transition:border-color .2s,box-shadow .2s,background .2s}
.cs-tab:hover{border-color:var(--green-600)}
.cs-tab b{display:block;font-size:1.02rem}
.cs-tab small{display:block;color:var(--muted);font-size:.82rem;margin-top:2px}
.cs-tab__ic{width:44px;height:44px;border-radius:8px;background:var(--green-50);color:var(--green-600);display:grid;place-items:center;flex:none}
.cs-tab__ic svg{width:21px;height:21px}
.cs-tab.is-active{background:var(--green-900);border-color:var(--green-900);box-shadow:0 14px 30px rgba(13,65,29,.25)}
.cs-tab.is-active b{color:#fff}.cs-tab.is-active small{color:#b9d1c0}
.cs-tab.is-active .cs-tab__ic{background:var(--yellow);color:var(--ink)}
.cs-panel{display:none;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,4vw,72px);align-items:center;background:var(--cream);border-radius:12px;padding:clamp(24px,3.4vw,52px)}
.cs-panel.is-active{display:grid;animation:fadeUp .5s ease}
.cs-visual{position:relative;min-width:0}
.cs-visual--phones{display:flex;justify-content:center;align-items:flex-end;padding:10px 0 4px}
.cs-phone{margin:0;width:22%;border-radius:22px;padding:5px;background:#0b0b0b;box-shadow:0 24px 50px -16px rgba(0,0,0,.5);position:relative;transition:transform .45s ease}
.cs-phone img{display:block;width:100%;border-radius:18px}
.cs-phone--1{transform:translateX(16%) rotate(-6deg) translateY(26px);z-index:1}
.cs-phone--2{transform:translateX(8%) rotate(-3deg) translateY(10px);z-index:2}
.cs-phone--3{z-index:5;width:25%}
.cs-phone--4{transform:translateX(-8%) rotate(3deg) translateY(10px);z-index:4}
.cs-phone--5{transform:translateX(-16%) rotate(6deg) translateY(26px);z-index:3}
.cs-visual--phones:hover .cs-phone--1{transform:translateX(4%) rotate(-4deg) translateY(18px)}
.cs-visual--phones:hover .cs-phone--5{transform:translateX(-4%) rotate(4deg) translateY(18px)}
.cs-browser{position:relative;aspect-ratio:16/11;border-radius:10px;overflow:hidden;box-shadow:0 28px 60px -20px rgba(13,65,29,.35);border:1px solid var(--line);background:#fff}
.cs-browser .rw-scroll img{object-position:50% 0}
.cs-browser:hover .rw-scroll img{object-position:50% 100%}
.cs-hint{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;font-family:var(--font-hand);font-size:1.1rem;color:var(--green-600)}
.cs-hint svg{width:14px;height:14px}
.cs-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.cs-meta span{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;color:var(--ink);background:#fff;border:1px solid #e4e2d6;border-radius:6px;padding:5px 10px}
.cs-meta svg{width:14px;height:14px;color:var(--green-600)}
.cs-live{color:var(--green-600)!important;background:var(--green-50)!important;border-color:#cfe5c8!important}
.cs-live i{width:7px;height:7px;border-radius:50%;background:var(--green-600);animation:pulse 1.4s infinite}
.cs-copy h3{font-size:clamp(1.5rem,2.3vw,2.1rem);letter-spacing:-.02em;margin-bottom:18px}
.cs-block{margin-bottom:16px}
.cs-block h4{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.cs-block p{margin:0}
.cs-block .chev{margin-bottom:0}
.cs-block .chev li{font-size:.95rem;margin-bottom:8px}
.cs-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.cs-tags span{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:#fff;border:1px solid var(--line);padding:6px 12px;border-radius:6px;color:var(--ink)}
@media (max-width:1060px){.cs-panel.is-active{grid-template-columns:minmax(0,1fr)}.cs-visual--phones{max-width:640px;margin:0 auto;width:100%}}
@media (max-width:760px){.cs-tabs{grid-template-columns:minmax(0,1fr)}.cs-tab{padding:12px 14px}}
@media (max-width:640px){
  .cs-panel{border-radius:10px}
  .cs-phone{border-radius:12px;padding:2px}.cs-phone img{border-radius:10px}
  .cs-phone--1,.cs-phone--5{display:none}
  .cs-phone--2,.cs-phone--4{width:30%}.cs-phone--3{width:34%}
}
.cs-visual--phones{padding:10px 0 24px}
.cs-phone{width:27%;margin:0 -3.2%}
.cs-phone--3{width:31%}
@media (max-width:640px){.cs-phone{margin:0 -2%}.cs-phone--2,.cs-phone--4{width:34%}.cs-phone--3{width:38%}}
@media (max-width:1400px){.sh__phone span{display:none}.sh__bar{gap:20px}.sh__nav>ul>li>a{padding:10px 10px}.sh__cta{padding-left:14px;gap:12px}}
@media (max-width:1180px){.brand__tag{display:none}.sh__nav>ul>li>a{padding:10px 8px;font-size:.92rem}}

/* ===================== v9 ===================== */
/* --- subtle paper grain (dark specks on light sections, light specks on green) --- */
:root{
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .05 0 0 0 0 .2 0 0 0 0 .1 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --grain-l:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --fibres:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' fill='none' stroke='%230d411d' stroke-opacity='.035' stroke-width='1.2' stroke-linecap='round'%3E%3Cpath d='M30 60c40-8 70 6 110-2M260 40c30 10 60 4 90 12M90 200c30-12 64-6 96 4M300 230c22 8 50 2 80 10M20 340c50-6 80 8 120 0M230 360c40-10 70 2 110-4M160 120c14 10 30 12 46 8M360 140c-10 16-6 30 6 44M60 270c10-14 26-18 40-16'/%3E%3C/svg%3E");
}
body,.section,.cov,.wf,.bigcta,.page-hero:not(.page-hero--photo){background-image:var(--grain),var(--fibres)}
.section--green,.rp,.sf{background-image:var(--grain-l)}
.op{background-image:var(--grain),var(--fibres),linear-gradient(180deg,#f2f7ee 0%,#f2f7ee 62%,#fff 62%)}

/* --- Kodiak ERP module chips --- */
.cs-mods{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.cs-mods li{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:6px;background:var(--green-50);border:1px solid #d6e7d0;color:var(--green-900);font-size:.86rem;font-weight:600;line-height:1.3}
.cs-mods li::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--green-600);flex:none}
.cs-mods .cs-mods__more{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.cs-mods .cs-mods__more::before{background:var(--ink)}

/* --- One connected workflow --- */
.wf{padding:40px 0 110px;position:relative}
.wf__grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.5fr);gap:clamp(28px,4vw,70px);align-items:center}
.wf__copy .section-sub{font-family:var(--font-hand);font-size:1.25rem;color:var(--green-600);margin-top:-4px}
.wf__steps{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:10px;counter-reset:none}
.wf__steps li{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:14px;padding:14px 16px;border-radius:8px;border:1px solid #e3e9df;background:rgba(255,255,255,.75);transition:border-color .35s,background .35s,transform .35s,box-shadow .35s}
.wf__steps li b{display:block;color:var(--ink);font-size:1.02rem}
.wf__steps li span span{display:block;font-size:.93rem;line-height:1.45;color:var(--text)}
.wf__n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--green-100);color:var(--green-900);font-weight:800;font-size:.85rem;transition:background .35s,color .35s}
.wf__ic{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;background:var(--green-50);color:var(--green-600);transition:background .35s,color .35s}
.wf__ic .icon{width:22px;height:22px}
.wf__steps li.is-on{border-color:var(--green-600);background:#fff;box-shadow:0 10px 26px -14px rgba(13,65,29,.45);transform:translateX(6px)}
.wf__steps li.is-on .wf__n{background:var(--yellow);color:var(--ink)}
.wf__steps li.is-on .wf__ic{background:var(--green-900);color:#fff}
.wf__steps li.is-done .wf__n{background:var(--green-600);color:#fff}
.wf__note{display:flex;gap:10px;align-items:flex-start;margin:20px 0 0;font-size:.84rem;line-height:1.5;color:var(--muted);max-width:560px}
.wf__note .icon{width:18px;height:18px;flex:none;margin-top:1px;color:var(--green-600)}
.wf__card{position:relative;border-radius:10px;background:#fff;border:1px solid #e3e9df;box-shadow:0 30px 60px -38px rgba(13,65,29,.4);padding:clamp(10px,2vw,26px);overflow:hidden}
.wf__card::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 60% at 50% 55%,#f2f7ee,rgba(255,255,255,0) 70%);pointer-events:none}
.isoflow{position:relative;display:block;width:100%;height:auto;overflow:visible}
.wf__toggle{position:absolute;right:14px;top:14px;width:38px;height:38px;border-radius:8px;border:1px solid #d6e2d0;background:#fff;color:var(--green-900);display:grid;place-items:center;cursor:pointer;transition:background .2s}
.wf__toggle:hover{background:var(--green-50)}
.wf__toggle .icon{width:18px;height:18px}
.wf__toggle .wf__i-play,.wf__toggle[aria-pressed=true] .wf__i-pause{display:none}
.wf__toggle[aria-pressed=true] .wf__i-play{display:block}
/* scene states */
.if-tag rect,.if-tag path{fill:#5f6f66;transition:fill .35s}
.if-tag text{fill:#fff;font:700 13px var(--font-body);letter-spacing:.01em}
.if-tag.is-on rect,.if-tag.is-on path{fill:var(--green-600)}
.if-tag.is-done rect,.if-tag.is-done path{fill:var(--green-900)}
.if-bubble{opacity:0;transition:opacity .3s}
.if-bubble__in{transform:scale(.6) translateY(14px);transform-box:fill-box;transform-origin:50% 100%;transition:transform .45s cubic-bezier(.3,1.6,.5,1)}
.if-bubble.is-on{opacity:1}
.if-bubble.is-on .if-bubble__in{transform:none}
.if-bubble rect,.if-bubble__in>path{fill:#fff;stroke:var(--green-900);stroke-width:1.5}
.if-bubble__ok{fill:var(--green-600)}
.if-bubble .t1{font:700 13px var(--font-body);fill:var(--green-900)}
.if-bubble .t2{font:500 12px var(--font-body);fill:#5b6a61}
.if-bld{transition:filter .4s}
.if-bld.is-on{filter:drop-shadow(0 0 10px rgba(248,194,42,.85))}
.if-route{stroke-dasharray:var(--len,2000);stroke-dashoffset:var(--off,2000)}
.if-truck__y{display:none}
.if-truck.is-y .if-truck__x{display:none}
.if-truck.is-y .if-truck__y{display:inline}
.if-truck__body{animation:ifBob .5s ease-in-out infinite alternate}
.wf.is-paused .if-truck__body,.wf.is-static .if-truck__body{animation:none}
@keyframes ifBob{to{transform:translateY(-1px)}}
@media (max-width:1100px){
  .wf__grid{grid-template-columns:minmax(0,1fr)}
  .wf__stage{order:-1}
  .wf__copy{max-width:760px}
  .wf__steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .wf{padding:20px 0 80px}
  .wf__steps{grid-template-columns:minmax(0,1fr)}
  .wf__steps li{padding:12px;gap:10px}
  .wf__steps li.is-on{transform:none}
  .wf__card{border-radius:10px;margin:0 calc(var(--gutter) * -.5)}
}
@media (prefers-reduced-motion:reduce){.if-truck__body{animation:none}.if-bubble__in{transition:none}}

/* ===================== v10 footer ===================== */
.sf__main{position:relative;grid-template-columns:minmax(0,1fr) minmax(460px,30%)}
.sf__links{position:relative;z-index:1;padding-bottom:230px}
.sf__panel{z-index:1}
.sf__news>label:first-child b{white-space:nowrap}
/* line-art logistics scene along the bottom of the footer */
.sf__art{position:absolute;left:0;right:0;bottom:0;height:210px;color:rgba(255,255,255,.13);pointer-events:none;z-index:0}
.sf__art-svg{display:block;width:100%;height:100%}
.sf__art .fa-fill{fill:rgba(255,255,255,.035)}
.sf__art .fa-thin{stroke-width:1.2;opacity:.7}
.sf__art .fa-win{fill:rgba(255,255,255,.08)}
.sf__art .fa-wheel{fill:#0d411d}
.sf__art .fa-acc{stroke:rgba(248,194,42,.4)}
.sf__art .fa-route{stroke:rgba(248,194,42,.32);stroke-dasharray:3 9;stroke-width:2.4}
.sf__art .fa-dot{fill:rgba(248,194,42,.45);stroke:none}
/* Follow us — moved to the left side, above the link columns */
.sf__followbox{display:flex;align-items:center;gap:18px;padding:12px 14px 12px 20px;border-radius:8px;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.07)}
.sf__followbox h4{margin:0;white-space:nowrap}
@media (min-width:1201px){
  .sf__links:has(.sf__followbox){grid-template-rows:auto 1fr;row-gap:34px}
  .sf__links .sf__brand--wide{grid-row:1 / span 2}
  .sf__followbox{grid-column:2 / -1;grid-row:1;justify-self:end}
  .sf__links .sf__col{grid-row:2}
}
@media (max-width:1200px){.sf__followbox{grid-column:1 / -1;justify-self:start}}
@media (max-width:1300px){.sf__main{grid-template-columns:minmax(0,1fr) minmax(420px,34%)}.sf__news>label:first-child b{white-space:normal}}
@media (max-width:1060px){.sf__art{z-index:3}.sf__main{grid-template-columns:minmax(0,1fr)}.sf__links{padding-bottom:60px}.sf__panel{padding-bottom:190px}.sf__news>label:first-child b{white-space:nowrap}}
@media (max-width:640px){.sf__art{height:210px}.sf__panel{padding-bottom:140px}.sf__news>label:first-child b{white-space:normal}}
/* v10c — illustration runs under the right panel too */
.sf__main{isolation:isolate}
.sf__art{z-index:1}
.sf__panel{z-index:auto;padding-bottom:230px}
.sf__links{z-index:2}
.sf__panel>*{position:relative;z-index:2}
@media (max-width:1060px){.sf__panel{padding-bottom:190px}}
@media (max-width:640px){.sf__panel{padding-bottom:140px}}

/* ===================== v11 ===================== */
.wf__steps{gap:8px;margin-top:22px}
.wf__steps li{padding:11px 14px}
.wf__int{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:2px 8px 2px 6px;border-radius:6px;background:#fff6d6;border:1px solid #f1d98a;color:#6b5205;font-style:normal;font-size:.74rem;font-weight:700;letter-spacing:.01em;line-height:1.5}
.wf__int .icon{width:13px;height:13px}
.wf__legend{margin:14px 0 0;font-size:.84rem;color:var(--muted);line-height:1.5}
.wf__legend .wf__int{margin:0 4px 0 0}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* --- How we work (section 8) --- */
.simp__steps{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:12px;counter-reset:none}
.simp__steps li{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:14px;align-items:start;padding:14px 16px;border-radius:8px;background:#fff;border:1px solid #e3e9df}
.simp__steps b{display:block;color:var(--ink);font-size:1.02rem;margin-bottom:2px}
.simp__steps li>span:last-child{font-size:.95rem;line-height:1.55}
.simp__step-n{width:26px;height:26px;border-radius:50%;background:var(--yellow);color:var(--ink);font-weight:800;font-size:.8rem;display:grid;place-items:center;margin-top:8px}
.simp__step-ic{width:42px;height:42px;border-radius:8px;background:var(--green-50);color:var(--green-600);display:grid;place-items:center}
.simp__step-ic .icon{width:21px;height:21px}
.simp__mission{margin:0;padding:14px 0 0 16px;border-left:3px solid var(--yellow);font-size:.95rem;line-height:1.6;color:var(--text)}
.simp__mission b{color:var(--ink)}

/* --- Manage / Connect / Automate (section 9) --- */
.sc-points{list-style:none;margin:-12px 0 26px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.sc-points li{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:.86rem;font-weight:600}
.sc-points .icon{width:15px;height:15px;color:var(--yellow);stroke-width:2.4}
.showcase--3 .sc-pill .sc-pill__label{max-width:none;opacity:1;margin-left:8px}
.showcase--3 .sc-pill{padding:0 20px}
@media (max-width:640px){.sc-points{display:none}}

/* --- OrderPad journey (section 10) --- */
.op-j{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(24px,3.5vw,56px);align-items:center}
.op-j__screen{position:relative;background:#fff;border-radius:10px;border:1px solid #e4e9df;box-shadow:0 30px 70px -30px rgba(13,65,29,.35);padding:18px}
.op-j__tabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.op-j__tabs button{border:1px solid #dfe6db;background:#f6f8f3;color:var(--ink);font:600 .86rem var(--font-body);padding:8px 14px;border-radius:6px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.op-j__tabs button.on{background:var(--green-900);border-color:var(--green-900);color:#fff}
.op-j__shots{position:relative;aspect-ratio:16/10;border-radius:8px;overflow:hidden;border:1px solid var(--line)}
.op__shot{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .45s}
.op__shot.is-on{opacity:1;visibility:visible}
.op__shot .rw-scroll img{object-position:50% 0}
.op__shot:hover .rw-scroll img{object-position:50% 100%}
.op__shot .rw-scroll--fit img{object-fit:cover;object-position:100% 0}
.op__shot:hover .rw-scroll--fit img{object-position:100% 0}
.op-j__erp{position:absolute;right:-18px;bottom:28px;display:flex;align-items:center;gap:12px;background:#fff;border-radius:10px;padding:12px 16px;border:2px solid var(--green-600);box-shadow:0 18px 40px rgba(13,65,29,.2);z-index:3}
.op-j__erp small{display:block;font-size:.74rem;color:var(--muted);font-weight:600}
.op-j__erp b{display:block;color:var(--ink);font-size:.95rem;line-height:1.2}
.op-j__erp-ic{width:38px;height:38px;border-radius:8px;background:var(--green-900);color:#fff;display:grid;place-items:center}
.op-j__erp-ic .icon{width:20px;height:20px}
.op-j__erp.is-pulse{animation:opPulse 1s ease}
@keyframes opPulse{40%{transform:scale(1.06);box-shadow:0 0 0 10px rgba(40,142,69,.18),0 18px 40px rgba(13,65,29,.2)}}
.op-j__screen .op__visit{left:auto;right:26px;top:26px;transform:none;width:44px;height:44px;box-shadow:0 0 0 6px rgba(248,194,42,.25)}
.op-j__screen .op__visit:hover{transform:scale(1.07)}
.op-j__screen .op__visit svg{width:20px;height:20px;transform:none}
.op-j__eyebrow{display:block;font-family:var(--font-hand);font-size:1.25rem;color:var(--green-600);margin-bottom:10px}
.op-j__steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.op-j__steps li{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:12px;align-items:start;padding:13px 14px;border-radius:8px;border:1px solid #e3e9df;background:rgba(255,255,255,.8);transition:border-color .3s,box-shadow .3s,background .3s}
.op-j__steps li.is-on{border-color:var(--green-600);background:#fff;box-shadow:0 10px 26px -16px rgba(13,65,29,.5)}
.op-j__steps b{display:block;color:var(--ink);font-size:1rem}
.op-j__steps li>span:last-child{font-size:.92rem;line-height:1.5}
.op-j__n{width:24px;height:24px;border-radius:50%;background:var(--green-100);color:var(--green-900);font-weight:800;font-size:.78rem;display:grid;place-items:center;margin-top:8px}
.op-j__steps li.is-on .op-j__n{background:var(--yellow);color:var(--ink)}
.op-j__ic{width:40px;height:40px;border-radius:8px;background:var(--green-50);color:var(--green-600);display:grid;place-items:center}
.op-j__ic .icon{width:20px;height:20px}
.op-j__story{display:flex;gap:12px;align-items:flex-start;margin-top:16px;padding:14px 16px;border-radius:8px;background:var(--green-900);color:#cfe2d4;font-size:.9rem;line-height:1.55}
.op-j__story p{margin:0}
.op-j__story b{color:#fff}
.op-j__story a{color:var(--yellow);text-decoration:underline}
.op-j__story-ic{flex:none;width:34px;height:34px;border-radius:6px;background:rgba(255,255,255,.1);display:grid;place-items:center;color:var(--yellow)}
.op-j__story-ic .icon{width:18px;height:18px}
.op-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:56px}
.op-split__col{background:#fff;border:1px solid #e3e9df;border-radius:10px;padding:26px 28px}
.op-split__col--impl{background:#fffcf1;border-color:#f1e3b1}
.op-split__col h3{font-size:1.25rem;margin:12px 0 14px}
.op-split__col ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.op-split__col li{display:flex;gap:10px;font-size:.95rem;line-height:1.5}
.op-split__col li .icon{width:18px;height:18px;flex:none;margin-top:3px;color:var(--green-600);stroke-width:2.4}
.op-split__badge{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:6px;background:var(--green-100);color:var(--green-900);font-size:.8rem;font-weight:700;letter-spacing:.02em}
.op-split__badge .icon{width:15px;height:15px}
.op-split__badge--y{background:#fdf0c7;color:#6b5205}
.op-split__cta{text-align:center;margin:34px 0 0}
@media (max-width:1060px){.op-j{grid-template-columns:minmax(0,1fr)}.op-j__erp{right:12px;bottom:12px}}
@media (max-width:760px){.op-split{grid-template-columns:minmax(0,1fr)}.op-j__screen{padding:12px}.op-j__shots{aspect-ratio:4/3.4}.op-j__erp{padding:8px 12px;gap:8px}.op-j__erp .op-pill{display:none}.op-split__col{padding:22px 20px}}

/* --- Why (4 cards) --- */
.why--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.why--4 .wv-steps{flex-wrap:wrap;row-gap:6px}
@media (max-width:1200px){.why--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.why--4{grid-template-columns:minmax(0,1fr)}}
.why--5{grid-template-columns:repeat(5,minmax(0,1fr))}
.why--5 .wv-steps{flex-wrap:wrap;row-gap:6px}
@media (max-width:1400px){.why--5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.why--5{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.why--5{grid-template-columns:minmax(0,1fr)}}

/* --- Integrations: data flow, directory, ask --- */
.iflow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr) minmax(40px,.4fr) minmax(0,1fr);align-items:center;gap:10px;max-width:1200px;margin:0 auto}
.iflow__node{background:#fff;border:1px solid #e3e9df;border-radius:10px;padding:18px;text-align:center;box-shadow:0 14px 30px -24px rgba(13,65,29,.4)}
.iflow__node>span{width:44px;height:44px;margin:0 auto 10px;border-radius:8px;background:var(--green-50);color:var(--green-600);display:grid;place-items:center}
.iflow__node .icon{width:22px;height:22px}
.iflow__node b{display:block;color:var(--ink);font-size:1rem}
.iflow__node small{display:block;color:var(--muted);font-size:.84rem;margin-top:2px}
.iflow__node--hub{background:var(--green-900);border-color:var(--green-900)}
.iflow__node--hub>span{background:var(--yellow);color:var(--ink)}
.iflow__node--hub b{color:#fff}.iflow__node--hub small{color:#a9c4b1}
.iflow__pipe{position:relative;display:flex;flex-direction:column;gap:8px;align-items:stretch;justify-content:center;min-height:40px}
.iflow__pipe i{display:block;height:2px;background:repeating-linear-gradient(90deg,var(--green-600) 0 8px,transparent 8px 14px);background-size:28px 2px;animation:iflow 1.2s linear infinite}
@keyframes iflow{to{background-position:28px 0}}
.iflow__lbl{display:flex;align-items:center;gap:6px;justify-content:center;font-size:.8rem;font-weight:600;color:var(--green-900);text-align:center;line-height:1.3}
.iflow__lbl .icon{width:14px;height:14px;flex:none;color:var(--green-600)}
.iflow__lbl--out{color:#6b5205}.iflow__lbl--out .icon{transform:rotate(180deg);color:#c99a0b}
.iflow__note{max-width:760px;margin:18px auto 0;text-align:center;font-size:.92rem;color:var(--text)}
.idir{margin-top:46px;background:#fff;border:1px solid #e3e9df;border-radius:10px;padding:24px;box-shadow:0 24px 50px -38px rgba(13,65,29,.4)}
.idir__bar{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.idir__search{position:relative;flex:0 1 320px;min-width:220px}
.idir__search .icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted)}
.idir__search input{width:100%;padding:11px 14px 11px 38px;border:1px solid #d8e1d3;border-radius:8px;font:inherit;font-size:.95rem;background:#fbfcf9}
.idir__search input:focus{outline:0;border-color:var(--green-600);box-shadow:0 0 0 3px rgba(40,142,69,.15)}
.idir__chips{display:flex;gap:6px;flex-wrap:wrap}
.idir__chip{border:1px solid #dfe6db;background:#f6f8f3;color:var(--ink);font:600 .84rem var(--font-body);padding:8px 12px;border-radius:6px;cursor:pointer}
.idir__chip.on{background:var(--green-900);border-color:var(--green-900);color:#fff}
.idir__legend{list-style:none;margin:16px 0 18px;padding:0;display:flex;gap:18px;flex-wrap:wrap;font-size:.84rem;color:var(--muted)}
.idir__legend li{display:flex;align-items:center;gap:8px}
.idir__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.idir__item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:8px;border:1px solid #edf0ea;background:#fbfcf9}
.idir__item[hidden]{display:none}
.idir__logo{flex:none;width:36px;height:36px;border-radius:6px;background:var(--c);color:#fff;display:grid;place-items:center;font-weight:800}
.idir__name{flex:1;min-width:0}
.idir__name b{display:block;color:var(--ink);font-size:.95rem;line-height:1.25}
.idir__name small{display:block;color:var(--muted);font-size:.76rem}
.idir__st{flex:none;font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:6px;letter-spacing:.02em}
.idir__st--std{background:var(--green-600);color:#fff}
.idir__st--tested{background:var(--green-100);color:var(--green-900)}
.idir__st--custom{background:#f1f1ec;color:#5b6a61;border:1px dashed #c9d1c4}
.idir__empty{margin:14px 0 0;color:var(--muted)}
.iask{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:28px;align-items:center;margin-top:24px;padding:26px 28px;border-radius:10px;background:var(--green-900);color:#cfe2d4}
.iask h3{color:#fff;margin:0 0 6px;font-size:1.3rem}
.iask p{margin:0;font-size:.95rem}
.iask__form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end}
.iask__form label span{display:block;font-size:.8rem;margin-bottom:6px;color:#a9c4b1}
.iask__form input[type=text],.iask__form input[type=email]{width:100%;padding:12px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);color:#fff;font:inherit}
.iask__form input::placeholder{color:#8fb09a}
.iask__form input:focus{outline:0;border-color:var(--yellow)}
.iask__form .btn{color:var(--ink)}
.iask .form-msg,.iask [class*=msg]{grid-column:1/-1}
@media (max-width:1060px){
  .iflow{grid-template-columns:minmax(0,1fr);max-width:460px}
  .iflow__pipe{min-height:56px}
  .iflow__pipe i{width:2px;height:auto;flex:1;margin:0 auto;background:repeating-linear-gradient(180deg,var(--green-600) 0 8px,transparent 8px 14px);animation:none}
  .iflow__pipe{flex-direction:row}
  .iflow__lbl{flex:1}
  .iflow__lbl .icon{transform:rotate(90deg)}.iflow__lbl--out .icon{transform:rotate(-90deg)}
  .iask{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){.iask__form{grid-template-columns:minmax(0,1fr)}.idir{padding:18px}.idir__search{flex:1 1 100%}.iask{padding:22px 18px}}
@media (prefers-reduced-motion:reduce){.iflow__pipe i{animation:none}}
/* v11 fixes */
.op{background-image:var(--grain),var(--fibres),linear-gradient(180deg,#f2f7ee 0%,#f2f7ee 60%,#fff 100%)}
.idir__grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.idir__name small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1060px){.iflow__pipe i{flex:none;width:2px;height:auto;align-self:stretch;min-height:56px}}
@media (max-width:760px){.op-j__screen .op__visit{display:none}.idir__grid{grid-template-columns:minmax(0,1fr);gap:8px}.idir__item{padding:10px 12px}}
.idir__name b{overflow-wrap:anywhere}
/* v12 */
.ihead__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.bigcta__sub{max-width:620px;margin:-8px auto 28px;font-size:1.12rem;line-height:1.6;color:var(--text)}
.bigcta .display{margin-bottom:22px}
.iask__form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}
@media (max-width:1200px) and (min-width:641px){.iask__form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.iask__form .btn{grid-column:1/-1;justify-self:start}}
@media (max-width:640px){.iask__form{grid-template-columns:minmax(0,1fr)}}
/* v13 — smooth sticky header: pre-rendered grain tiles + no backdrop blur */
:root{--grain:url("../img/grain.png");--grain-l:url("../img/grain-light.png")}
.sh:not(.sh--hero){background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}

/* ===================== v13 ===================== */
/* trust strip (replaces the map) */
.trust{padding:34px 0 30px;position:relative}
.trust__in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,3fr);gap:30px;align-items:center;padding:22px 26px;border-radius:10px;background:#fff;border:1px solid #e3e9df;box-shadow:0 20px 44px -36px rgba(13,65,29,.45)}
.trust__title{margin:0;font-size:clamp(1.25rem,1.6vw,1.5rem);line-height:1.25}
.trust__title .hl{color:var(--green-600)}
.trust__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.trust__list li{display:flex;gap:12px;align-items:flex-start;font-size:.88rem;line-height:1.45}
.trust__list b{display:block;color:var(--ink);font-size:.98rem;margin-bottom:2px}
.trust__ic{flex:none;width:38px;height:38px;border-radius:8px;background:var(--green-50);color:var(--green-600);display:grid;place-items:center}
.trust__ic .icon{width:19px;height:19px}
@media (max-width:1200px){.trust__in{grid-template-columns:minmax(0,1fr)}.trust__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.trust__list{grid-template-columns:minmax(0,1fr)}.trust__in{padding:20px 18px}}
/* workflow step details */
.wf__steps li .wf__detail{display:block;margin-top:5px;font-size:.84rem;line-height:1.45;color:var(--muted)}
.wf__steps li.is-on .wf__detail{color:var(--green-900)}
/* AI use case */
.iai{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:30px;align-items:center;margin-top:24px;padding:28px;border-radius:10px;background:#fff;border:1px solid #e3e9df}
.iai__tag{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:6px;background:#fdf0c7;color:#6b5205;font-size:.8rem;font-weight:700}
.iai__tag .icon{width:15px;height:15px}
.iai h3{font-size:1.35rem;margin:12px 0 10px}
.iai__head p{margin:0 0 10px;font-size:.95rem}
.iai__models{font-size:.85rem!important;color:var(--muted)}
.iai__flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;position:relative}
.iai__flow li{position:relative;padding:16px 14px;border-radius:10px;background:#f6f8f3;border:1px solid #e6ece2;text-align:center}
.iai__flow li:not(:last-child)::after{content:"";position:absolute;right:-9px;top:50%;width:8px;height:2px;background:var(--green-600)}
.iai__flow span{width:40px;height:40px;margin:0 auto 10px;border-radius:8px;background:var(--green-900);color:#fff;display:grid;place-items:center}
.iai__flow .icon{width:20px;height:20px}
.iai__flow b{display:block;color:var(--ink);font-size:.92rem;line-height:1.3}
.iai__flow small{display:block;color:var(--muted);font-size:.78rem;margin-top:4px;line-height:1.35}
.iai__flow .iai__you{background:#fffcf1;border-color:#f1e3b1}
.iai__flow .iai__you span{background:var(--yellow);color:var(--ink)}
@media (max-width:1060px){.iai{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.iai{padding:20px 18px}.iai__flow{grid-template-columns:repeat(2,minmax(0,1fr))}.iai__flow li:not(:last-child)::after{display:none}}
/* OrderPad torn breaker */
.op>.torn-top{z-index:1}
.iai__flow li:not(:last-child)::after{display:none}
.iai__flow{background:linear-gradient(var(--green-600),var(--green-600)) 50% 50%/96% 2px no-repeat}
@media (max-width:640px){.iai__flow{background:none}}

/* ===================== v14 ===================== */
/* workflow: illustration card matches the height of the step list */
.wf__grid{align-items:stretch}
.wf__stage{display:flex}
.wf__card{flex:1;display:flex;flex-direction:column;justify-content:center;gap:18px;padding-bottom:22px}
.wf__card .isoflow{flex:1;width:100%;height:auto;max-height:none;min-height:0}
.wf__status{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;margin:0 6px;padding:16px 18px 20px;border-radius:10px;background:#f6f8f3;border:1px solid #e3e9df;overflow:hidden}
.wf__status-n{width:34px;height:34px;border-radius:50%;background:var(--yellow);color:var(--ink);font-weight:800;display:grid;place-items:center}
.wf__status b{display:block;color:var(--ink);font-size:1.02rem}
.wf__status div span{display:block;font-size:.9rem;line-height:1.45;color:var(--text)}
.wf__status-bar{position:absolute;left:0;right:0;bottom:0;height:4px;background:#e3e9df}
.wf__status-bar i{display:block;height:100%;width:20%;background:var(--green-600);transition:width .5s ease}
@media (max-width:1100px){.wf__stage{display:block}.wf__card{display:block}.wf__status{margin-top:14px}}
/* coverage: heading above the map */
.cov__maphead{text-align:center;margin-bottom:10px}
.cov__maphead .eyebrow{margin-bottom:2px}
.cov__maphead h3{margin:0;font-size:clamp(1.25rem,1.8vw,1.6rem)}
/* OrderPad: 5 tabs */
.op-j__tabs button{padding:8px 12px}
@media (max-width:760px){.op-j__tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.op-j__tabs button{flex:none}}
.op__shot[data-op-shot="brands"] .rw-scroll img,.op__shot[data-op-shot="cart"] .rw-scroll img{object-position:50% 0}
.wf__head{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:40px;align-items:end;margin-bottom:28px}
.wf__head .eyebrow{grid-column:1/-1}
.wf__head .section-title{margin:0;max-width:none}
.wf__head .section-sub{margin:0 0 6px}
.wf__grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr)}
.wf__steps{margin-top:0}
@media (max-width:900px){.wf__head{grid-template-columns:minmax(0,1fr)}.wf__head .section-sub{margin-top:8px}}
.wf__head .section-sub{font-family:var(--font-hand);font-size:1.3rem;color:var(--green-600)}
@media (max-width:1100px){.wf__grid{grid-template-columns:minmax(0,1fr)}}

/* ===================== v15 SynvoraBot ===================== */
.sbot{margin-top:64px;padding:clamp(22px,3vw,44px);border-radius:12px;background:var(--green-900);background-image:var(--grain-l),radial-gradient(700px 420px at 90% 0%,rgba(58,162,87,.35),transparent 70%);color:#cfe2d4;position:relative;overflow:hidden}
.sbot__head{max-width:820px;margin-bottom:30px}
.sbot__tag{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:6px;background:rgba(248,194,42,.14);border:1px solid rgba(248,194,42,.35);color:var(--yellow);font-size:.82rem;font-weight:700;letter-spacing:.02em}
.sbot__tag .icon{width:16px;height:16px}
.sbot__head h3{color:#fff;font-size:clamp(1.6rem,2.6vw,2.3rem);line-height:1.15;margin:14px 0 10px;letter-spacing:-.015em}
.sbot__head h3 .hl{color:var(--yellow)}
.sbot__head p{margin:0;font-size:1.04rem;line-height:1.65}
.sbot__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:clamp(18px,2.5vw,36px);align-items:stretch}
.sbot__feats{display:grid;gap:10px;align-content:start}
.sb-feat{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;text-align:left;padding:14px 16px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#cfe2d4;font:inherit;cursor:pointer;overflow:hidden;transition:background .25s,border-color .25s}
.sb-feat:hover{background:rgba(255,255,255,.08)}
.sb-feat b{display:block;color:#fff;font-size:1rem;line-height:1.3}
.sb-feat small{display:block;font-size:.86rem;line-height:1.45;color:#a9c4b1;margin-top:2px}
.sb-feat__ic{width:42px;height:42px;border-radius:8px;background:rgba(255,255,255,.08);color:var(--yellow);display:grid;place-items:center;transition:background .25s,color .25s}
.sb-feat__ic .icon{width:21px;height:21px}
.sb-feat.is-on{background:#fff;border-color:#fff}
.sb-feat.is-on b{color:var(--ink)}.sb-feat.is-on small{color:var(--text)}
.sb-feat.is-on .sb-feat__ic{background:var(--yellow);color:var(--ink)}
.sb-feat__bar{position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--green-600)}
.sb-feat.is-on .sb-feat__bar{animation:sbBar var(--sb-dur,9s) linear forwards}
.sbot.is-user .sb-feat__bar,.sbot.is-static .sb-feat__bar{animation:none;width:0}
@keyframes sbBar{to{width:100%}}
/* chat window */
.sbot__win{display:flex;flex-direction:column;min-height:540px;border-radius:10px;background:#fbfcf9;color:var(--text);box-shadow:0 40px 80px -40px rgba(0,0,0,.6);overflow:hidden}
.sbot__bar{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid #e6ece2;background:#fff}
.sbot__bar b{display:block;color:var(--ink);font-size:.98rem}
.sbot__bar small{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted)}
.sbot__bar small i{width:7px;height:7px;border-radius:50%;background:#3aa257;box-shadow:0 0 0 3px rgba(58,162,87,.2)}
.sbot__logo,.sb-av{flex:none;width:36px;height:36px;border-radius:8px;background:var(--green-900);color:var(--yellow);display:grid;place-items:center}
.sbot__logo .icon,.sb-av .icon{width:20px;height:20px}
.sbot__demo{margin-left:auto;font-size:.72rem;font-weight:700;padding:4px 9px;border-radius:6px;background:#fdf0c7;color:#6b5205}
.sbot__chat{position:relative;flex:1;padding:20px 18px}
.sb-convo{display:none;flex-direction:column;gap:16px}
.sb-convo.is-on{display:flex}
.sb-msg{display:flex;gap:10px;align-items:flex-start}
.sb-msg--user{flex-direction:row-reverse}
.sb-msg--user p{margin:0;max-width:78%;padding:11px 14px;border-radius:10px 4px 10px 10px;background:var(--green-900);color:#fff;font-size:.93rem;line-height:1.5}
.sb-av--user{background:#e3f1df;color:var(--green-900)}
.sb-body{flex:1;min-width:0;display:grid;gap:10px}
.sb-steps{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sb-step{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--muted);padding:6px 10px;border-radius:6px;background:#f1f4ee;width:max-content;max-width:100%}
.sb-step>.icon{width:14px;height:14px;flex:none;color:var(--green-600)}
.sb-step em{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--green-600);color:#fff;opacity:0;transition:opacity .3s}
.sb-step em .icon{width:11px;height:11px;stroke-width:2.6}
.sb-step.is-done em{opacity:1}
.sb-step.is-run::after{content:"";width:12px;height:12px;border-radius:50%;border:2px solid #cfdcc8;border-top-color:var(--green-600);animation:sbSpin .7s linear infinite}
.sb-step.is-done::after{display:none}
@keyframes sbSpin{to{transform:rotate(360deg)}}
.sb-answer{padding:14px 16px;border-radius:4px 10px 10px 10px;background:#fff;border:1px solid #e3e9df;font-size:.93rem;line-height:1.55}
.sb-answer>p{margin:0 0 10px}.sb-answer>p:last-child{margin-bottom:0}
.sb-muted{color:var(--muted);font-size:.85rem}
.sb-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
.sb-kpis div{padding:10px 12px;border-radius:8px;background:#f6f8f3}
.sb-kpis small{display:block;font-size:.74rem;color:var(--muted)}
.sb-kpis b{display:block;font-size:1.3rem;color:var(--ink);line-height:1.2}
.sb-kpis span{font-size:.78rem;font-weight:700}
.up{color:#288e45}.dn{color:#c0392b}
.sb-tasks{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:7px}
.sb-tasks li{display:flex;align-items:center;gap:8px;font-size:.9rem}
.sb-tasks .icon{width:18px;height:18px;flex:none;padding:3px;border-radius:50%;background:var(--green-600);color:#fff;stroke-width:2.6}
.sb-tasks .wait .icon{background:var(--yellow);color:var(--ink);stroke-width:2}
.sb-approve{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:8px;background:#fffcf1;border:1px solid #f1e3b1}
.sb-approve span{display:flex;align-items:center;gap:7px;font-size:.84rem;font-weight:600;color:#6b5205}
.sb-approve span .icon{width:16px;height:16px}
.sb-approve button{border:0;border-radius:6px;padding:8px 14px;background:var(--green-900);color:#fff;font:600 .84rem var(--font-body);cursor:default}
.sb-alerts{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:7px}
.sb-alerts li{padding:9px 12px 9px 14px;border-radius:6px;border-left:4px solid;background:#f8f6f1;font-size:.86rem;line-height:1.45}
.sb-alerts b{display:block;color:var(--ink);font-size:.88rem}
.sb-alerts .hi{border-color:#d9534f;background:#fdf2f1}.sb-alerts .md{border-color:#e5ac0d;background:#fffaee}
.sb-spark{display:flex;align-items:flex-end;gap:5px;height:46px;padding:6px 8px;border-radius:6px;background:#f6f8f3}
.sb-spark i{flex:1;border-radius:3px 3px 0 0;background:#b9d8c1}
.sb-spark .spike{background:#d9534f}
.sb-table{width:100%;border-collapse:collapse;font-size:.82rem;margin-bottom:10px}
.sb-table th{text-align:left;font-weight:700;color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;padding:6px 8px;border-bottom:1px solid #e3e9df}
.sb-table td{padding:7px 8px;border-bottom:1px solid #eef1eb;color:var(--ink)}
.sb-table .flag{color:#b9770e;font-weight:700}
.sb-bars{display:grid;gap:7px;margin-bottom:10px}
.sb-bars div{position:relative;display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:6px;background:#f1f4ee;overflow:hidden;font-size:.85rem}
.sb-bars span{position:absolute;left:0;top:0;bottom:0;background:#cfe6d4;border-radius:6px;transform-origin:left;transition:transform .9s ease}
.sb-bars b,.sb-bars em{position:relative;color:var(--ink)}
.sb-bars em{font-style:normal;font-weight:700;color:#288e45}
.sb-bars .neg span{background:#f4d9d6}.sb-bars .neg em{color:#c0392b}
.sbot__input{display:flex;align-items:center;gap:10px;margin:0 14px 14px;padding:8px 8px 8px 16px;border-radius:8px;border:1px solid #dfe6db;background:#fff;font-size:.9rem;color:var(--muted)}
.sbot__input span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sbot__input button{flex:none;width:36px;height:36px;border:0;border-radius:6px;background:var(--yellow);color:var(--ink);display:grid;place-items:center;cursor:default}
.sbot__input .icon{width:18px;height:18px}
/* sequential reveal */
.sbot [data-seq]{opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease}
.sbot [data-seq].is-shown{opacity:1;transform:none}
.sbot.is-static [data-seq]{opacity:1;transform:none}
.sbot.is-static .sb-step em{opacity:1}
/* standard agentic features */
.sbot__more{margin-top:36px;padding-top:30px;border-top:1px solid rgba(255,255,255,.1)}
.sbot__more h4{color:#fff;font-size:1.15rem;margin:0 0 18px}
.sbot__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.sbot__list li{padding:16px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.sbot__list li>span{width:36px;height:36px;border-radius:6px;background:rgba(248,194,42,.16);color:var(--yellow);display:grid;place-items:center;margin-bottom:10px}
.sbot__list .icon{width:18px;height:18px}
.sbot__list b{display:block;color:#fff;font-size:.95rem;margin-bottom:4px}
.sbot__list small{display:block;font-size:.84rem;line-height:1.45;color:#a9c4b1}
.sbot__note{margin:20px 0 0;font-size:.82rem;color:#8fb09a}
@media (max-width:1200px){.sbot__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1060px){.sbot__grid{grid-template-columns:minmax(0,1fr)}.sbot__feats{grid-template-columns:repeat(2,minmax(0,1fr))}.sbot__win{min-height:500px}}
@media (max-width:640px){
  .sbot{margin-left:calc(var(--gutter) * -.5);margin-right:calc(var(--gutter) * -.5);border-radius:10px;padding:22px 16px}
  .sbot__feats{grid-template-columns:minmax(0,1fr)}
  .sb-feat small{display:none}
  .sbot__list{grid-template-columns:minmax(0,1fr)}
  .sb-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.sb-kpis div{padding:8px}.sb-kpis b{font-size:1.05rem}
  .sbot__chat{padding:16px 12px}.sb-av{width:30px;height:30px}
  .sb-msg--user p{max-width:86%}
  .sb-table th:nth-child(3),.sb-table td:nth-child(3){display:none}
  .sb-step{width:auto}
}
@media (prefers-reduced-motion:reduce){.sbot [data-seq]{transition:none}.sb-step.is-run::after{animation:none}}
@media (max-width:640px){.sbot__demo{white-space:nowrap}.sbot__bar small{font-size:.72rem}}
@media (max-width:380px){.sb-kpis b{font-size:.92rem}.sb-kpis{gap:4px}.sb-kpis div{padding:7px 6px}}
/* v16 SynvoraBot real examples */
.sb-feat{padding:12px 14px}
.sbot__feats{gap:8px}
.sb-feat__real{display:inline-block;font-style:normal;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--yellow);margin-bottom:3px}
.sb-feat.is-on .sb-feat__real{color:#a07800}
.sb-prod{display:flex;gap:12px;align-items:center;padding:10px;border-radius:8px;background:#f6f8f3;border:1px solid #e6ece2;margin-bottom:10px}
.sb-prod__img{flex:none;width:58px;height:58px;border-radius:6px;background:repeating-linear-gradient(0deg,#d9b98c 0 3px,#e8cfa8 3px 6px,#cfa974 6px 8px);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.sb-prod b{display:block;color:var(--ink);font-size:.88rem;line-height:1.35}
.sb-prod small{display:block;color:var(--muted);font-size:.78rem;margin:2px 0 4px}
.sb-prod__price{font-size:.82rem;color:var(--text)}
.sb-blur{font-style:normal;filter:blur(4px);user-select:none;font-weight:700;color:var(--ink)}
.sb-approve--go{background:#f1f8ee;border-color:#cfe6d4}
.sb-approve--go span{color:var(--green-900)}
.sb-approve--go a{display:inline-flex;align-items:center;gap:6px;border-radius:6px;padding:8px 12px;background:var(--green-900);color:#fff;font-size:.84rem;font-weight:600}
.sb-approve--go a:hover{color:var(--yellow)}
.sb-approve--go a .icon{width:14px;height:14px}
.sb-alerts .ok{border-color:#3aa257;background:#f1f8ee}
.sbot__win{min-height:580px}
@media (max-width:1060px){.sbot__feats{grid-template-columns:repeat(2,minmax(0,1fr))}.sb-feat:nth-child(1),.sb-feat:nth-child(2){grid-column:span 1}}
@media (max-width:640px){.sbot__feats{grid-template-columns:minmax(0,1fr)}.sb-prod__img{width:44px;height:44px}}

/* ===================== v17 homepage restructure ===================== */
main>section{position:relative}
.pv-trans{position:relative;z-index:3;max-width:860px;margin:0 auto 34px;padding:0 var(--gutter);text-align:center;font-family:var(--font-hand);font-size:1.45rem;line-height:1.35;color:var(--green-600)}

.rp .pv-trans{color:var(--yellow)}
.rp .pv-trans::before{background:repeating-linear-gradient(180deg,var(--yellow) 0 5px,transparent 5px 9px)}
section.wf,section.rp,section.cov{padding-top:70px}
/* 02 compact challenge */
.pv-compact .cov__intro h2{font-size:clamp(1.7rem,2.4vw,2.3rem)}
.pv-pains{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pv-pains li{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:8px;background:#fff;border:1px solid #e3e9df;font-weight:600;color:var(--ink);font-size:.93rem}
.pv-pains .icon{width:20px;height:20px;flex:none;color:#c0392b}
.pv-compact .cov-card{padding:18px 20px}
.pv-compact .cov-card p{font-size:.9rem}
/* 03 solutions grid */
.pv-sols{padding-top:80px}
.pv-sol-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.pv-sol{display:flex;flex-direction:column;gap:8px;padding:24px 22px;border-radius:10px;background:#fff;border:1px solid #e3e9df;color:var(--text);box-shadow:0 18px 40px -34px rgba(13,65,29,.5);transition:transform .2s,border-color .2s}
.pv-sol:hover{transform:translateY(-3px);border-color:var(--green-600);color:var(--text)}
.pv-sol__ic{width:48px;height:48px;border-radius:8px;background:var(--green-900);color:var(--yellow);display:grid;place-items:center;margin-bottom:6px}
.pv-sol__ic .icon{width:24px;height:24px}
.pv-sol b{color:var(--ink);font-size:1.08rem;line-height:1.3}
.pv-sol small{font-size:.92rem;line-height:1.5;flex:1}
.pv-sol__go{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--green-600);font-size:.9rem;margin-top:6px}
.pv-sol__go .icon{width:16px;height:16px}
/* 06 bot as own section */
.pv-botsec{padding-top:70px}
.pv-botsec .sbot{margin-top:0}
.pv-featured{margin:0 0 28px;background:#fff}
/* 08 manage/connect/automate */
.pv-mca{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 22px}
.pv-mca div{padding:14px;border-radius:8px;background:var(--green-900);color:#cfe2d4}
.pv-mca span{width:34px;height:34px;border-radius:6px;background:var(--yellow);color:var(--ink);display:grid;place-items:center;margin-bottom:8px}
.pv-mca .icon{width:18px;height:18px}
.pv-mca b{display:block;color:#fff;font-size:1rem}
.pv-mca small{display:block;font-size:.82rem;line-height:1.45;margin-top:2px}
/* 11 closing CTA inside integrations */
.pv-endcta{margin-top:28px;padding:30px;border-radius:10px;background:var(--yellow);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.pv-endcta p{margin:0;max-width:720px;font-size:1.25rem;font-weight:700;line-height:1.4;color:var(--ink)}
.pv-featured{color:var(--text)}
.pv-featured .iai__head p{color:var(--text)}
.pv-featured h3{color:var(--ink)}
/* v2 */
.pv-feat{list-style:none;margin:18px 0 26px;padding:0;display:grid;gap:12px}
.pv-feat li{display:flex;gap:12px;align-items:flex-start;font-size:.98rem;line-height:1.5}
.pv-feat .icon{flex:none;width:36px;height:36px;padding:8px;border-radius:8px;background:var(--green-900);color:var(--yellow)}
.pv-feat b{color:var(--ink)}
.pv-flowwrap{margin-top:56px;padding:34px 28px 26px;border-radius:10px;background:#f2f7ee;border:1px solid #e3e9df}
.pv-flowh{text-align:center;font-size:1.3rem;margin:0 0 22px}
.pv-wfsub{max-width:760px;margin-top:10px}
.pv-pill{display:inline-block;margin-left:8px;padding:3px 9px;border-radius:6px;background:rgba(248,194,42,.18);color:var(--yellow);font-size:.75rem;vertical-align:middle;letter-spacing:.03em}
.sbot__note b{color:#fff}
.pv-3phones .cs-phone{width:30%;margin:0 -2%}.pv-3phones .cs-phone--3{width:36%}
.pv-more{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;font-size:.92rem}
.pv-more>span:first-child{font-weight:700;color:var(--ink);margin-right:4px}
.pv-chip{padding:8px 14px;border-radius:999px;border:1px solid #dfe6db;background:#fff;color:var(--ink);font-weight:600}
a.pv-chip:hover{border-color:var(--green-600);color:var(--green-600)}
/* Xpress result: before/after notes */
.xr{margin-top:34px;padding:36px clamp(20px,3vw,44px) 30px;border-radius:12px;background:#fffdf6;border:1px solid #efe6c8;position:relative}
.xr__head{max-width:640px;margin-bottom:26px}
.xr__kicker{font-family:var(--font-hand);font-size:1.35rem;color:var(--green-600)}
.xr__head h3{font-size:clamp(1.4rem,2vw,1.8rem);margin:2px 0 6px}
.xr__head p{margin:0;color:var(--text)}
.xr__board{display:grid;grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr);align-items:center;gap:8px}
.xr__card{position:relative;padding:24px 24px 22px;border-radius:6px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 14px 30px -18px rgba(13,65,29,.35)}
.xr__card--before{background:#f4f1ea;transform:rotate(-1.2deg);color:#5e5a52}
.xr__card--after{background:#fff;transform:rotate(.8deg);border:1px solid #e6ece2}
.xr__label{display:inline-block;font-family:var(--font-display);font-weight:700;font-size:1.9rem;letter-spacing:.04em;line-height:1;margin-bottom:12px;color:#8a8478}
.xr__card--after .xr__label{color:var(--green-600)}
.xr__card ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.xr__card li{position:relative;padding-left:26px;font-size:.97rem;line-height:1.5}
.xr__card--before li::before{content:"";position:absolute;left:2px;top:.6em;width:14px;height:2px;background:#b9b2a3;transform:rotate(-8deg)}
.xr__card--before li{text-decoration:line-through;text-decoration-color:rgba(160,150,130,.55);text-decoration-thickness:1.5px}
.xr__card--after li{color:var(--ink)}
.xr__card--after li::before{content:"";position:absolute;left:0;top:.28em;width:16px;height:9px;border-left:2.5px solid var(--green-600);border-bottom:2.5px solid var(--green-600);transform:rotate(-48deg);border-radius:1px}
.xr__tape{position:absolute;top:-12px;left:50%;width:92px;height:24px;margin-left:-46px;background:rgba(248,194,42,.55);transform:rotate(-3deg);box-shadow:0 1px 2px rgba(0,0,0,.06)}
.xr__arrow{width:100%;height:auto;color:var(--green-600)}
.xr__scrawl{margin:16px 0 0;font-family:var(--font-hand);font-size:1.3rem;color:var(--green-600);transform:rotate(-1.5deg);display:inline-block;background:linear-gradient(transparent 62%,rgba(248,194,42,.45) 62%)}
.xr__foot{display:flex;align-items:center;gap:10px;margin:26px 0 0;font-size:.88rem;color:var(--muted)}
.xr__dot{width:9px;height:9px;border-radius:50%;background:#3aa257;box-shadow:0 0 0 4px rgba(58,162,87,.18)}
@media (max-width:900px){.xr__board{grid-template-columns:minmax(0,1fr)}.xr__arrow{width:80px;margin:0 auto;transform:rotate(90deg)}.xr__card{transform:none}}
@media (max-width:1100px){.pv-sol-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.pv-sol-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-pains{grid-template-columns:minmax(0,1fr)}}
@media (max-width:480px){.pv-sol-grid{grid-template-columns:minmax(0,1fr)}}
.wf__head{grid-template-columns:minmax(0,1fr)}
.wf__head .pv-wfsub{font-family:var(--font-body);font-size:1.05rem;color:var(--text);margin:10px 0 0}
.pv-3phones .cs-phone--1{transform:translateX(10%) rotate(-4deg) translateY(18px)}
.pv-3phones .cs-phone--5{transform:translateX(-10%) rotate(4deg) translateY(18px)}

/* ===================== v19 mobile fixes ===================== */
/* menu button: visible three-line icon */
.sh__toggle{-webkit-appearance:none;appearance:none;width:46px;height:46px;padding:0;border:0;border-radius:8px;background:var(--green-900);color:#fff;place-items:center;cursor:pointer;flex:none}
.sh__toggle svg,.sh__toggle .icon{display:block;width:22px!important;height:22px!important;min-width:22px;stroke:currentColor;stroke-width:2.2}
.sh__toggle:active{background:var(--green-800)}
@media (max-width:760px){
  /* hero: let the video breathe */
  .vhero__lead,.vhero__watch{display:none!important}
  .vhero__actions{margin-top:22px}
  .vhero__actions .btn{white-space:nowrap;font-size:.92rem;padding:7px 7px 7px 18px;gap:10px;max-width:100%}
  .vhero__badge{font-size:.68rem;letter-spacing:.04em;padding:5px 12px 5px 5px;max-width:calc(100% - 4px)}
  .vhero__pause{top:auto;bottom:18px;right:16px}
  .rw-note{justify-content:center;text-align:center;flex-wrap:wrap}
  .sf__btns .btn{white-space:nowrap}
  .xr__foot{align-items:flex-start}.xr__dot{margin-top:5px;flex:none}
}
@media (max-width:380px){.vhero__actions .btn{font-size:.84rem;padding-left:14px}}
@media (max-width:760px){
  .vhero__stats{gap:14px 18px;margin-top:26px;padding-top:20px}
  .vhero__stat b{font-size:1.15rem}
  .vhero__stat span{font-size:.78rem;line-height:1.35}
}
@media (max-width:760px){.rw-note{display:block}.rw-note svg{display:inline-block;vertical-align:-3px;margin-right:4px;width:16px;height:16px}}
@media (max-width:360px){.vhero__stat b{font-size:1rem}.vhero__stats{gap:12px 12px}}
/* v20 mobile hero: video first, headline + button at the bottom of the first screen, stats below */
@media (max-width:760px){
  .vhero{display:block;min-height:0}
  .vhero__video,.vhero__shade{bottom:auto;height:calc(100svh - 70px)}
  .vhero__shade{background:linear-gradient(0deg,rgba(8,36,17,.92) 0%,rgba(8,36,17,.55) 32%,rgba(8,36,17,0) 62%)}
  .vhero__inner{padding-top:0;padding-bottom:0}
  .vhero__copy{min-height:calc(100svh - 70px);display:flex;flex-direction:column;justify-content:flex-end;padding:24px 0 34px}
  .vhero__badge{align-self:flex-start;white-space:nowrap;font-size:clamp(8.5px,2.55vw,11px);letter-spacing:.02em;gap:7px;padding:4px 11px 4px 4px;max-width:100%}
  .vhero__badge-dot{width:22px;height:22px;flex:none}
  .vhero__badge-dot svg{width:12px;height:12px}
  .vhero__title{margin:14px 0 0;font-size:clamp(1.9rem,8.6vw,2.4rem)}
  .vhero__actions{margin-top:20px}
  .vhero__stats{position:relative;margin:0 calc(var(--gutter) * -1);padding:26px var(--gutter) 34px;background:#0b2b15;border-top:0}
  .vhero__pause{top:16px;bottom:auto;right:16px}
}
/* v21 — hero height from real visible height; hide iOS native play overlay */
.vhero__video::-webkit-media-controls,.vhero__video::-webkit-media-controls-start-playback-button,.vhero__video::-webkit-media-controls-overlay-play-button{display:none!important;-webkit-appearance:none;opacity:0}
@media (max-width:760px){
  .vhero__video,.vhero__shade{height:calc(var(--app-h,100svh) - 70px)}
  .vhero__copy{min-height:calc(var(--app-h,100svh) - 70px)}
  .vhero__pause{z-index:4}
  .vhero__badge{max-width:calc(100% - 4px)}
}

/* ===================== v22 forms: floating labels, underline inputs ===================== */
.field--float{position:relative;margin-bottom:18px}
.field--float input,.field--float textarea{display:block;width:100%;border:0!important;border-bottom:1.5px solid #c9d3c4!important;border-radius:0!important;background:transparent!important;padding:22px 2px 8px!important;font:500 1rem var(--font-body);color:var(--ink);box-shadow:none!important;transition:border-color .2s}
.field--float textarea{min-height:110px;resize:vertical}
.field--float label{position:absolute;left:2px;top:22px;margin:0!important;font:400 1rem var(--font-body)!important;color:#7b877f!important;pointer-events:none;transform-origin:0 0;transition:transform .18s ease,color .18s ease,top .18s ease}
.field--float input:focus,.field--float textarea:focus{outline:0;border-bottom-color:var(--green-600)!important}
.field--float input:focus+label,.field--float input:not(:placeholder-shown)+label,.field--float textarea:focus+label,.field--float textarea:not(:placeholder-shown)+label,.field--float input:-webkit-autofill+label{transform:translateY(-18px) scale(.78);color:var(--green-600)!important;font-weight:600!important}
.field--float::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--green-600);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.field--float:focus-within::after{transform:scaleX(1)}
.field--select{margin-bottom:18px}
.field--select label{display:block;font:600 .74rem var(--font-body)!important;letter-spacing:.06em;text-transform:uppercase;color:#7b877f!important;margin-bottom:4px!important}
.field--select select{width:100%;border:0!important;border-bottom:1.5px solid #c9d3c4!important;border-radius:0!important;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23288e45' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 2px center/16px!important;padding:8px 26px 9px 2px!important;font:500 1rem var(--font-body);color:var(--ink);-webkit-appearance:none;appearance:none}
.field--select select:focus{outline:0;border-bottom-color:var(--green-600)!important}
.contact-form .field-row{gap:22px}
.contact-form .btn{margin-top:6px}
/* dark variants (footer newsletter, integration enquiry) */
.field--dark input{color:#fff;border-bottom-color:rgba(255,255,255,.35)!important}
.field--dark label{color:rgba(255,255,255,.62)!important}
.field--dark input:focus+label,.field--dark input:not(:placeholder-shown)+label,.field--dark input:-webkit-autofill+label{color:var(--yellow)!important}
.field--dark::after{background:var(--yellow)}
.field--dark input:-webkit-autofill{-webkit-text-fill-color:#fff;-webkit-box-shadow:0 0 0 40px #0d411d inset!important}
.sf__news-h{margin:0 0 4px}.sf__news-h b{display:block;color:#fff;font-size:1.02rem}
.sf__news-row{align-items:flex-end;gap:12px}
.sf__news-row .field{flex:1;min-width:0;margin-bottom:0}
.iask__form{align-items:end}
.iask__form .field{margin-bottom:0}
/* safety net: any icon without a specific size stays text-sized */
:where(svg.icon){width:1.25em;height:1.25em;flex:none}
/* contact page details list */
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:14px;max-width:520px}
.checklist li{display:flex;gap:16px;align-items:center;padding:16px 18px;border-radius:10px;background:#fff;border:1px solid #e3e9df}
.checklist__icon{flex:none;width:46px;height:46px;border-radius:8px;background:var(--green-900);color:var(--yellow);display:grid;place-items:center}
.checklist__icon svg{width:22px;height:22px}
.checklist h4{margin:0 0 2px;font:700 .74rem var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.checklist p{margin:0;font-weight:600;color:var(--ink)}
.checklist a{color:var(--ink)}.checklist a:hover{color:var(--green-600)}
@media (max-width:760px){.contact-form .field-row{gap:0}}
@media (max-width:360px){.vhero__actions .btn{font-size:.78rem;padding-left:12px;gap:8px}}

/* ===================== v23 shorter, cleaner homepage ===================== */
/* workflow: component names */
.wf__steps li span span{font-size:.95rem}
.wf__comp{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:6px;background:var(--green-50);color:var(--green-600);font-style:normal;font-size:.74rem;font-weight:700;letter-spacing:.02em}
.wf__steps li.is-on .wf__comp{background:var(--green-900);color:#fff}
.if-tag text{font-size:13px}
.if-tag .if-tag__step{font-size:9.5px;font-weight:700;letter-spacing:.08em;fill:rgba(255,255,255,.72)}
/* SynvoraBot teaser */
.sbt{padding-top:30px}
.sbt__card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,60px);align-items:center;padding:clamp(26px,4vw,52px);border-radius:12px;background:var(--green-900);background-image:var(--grain-l),radial-gradient(600px 380px at 95% 0%,rgba(58,162,87,.35),transparent 70%);color:#cfe2d4}
.sbt__tag{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:6px;background:rgba(248,194,42,.14);border:1px solid rgba(248,194,42,.35);color:var(--yellow);font-size:.8rem;font-weight:700}
.sbt__tag .icon{width:16px;height:16px}
.sbt__copy h2{color:#fff;font-size:clamp(1.9rem,3.2vw,2.8rem);margin:14px 0 10px;letter-spacing:-.02em}
.sbt__copy>p{font-size:1.05rem;margin:0 0 20px;max-width:480px}
.sbt__chips{list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:520px}
.sbt__chips li{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#fff;font-size:.9rem;font-weight:600}
.sbt__chips .icon{width:17px;height:17px;color:var(--yellow);flex:none}
.sbt__chat{background:#fbfcf9;border-radius:10px;padding:16px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);color:var(--text);transform:rotate(1deg)}
.sbt__bar{display:flex;align-items:center;gap:10px;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid #e6ece2}
.sbt__bar b{color:var(--ink)}
.sbt__bar small{margin-left:auto;font-size:.7rem;font-weight:700;padding:3px 8px;border-radius:6px;background:#fdf0c7;color:#6b5205}
.sbt__logo{width:32px;height:32px;border-radius:6px;background:var(--green-900);color:var(--yellow);display:grid;place-items:center}
.sbt__logo .icon{width:18px;height:18px}
.sbt__msg{padding:11px 14px;border-radius:10px;font-size:.92rem;line-height:1.5;margin-bottom:10px;max-width:88%}
.sbt__msg--u{margin-left:auto;background:var(--green-900);color:#fff;border-radius:10px 4px 10px 10px}
.sbt__msg--b{background:#fff;border:1px solid #e3e9df;border-radius:4px 10px 10px 10px}
.sbt__msg--b b{color:var(--ink)}
.sbt__acts{display:flex;gap:8px}
.sbt__acts span{font-size:.8rem;font-weight:700;padding:7px 12px;border-radius:6px;border:1px solid #dfe6db;color:var(--ink)}
.sbt__acts span:first-child{background:var(--green-900);border-color:var(--green-900);color:#fff}
@media (max-width:960px){.sbt__card{grid-template-columns:minmax(0,1fr)}.sbt__chat{transform:none}}
@media (max-width:480px){.sbt__chips{grid-template-columns:minmax(0,1fr)}}
/* transport: office + road */
.trn__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.trn__card{display:flex;flex-direction:column;border-radius:10px;background:#fff;border:1px solid #e3e9df;overflow:hidden;box-shadow:0 24px 50px -40px rgba(13,65,29,.5)}
.trn__card--dark{background:var(--green-900);border-color:var(--green-900);color:#cfe2d4}
.trn__media{height:300px;padding:26px 26px 0;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;background:#f2f7ee}
.trn__card--dark .trn__media{background:rgba(255,255,255,.05)}
.trn__media--desk .rw-browser{width:100%;transform:translateY(14px)}
.trn__media--phones .rw-phones{width:100%;max-width:420px;transform:translateY(40px)}
.trn__body{padding:22px 26px 26px}
.trn__who{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green-600)}
.trn__card--dark .trn__who{color:var(--yellow)}
.trn__who .icon{width:16px;height:16px}
.trn__body h3{font-size:1.4rem;margin:6px 0 12px}
.trn__card--dark h3{color:#fff}
.trn__card--dark .chev li{color:#e3efe6}
.trn__body .chev{margin:0}
.trn__cta{margin:36px 0 0}
@media (max-width:860px){.trn__grid{grid-template-columns:minmax(0,1fr)}.trn__media{height:240px}}
/* case studies: three cards */
.cs2__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.cs2__card{border-radius:10px;background:#fff;border:1px solid #e3e9df;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.cs2__card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -34px rgba(13,65,29,.5)}
.cs2__img{margin:0;height:220px;overflow:hidden;background:#f2f7ee;border-bottom:1px solid #edf0ea}
.cs2__img img{width:100%;height:100%;object-fit:cover;object-position:50% 0;display:block}
.cs2__img--phones{display:flex;justify-content:center;align-items:flex-end;gap:10px;padding:20px 16px 0;background:#eef3ea}
.cs2__img--phones img{width:28%;height:auto;object-fit:contain;border-radius:12px 12px 0 0;box-shadow:0 10px 24px -12px rgba(0,0,0,.4);border:4px solid #0b0b0b;border-bottom:0}
.cs2__img--phones img:nth-child(2){width:32%;margin-bottom:-6px}
.cs2__body{padding:20px 22px 22px;flex:1;display:flex;flex-direction:column}
.cs2__where{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cs2__body h3{font-size:1.3rem;margin:4px 0 6px}
.cs2__body>p{margin:0 0 14px;font-size:.95rem}
.cs2__ba{margin-top:auto!important;padding-top:12px;border-top:1px dashed #dfe6db;font-size:.86rem;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.cs2__ba s{color:var(--muted)}
.cs2__ba .icon{width:14px;height:14px;color:var(--green-600)}
.cs2__ba b{color:var(--green-900)}
@media (max-width:960px){.cs2__grid{grid-template-columns:minmax(0,1fr)}.cs2__img{height:200px}}
/* why: slim */
.why--slim .why-card{padding:22px}
.why--slim .why-card p{margin:10px 0 0}
/* integrations: show 12, expand on demand */
.idir:not(.is-all):not(.is-filtering) .idir__item:nth-child(n+13){display:none}
.idir__more-wrap{text-align:center;margin:16px 0 0}
.idir.is-filtering .idir__more-wrap{display:none}
.idir__more{border:1px solid #d6e2d0;background:#fff;color:var(--green-900);font:700 .9rem var(--font-body);padding:10px 18px;border-radius:8px;cursor:pointer}
.idir__more:hover{border-color:var(--green-600)}
.idir__legend{margin:12px 0 14px}
.trn__media--desk{align-items:flex-start}.trn__media--desk .rw-browser{transform:none}
@media (max-width:480px){.page-hero h1{font-size:clamp(2.2rem,11vw,2.8rem)}.bigcta .display{font-size:clamp(1.8rem,9vw,2.4rem)}}

/* ===================== v25 trust band, logo marquee, reviews ===================== */
.tb{position:relative;padding:44px 0 50px;background:var(--cream)}
.tb__head{display:flex;justify-content:space-between;align-items:center;gap:20px 40px;flex-wrap:wrap;margin-bottom:26px}
.tb__title{margin:0;font-size:clamp(1.15rem,1.7vw,1.45rem);font-weight:800;color:var(--ink);letter-spacing:-.01em;max-width:620px}
.tb__title span{color:var(--green-600)}
.tb__facts{list-style:none;margin:0;padding:0;display:flex;gap:10px;flex-wrap:wrap}
.tb__facts li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid #e3e9df;font-size:.86rem;font-weight:600;color:var(--ink)}
.tb__facts .icon{width:16px;height:16px;color:var(--green-600)}
.tb__marquee{display:flex;overflow:hidden;gap:18px;padding:6px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.tb__track{list-style:none;margin:0;padding:0;display:flex;gap:18px;flex:none;animation:tbScroll 48s linear infinite}
.tb__marquee:hover .tb__track{animation-play-state:paused}
.tb__track li{flex:none;width:180px;height:86px;border-radius:10px;background:var(--bg,#fff);border:1px solid #e6ebe2;display:grid;place-items:center;padding:14px 20px;box-shadow:0 10px 24px -20px rgba(13,65,29,.5)}
.tb__track li.is-dark{border-color:transparent}
.tb__track img{max-width:100%;max-height:46px;width:auto;height:auto;object-fit:contain;filter:grayscale(1) contrast(1.05);opacity:.78;transition:filter .3s,opacity .3s}
.tb__track li.is-dark img{opacity:.95}
.tb__track li:hover img{filter:none;opacity:1}
@keyframes tbScroll{to{transform:translateX(calc(-100% - 18px))}}
.tb__reviews{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:30px}
.tb__reviews>span{font-family:var(--font-hand);font-size:1.3rem;color:var(--green-600);margin-right:6px}
.rv{display:block;border-radius:8px;overflow:hidden;background:#fff;border:1px solid #e3e9df;box-shadow:0 10px 24px -20px rgba(13,65,29,.5);transition:transform .2s,box-shadow .2s}
.rv:hover{transform:translateY(-2px);box-shadow:0 16px 30px -20px rgba(13,65,29,.6)}
.rv img{display:block;width:170px;height:auto}
@media (max-width:640px){.tb{padding:34px 0 40px}.tb__track li{width:140px;height:72px}.tb__track img{max-height:38px}.rv img{width:104px}.tb__reviews>span{width:100%;text-align:center;margin:0}}
@media (prefers-reduced-motion:reduce){.tb__track{animation:none}.tb__marquee{overflow-x:auto}}
/* OrderPad CTA row, SynvoraBot link */
.op-split__cta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:40px}
.sbot__link{margin:30px 0 0;text-align:center}
.sbot__link a{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:8px;background:var(--yellow);color:var(--ink);font-weight:700}
.sbot__link a:hover{color:var(--ink);transform:translateY(-1px)}
.sbot__link .icon{width:18px;height:18px}
/* case study page */
.csd__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,4vw,60px);align-items:start}
.csd__facts{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.csd__facts li{padding:14px 16px;border-radius:8px;background:#fff;border:1px solid #e3e9df}
.csd__facts small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.csd__facts b{display:block;color:var(--ink);margin-top:2px}
.csd__block{margin-top:30px}
.csd__block h2{font-size:1.4rem;margin:0 0 10px}
.csd__block .chev{margin:0}
.csd__shots{display:grid;gap:16px}
.csd__shots .rw-browser img{display:block;width:100%}
.csd__quote{margin:34px 0 0;padding:22px 24px;border-left:4px solid var(--yellow);background:#fff;border-radius:0 10px 10px 0;font-family:var(--font-hand);font-size:1.35rem;color:var(--ink);line-height:1.4}
@media (max-width:960px){.csd__grid{grid-template-columns:minmax(0,1fr)}}
.tb__track img{opacity:.9}.tb__track img[src*="kodiak"],.tb__track img[src*="on-my-feet"]{max-height:62px}

/* ===================== v26 spacing, trust join, reviews, bot, workflow ===================== */
/* tighter vertical rhythm */
.section{padding:68px 0}
.wf{padding:56px 0 64px}
.rp{padding-top:72px!important;padding-bottom:72px!important}
.section-head{margin-bottom:34px}
.pv-trans{margin-bottom:22px!important}
.pv-trans::before{height:22px!important;margin-bottom:8px!important}
section.wf,section.rp,section.cov{padding-top:56px}
.why .center,#why p.center{margin-top:30px!important}
/* trust band sits on the page background, so hero zigzag flows straight in */
.tb{background:transparent;padding:30px 0 10px}
.tb+#solutions{padding-top:44px}
/* review logos */
.rv{display:grid;place-items:center;width:178px;height:64px;padding:12px 20px}
.rv img{width:auto!important;max-width:100%;max-height:30px;height:auto}
.rv img[src*="clutch"]{max-height:26px}
.rv img[src*="goodfirms"]{max-height:32px}
@media (max-width:640px){.rv{width:108px;height:50px;padding:10px 12px}.rv img{max-height:20px}.rv img[src*="goodfirms"]{max-height:22px}}
/* workflow: both columns the same height */
.wf__grid{align-items:stretch}
.wf__copy{display:flex}
.wf__steps{flex:1;display:flex;flex-direction:column;gap:10px;margin:0}
.wf__steps li{flex:1;align-content:center}
@media (max-width:1100px){.wf__copy{display:block}.wf__steps li{flex:none}}
/* SynvoraBot: calmer header and use-case card */
.sbot{padding:clamp(22px,3vw,40px)}
.sbot__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 48px;align-items:end;max-width:none;margin-bottom:26px}
.sbot__head .sbot__tag{grid-column:1/-1;justify-self:start}
.sbot__head h3{margin:6px 0 0;font-size:clamp(1.6rem,2.4vw,2.1rem)}
.sbot__head p{margin:0;font-size:.98rem;line-height:1.6;color:#b9d1c0}
.sbot .iai{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:26px;padding:22px 24px;margin:0 0 22px}
.sbot .iai h3{font-size:1.15rem;margin:8px 0 6px}
.sbot .iai__head p{font-size:.92rem;margin:0}
.sbot .iai__flow li{padding:12px 10px}
.sbot .iai__flow span{width:34px;height:34px;margin-bottom:8px}
.sbot .iai__flow .icon{width:17px;height:17px}
.sbot .iai__flow b{font-size:.86rem}
.sbot .iai__flow small{font-size:.74rem}
@media (max-width:1060px){.sbot__head{grid-template-columns:minmax(0,1fr)}.sbot .iai{grid-template-columns:minmax(0,1fr)}}
.tb{background-color:var(--white);background-image:var(--grain),var(--fibres)}
.tb{background-color:transparent}

/* ===================== v27 Delivery Management screens ===================== */
.dms__tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.dms__tabs button{border:1px solid #dfe6db;background:#fff;color:var(--ink);font:600 .86rem var(--font-body);padding:8px 14px;border-radius:6px;cursor:pointer;transition:background .2s,color .2s}
.dms__tabs button.on{background:var(--green-900);border-color:var(--green-900);color:#fff}
.dms__shots{position:relative;aspect-ratio:16/11;border-radius:10px;overflow:hidden;box-shadow:0 30px 60px -36px rgba(13,65,29,.45);border:1px solid #e3e9df;background:#fff}
.dms__shot{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .45s}
.dms__shot.is-on{opacity:1;visibility:visible}
.dms__shot .rw-scroll img{object-position:50% 0;transition:object-position 9s ease-in-out}
.dms__shot:hover .rw-scroll img{object-position:50% 100%}
.dms .rw-note{margin-top:12px}
@media (max-width:760px){.dms__tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.dms__tabs button{flex:none}.dms__shots{aspect-ratio:4/4.2}}
/* v28 */
.sol-media--shot>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.dms-list li b{color:var(--ink)}
.sol-media--shot>img[src*="sol-"]{object-fit:contain;background:#edf3e9}.sol-media--shot:has(>img[src*="sol-"]){background:#edf3e9}

/* ===================== v29 Company page ===================== */
.co-hero{padding:110px 0 120px}
.co-hero__lead{max-width:620px;margin:6px auto 14px;font-size:1.12rem;color:#d6e6da}
.co-hero .eyebrow{color:var(--yellow)}
.co-story__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px);align-items:center}
.co-story__copy>p{font-size:1rem;line-height:1.7;margin:0 0 22px;max-width:620px}
.co-story__copy .section-sub{margin-bottom:16px}
.co-facts{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.co-facts li{display:flex;gap:10px;align-items:flex-start;padding:14px;border-radius:10px;background:#fff;border:1px solid #e3e9df}
.co-facts .icon{width:36px;height:36px;padding:8px;border-radius:8px;background:var(--green-900);color:var(--yellow);flex:none}
.co-facts b{display:block;color:var(--ink);font-size:.98rem}
.co-facts span{font-size:.84rem;line-height:1.4}
.co-story__img{position:relative;margin:0;border-radius:12px;overflow:hidden;box-shadow:0 30px 60px -34px rgba(13,65,29,.5);transform:rotate(1deg)}
.co-story__img img{display:block;width:100%;height:auto}
.co-story__img figcaption{position:absolute;left:18px;bottom:18px;right:18px;padding:12px 16px;border-radius:8px;background:rgba(255,255,255,.92);font-size:.92rem;color:var(--ink)}
.co-vm__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.co-vm__card{padding:clamp(26px,3vw,42px);border-radius:12px;background:#fff;border:1px solid #e3e9df}
.co-vm__card h3{font-size:clamp(1.5rem,2.2vw,2rem);margin:16px 0 10px}
.co-vm__card p{font-size:1.05rem;line-height:1.7;margin:0}
.co-vm__ic{width:54px;height:54px;border-radius:10px;background:var(--green-50);color:var(--green-600);display:grid;place-items:center}
.co-vm__ic .icon{width:26px;height:26px}
.co-vm__card--dark{background:var(--green-900);border-color:var(--green-900);color:#cfe2d4;background-image:var(--grain-l),radial-gradient(500px 300px at 100% 0,rgba(58,162,87,.35),transparent 70%)}
.co-vm__card--dark h3{color:#fff}.co-vm__card--dark .co-vm__ic{background:var(--yellow);color:var(--green-900)}
.co-ind__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.co-ind{padding:24px 20px;border-radius:10px;background:#fff;border:1px solid #e3e9df;transition:transform .25s,box-shadow .25s,border-color .25s}
.co-ind:hover{transform:translateY(-4px);border-color:var(--green-600);box-shadow:0 22px 44px -30px rgba(13,65,29,.5)}
.co-ind__ic{width:48px;height:48px;border-radius:10px;background:var(--green-900);color:var(--yellow);display:grid;place-items:center;margin-bottom:14px}
.co-ind__ic .icon{width:24px;height:24px}
.co-ind h3{font-size:1.08rem;margin:0 0 6px}
.co-ind p{margin:0;font-size:.9rem;line-height:1.55}
.co-val__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.co-val{position:relative;padding:26px 24px;border-radius:10px;background:#fff;border:1px solid #e3e9df;overflow:hidden}
.co-val__n{position:absolute;right:18px;top:10px;font-family:var(--font-display);font-size:3rem;font-weight:700;color:var(--green-50)}
.co-val__ic{width:44px;height:44px;border-radius:8px;background:var(--green-50);color:var(--green-600);display:grid;place-items:center;margin-bottom:14px;position:relative}
.co-val__ic .icon{width:22px;height:22px}
.co-val h3{font-size:1.12rem;margin:0 0 6px;position:relative}
.co-val p{margin:0;font-size:.94rem;line-height:1.6;position:relative}
.co-val:nth-child(2){background:#fffcf1;border-color:#f1e3b1}.co-val:nth-child(2) .co-val__ic{background:var(--yellow);color:var(--green-900)}
.co-team__grid{display:grid;grid-template-columns:repeat(2,minmax(0,380px));gap:28px}
.co-person{background:#fff;border-radius:10px;overflow:hidden;border:1px solid #e3e9df;box-shadow:0 26px 50px -38px rgba(13,65,29,.5)}
.co-person__img{position:relative;margin:0;aspect-ratio:4/5;overflow:hidden;background:#e9eee6}
.co-person__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.co-person:hover .co-person__img img{transform:scale(1.04)}
.co-person__social{position:absolute;right:14px;bottom:14px;display:flex;gap:8px}
.co-person__social a{width:38px;height:38px;border-radius:8px;background:#fff;color:var(--green-900);display:grid;place-items:center;box-shadow:0 8px 18px -10px rgba(0,0,0,.4)}
.co-person__social a:hover{background:var(--yellow)}
.co-person__social .icon{width:18px;height:18px}
.co-person__body{padding:20px 22px 24px}
.co-person__role{display:inline-block;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green-600);background:var(--green-50);padding:4px 10px;border-radius:6px}
.co-person h3{font-size:1.5rem;margin:10px 0 6px}
.co-person p{margin:0;font-size:.94rem;line-height:1.6}
.co-clients{padding:46px 0 20px}
.co-cta__card{display:flex;align-items:center;justify-content:space-between;gap:24px 40px;flex-wrap:wrap;padding:clamp(28px,4vw,48px);border-radius:12px;background:var(--green-900);color:#cfe2d4;background-image:var(--grain-l),radial-gradient(600px 360px at 100% 0,rgba(58,162,87,.35),transparent 70%)}
.co-cta__card h2{color:#fff;font-size:clamp(1.7rem,2.8vw,2.4rem);margin:0 0 8px}
.co-cta__card p{margin:0;max-width:560px}
.co-cta__btns{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.co-cta__phone{color:#cfe2d4;font-weight:600}.co-cta__phone:hover{color:var(--yellow)}
@media (max-width:1100px){.co-ind__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.co-val__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.co-story__grid{grid-template-columns:minmax(0,1fr)}.co-story__img{transform:none;max-width:560px}.co-vm__grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.co-facts{grid-template-columns:minmax(0,1fr)}.co-ind__grid,.co-val__grid,.co-team__grid{grid-template-columns:minmax(0,1fr)}.co-hero{padding:80px 0 90px}}
.co-team__grid{grid-template-columns:repeat(2,minmax(0,420px));justify-content:center}@media (max-width:640px){.co-team__grid{grid-template-columns:minmax(0,1fr)}}

/* ===================== v30 Company page (modern) ===================== */
.ab-hero{position:relative;padding:70px 0 90px;background:var(--green-900);color:#cfe2d4;overflow:hidden;background-image:var(--grain-l),radial-gradient(800px 500px at 85% 20%,rgba(58,162,87,.4),transparent 70%)}
.ab-hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,5vw,80px);align-items:center}
.ab-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);font-size:.84rem;font-weight:600;color:#e3efe6}
.ab-pill i{width:8px;height:8px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 4px rgba(248,194,42,.2)}
.ab-hero h1{color:#fff;font-size:clamp(2.5rem,5vw,4.4rem);line-height:1.04;letter-spacing:-.03em;margin:20px 0 18px}
.ab-hero p{font-size:1.12rem;line-height:1.7;max-width:560px;margin:0 0 30px}
.ab-hero__btns{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.ab-link{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:700}.ab-link .icon{width:18px;height:18px}.ab-link:hover{color:var(--yellow)}
.ab-hero__art{position:relative;padding:30px 30px 40px}
.ab-hero__photo{margin:0;border-radius:12px;overflow:hidden;transform:rotate(2deg);box-shadow:0 40px 80px -40px rgba(0,0,0,.7);border:6px solid rgba(255,255,255,.08)}
.ab-hero__photo img{display:block;width:100%;aspect-ratio:1/1.05;object-fit:cover;object-position:60% 30%}
.ab-chip{position:absolute;background:#fff;color:var(--ink);border-radius:10px;padding:12px 16px;box-shadow:0 20px 40px -20px rgba(0,0,0,.5)}
.ab-chip b{display:block;font-size:1.5rem;font-weight:800;line-height:1.1}.ab-chip span{font-size:.82rem;color:var(--muted);font-weight:600}
.ab-chip--1{left:0;top:18%;transform:rotate(-3deg)}
.ab-chip--1 b{color:var(--green-600)}
.ab-chip--2{right:-6px;bottom:22%;display:flex;gap:10px;align-items:center}
.ab-chip--2 small{display:block;font-size:.74rem;color:var(--muted);font-weight:600}.ab-chip--2 b{font-size:.95rem}
.ab-chip__dot{width:10px;height:10px;border-radius:50%;background:#3aa257;box-shadow:0 0 0 5px rgba(58,162,87,.2)}
.ab-chip--3{left:10%;bottom:0;background:var(--yellow)}.ab-chip--3 span{color:var(--green-900)}
.ab-stats-wrap{position:relative;margin-top:-46px;z-index:2}
.ab-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border-radius:10px;border:1px solid #e3e9df;box-shadow:0 30px 60px -40px rgba(13,65,29,.5)}
.ab-stat{padding:26px 26px 24px}
.ab-stat+.ab-stat{border-left:1px solid #edf0ea}
.ab-stat b{display:block;font-size:clamp(2.2rem,3.6vw,3.2rem);font-weight:900;color:var(--green-900);letter-spacing:-.03em;line-height:1}
.ab-stat strong{display:block;margin:8px 0 2px;color:var(--ink);font-size:1rem}
.ab-stat small{font-size:.86rem;color:var(--muted)}
.ab-story{padding-top:90px}
.ab-story__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:start}
.ab-quote{margin:26px 0 0;padding:22px 24px;border-radius:10px;background:var(--green-50);font-family:var(--font-hand);font-size:1.45rem;line-height:1.35;color:var(--green-900)}
.ab-quote cite{display:block;margin-top:8px;font:600 .82rem var(--font-body);font-style:normal;color:var(--muted)}
.ab-jr{list-style:none;margin:0;padding:0 0 0 22px;border-left:2px dashed #cfdcc8;display:grid;gap:18px}
.ab-jr__item{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;padding:18px 20px;border-radius:10px;background:#fff;border:1px solid #e3e9df}
.ab-jr__item::before{content:"";position:absolute;left:-31px;top:26px;width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid var(--green-600)}
.ab-jr__item:last-child{background:var(--green-900);border-color:var(--green-900);color:#cfe2d4}
.ab-jr__item:last-child::before{border-color:var(--yellow)}
.ab-jr__item:last-child h3{color:#fff}
.ab-jr__yr{min-width:66px;padding:6px 10px;border-radius:6px;background:var(--yellow);color:var(--green-900);font-weight:800;font-size:.88rem;text-align:center}
.ab-jr h3{font-size:1.1rem;margin:0 0 4px}.ab-jr p{margin:0;font-size:.94rem;line-height:1.55}
.ab-vp{padding-top:20px}
.ab-vp__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:22px}
.ab-vision{padding:clamp(28px,4vw,52px);border-radius:12px;background:var(--green-900);color:#cfe2d4;background-image:var(--grain-l),radial-gradient(500px 340px at 100% 100%,rgba(248,194,42,.18),transparent 70%)}
.ab-vision .eyebrow,.ab-promise .eyebrow{color:var(--yellow)}
.ab-promise .eyebrow{color:var(--green-600)}
.ab-vision h2{color:#fff;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.12;letter-spacing:-.02em;margin:8px 0 16px}
.ab-vision p{font-size:1.04rem;line-height:1.7;margin:0;max-width:560px}
.ab-promise{padding:clamp(26px,3vw,40px);border-radius:12px;background:#fff;border:1px solid #e3e9df}
.ab-promise h3{font-size:1.25rem;margin:6px 0 16px}
.ab-promise ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ab-promise li{display:flex;gap:12px;align-items:flex-start}
.ab-promise li .icon{width:38px;height:38px;padding:9px;border-radius:8px;background:var(--green-50);color:var(--green-600);flex:none}
.ab-promise b{display:block;color:var(--ink)}.ab-promise li span{font-size:.92rem}
.ab-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ab-val{padding:24px;border-radius:10px;background:#fff;border:1px solid #e3e9df;transition:transform .25s,box-shadow .25s}
.ab-val:hover{transform:translateY(-4px);box-shadow:0 24px 44px -32px rgba(13,65,29,.5)}
.ab-val--wide{grid-column:span 2;background:var(--green-50);border-color:#d6e7d0}
.ab-val:nth-child(6){background:#fffcf1;border-color:#f1e3b1}
.ab-val__ic{width:46px;height:46px;border-radius:10px;background:var(--green-900);color:var(--yellow);display:grid;place-items:center;margin-bottom:16px}
.ab-val__ic .icon{width:22px;height:22px}
.ab-val h3{font-size:1.2rem;margin:0 0 6px}.ab-val p{margin:0;font-size:.95rem;line-height:1.6}
.ab-work__rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px var(--gutter) 18px;scrollbar-width:thin}
.ab-work__card{flex:0 0 clamp(260px,26vw,360px);scroll-snap-align:start;border-radius:10px;overflow:hidden;background:#fff;border:1px solid #e3e9df}
.ab-work__card figure{margin:0;height:230px;overflow:hidden;background:#eef3ea}
.ab-work__card img{width:100%;height:100%;object-fit:cover;object-position:50% 0;transition:transform .5s}
.ab-work__card:hover img{transform:scale(1.04)}
.ab-work__card--phone figure{display:grid;place-items:end center;padding-top:18px}
.ab-work__card--phone img{width:46%;height:auto;border-radius:16px 16px 0 0;border:5px solid #0b0b0b;border-bottom:0}
.ab-work__card div{padding:14px 18px 18px}.ab-work__card b{display:block;color:var(--ink);font-size:1.05rem}.ab-work__card small{color:var(--muted);font-weight:600}
.ab-inds{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ab-inds li{padding:8px 14px;border-radius:999px;background:#fff;border:1px solid #e3e9df;font-size:.88rem;font-weight:600;color:var(--ink)}
.ab-models__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ab-model{padding:28px 26px;border-radius:10px;background:#fff;border:1px solid #e3e9df}
.ab-model--hl{background:var(--green-900);border-color:var(--green-900);color:#cfe2d4;transform:translateY(-10px);box-shadow:0 30px 60px -36px rgba(13,65,29,.7)}
.ab-model--hl h3{color:#fff}
.ab-model__ic{width:50px;height:50px;border-radius:10px;background:var(--green-50);color:var(--green-600);display:grid;place-items:center;margin-bottom:16px}
.ab-model--hl .ab-model__ic{background:var(--yellow);color:var(--green-900)}
.ab-model__ic .icon{width:24px;height:24px}
.ab-model h3{font-size:1.3rem;margin:0 0 8px}.ab-model p{margin:0 0 16px;font-size:.96rem}
.ab-model ul{list-style:none;margin:0;padding:14px 0 0;border-top:1px dashed #dfe6db;display:grid;gap:8px}
.ab-model--hl ul{border-color:rgba(255,255,255,.15)}
.ab-model li{display:flex;gap:8px;align-items:center;font-size:.92rem;font-weight:600}
.ab-model li .icon{width:16px;height:16px;color:var(--green-600);stroke-width:2.6}.ab-model--hl li .icon{color:var(--yellow)}
.ab-team__grid{display:grid;grid-template-columns:minmax(0,1fr) repeat(2,minmax(0,1fr));gap:24px;align-items:end}
.ab-team__intro{align-self:center}.ab-team__intro .btn{margin-top:22px}
.ab-person{position:relative;border-radius:12px;overflow:hidden}
.ab-person figure{margin:0;aspect-ratio:4/5}
.ab-person img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.ab-person:hover img{transform:scale(1.04)}
.ab-person__card{position:absolute;left:14px;right:14px;bottom:14px;padding:16px 18px;border-radius:10px;background:rgba(255,255,255,.95);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;backdrop-filter:blur(6px)}
.ab-person__card h3{margin:0;font-size:1.35rem}.ab-person__card span{font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green-600)}
.ab-person__links{display:flex;gap:6px}
.ab-person__links a{width:34px;height:34px;border-radius:6px;background:var(--green-900);color:#fff;display:grid;place-items:center}
.ab-person__links a:hover{background:var(--yellow);color:var(--green-900)}
.ab-person__links .icon{width:16px;height:16px}
.ab-person__card p{grid-column:1/-1;margin:6px 0 0;font-size:.88rem;line-height:1.5;max-height:0;opacity:0;overflow:hidden;transition:max-height .4s,opacity .3s}
.ab-person:hover .ab-person__card p,.ab-person:focus-within .ab-person__card p{max-height:120px;opacity:1}
@media (max-width:1100px){.ab-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-team__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-team__intro{grid-column:1/-1}}
@media (max-width:960px){.ab-hero__grid,.ab-story__grid,.ab-vp__grid{grid-template-columns:minmax(0,1fr)}.ab-hero__art{max-width:520px}.ab-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-stat:nth-child(3){border-left:0}.ab-stat:nth-child(n+3){border-top:1px solid #edf0ea}.ab-models__grid{grid-template-columns:minmax(0,1fr)}.ab-model--hl{transform:none}}
@media (max-width:640px){.ab-bento{grid-template-columns:minmax(0,1fr)}.ab-val--wide{grid-column:auto}.ab-team__grid{grid-template-columns:minmax(0,1fr)}.ab-person__card p{max-height:none;opacity:1}.ab-hero__art{padding:20px 10px 30px}.ab-chip b{font-size:1.15rem}.ab-stat{padding:20px 16px}}

/* ===================== v31 Company page: tighter radius + rotating city ===================== */
.ab .btn{border-radius:6px}.ab .btn__icon{border-radius:4px}
.ab-hero__photo{border-radius:8px;border-width:4px}
.ab-chip{border-radius:6px}
.ab-stats{border-radius:8px}
.ab-quote{border-radius:6px}
.ab-jr__item{border-radius:6px}.ab-jr__yr{border-radius:4px}
.ab-vision,.ab-promise{border-radius:8px}
.ab-promise li .icon{border-radius:6px}
.ab-bento{gap:12px}.ab-val{border-radius:6px;padding:20px}
.ab-val__ic{border-radius:6px;width:42px;height:42px;margin-bottom:14px}
.ab-work__card{border-radius:6px}
.ab-work__card--phone img{border-radius:12px 12px 0 0}
.ab-models__grid{gap:16px}.ab-model{border-radius:8px}.ab-model__ic{border-radius:6px}
.ab-person{border-radius:8px}.ab-person__card{border-radius:6px}.ab-person__links a{border-radius:5px}
.ab .co-cta__card{border-radius:8px}
.ab .tb__track li{border-radius:6px}
/* rotating word */
.ab-rot{display:inline-block;position:relative;vertical-align:bottom;white-space:nowrap;color:var(--yellow);transition:color .4s}
.ab-rot.is-done{color:inherit}
.ab-rot__w{display:inline-block}
.ab-rot__w.is-out{animation:abRotOut .28s ease-in forwards}
.ab-rot__w.is-in{animation:abRotIn .32s ease-out}
@keyframes abRotOut{to{opacity:0;transform:translateY(-.35em)}}
@keyframes abRotIn{from{opacity:0;transform:translateY(.35em)}to{opacity:1;transform:none}}

/* v32 global radius system: cards 8-10, media/CTA 12, buttons 6, pills unchanged */
.btn{border-radius:6px}.btn__icon{border-radius:4px}

/* ===================== v32 Work cards → case studies ===================== */
.ab-work__card{flex-basis:clamp(290px,30vw,420px);display:flex;flex-direction:column;color:inherit;text-decoration:none;transition:transform .25s,box-shadow .25s}
.ab-work__card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -34px rgba(13,65,29,.55)}
.ab-work__card figure{height:260px}
.ab-work__card>div{padding:16px 20px 20px;display:flex;flex-direction:column;gap:4px;flex:1}
.ab-work__card .ab-work__who{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green-600)}
.ab-work__card--product .ab-work__who{color:#9a7400}
.ab-work__card b{font-size:1.15rem}
.ab-work__line{font-size:.92rem;line-height:1.5;color:var(--muted)}
.ab-work__more{margin-top:auto;padding-top:10px;display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.9rem;color:var(--green-900)}
.ab-work__more .icon{width:16px;height:16px;transition:transform .2s}
.ab-work__card:hover .ab-work__more{color:var(--green-600)}.ab-work__card:hover .ab-work__more .icon{transform:translateX(3px)}
/* case study detail */
.csd__block{position:relative;padding:22px 22px 22px 70px;border-radius:10px;background:#fff;border:1px solid #e3e9df;margin-top:16px}
.csd__block:first-of-type{margin-top:28px}
.csd__step{position:absolute;left:20px;top:22px;width:34px;height:34px;border-radius:6px;background:var(--green-900);color:var(--yellow);display:grid;place-items:center;font-weight:800;font-size:.85rem}
.csd__block h2{font-size:1.25rem}
.csd__block p{margin:0}
.csd__ba{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.csd__ba>div{padding:14px 16px;border-radius:8px;background:#f6f5f0}
.csd__ba>div.is-after{background:var(--green-50)}
.csd__ba small{display:block;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.csd__ba .is-after small{color:var(--green-600)}
.csd__ba ul{margin:0;padding-left:18px;display:grid;gap:6px;font-size:.9rem;line-height:1.45}
.csd__btns{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}
.csd__phones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px;border-radius:12px;background:var(--green-50)}
.csd__phones figure{margin:0;border-radius:18px;padding:5px;background:#0b0b0b;box-shadow:0 20px 40px -24px rgba(0,0,0,.6)}
.csd__phones img{display:block;width:100%;border-radius:13px}
.csd__cap{margin:-6px 0 0;font-size:.85rem;color:var(--muted)}
.csd__more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.csd__more-card{display:flex;flex-direction:column;border-radius:10px;overflow:hidden;background:#fff;border:1px solid #e3e9df;color:inherit;text-decoration:none;transition:transform .25s,box-shadow .25s}
.csd__more-card:hover{transform:translateY(-4px);box-shadow:0 24px 44px -32px rgba(13,65,29,.5)}
.csd__more-card figure{margin:0;height:190px;overflow:hidden;background:#eef3ea}
.csd__more-card img{width:100%;height:100%;object-fit:cover;object-position:50% 0}
.csd__more-card div{padding:14px 18px 18px;display:grid;gap:4px}
.csd__more-card small{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green-600)}
.csd__more-card b{color:var(--ink);font-size:1.05rem}
.csd__more-card span{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.88rem;color:var(--green-900);margin-top:6px}
.csd__more-card .icon{width:16px;height:16px}
@media (max-width:960px){.csd__more-grid{grid-template-columns:minmax(0,1fr)}.csd__more-card{flex-direction:row}.csd__more-card figure{width:38%;height:auto;min-height:130px;flex:none}}
@media (max-width:560px){.csd__ba{grid-template-columns:minmax(0,1fr)}.csd__block{padding:18px 16px 18px 60px}.csd__step{left:14px;top:18px}.csd__phones{gap:8px;padding:10px}.ab-work__card figure{height:220px}}
/* v32b work grid on desktop */
.ab-work__card--cta{background:var(--green-900);border-color:var(--green-900);color:#cfe2d4;background-image:radial-gradient(400px 260px at 100% 0,rgba(248,194,42,.18),transparent 70%)}
.ab-work__card--cta>div{padding:28px 26px;justify-content:center}
.ab-work__card--cta .ab-work__who{color:var(--yellow)}
.ab-work__card--cta b{color:#fff;font-size:1.5rem;line-height:1.2;letter-spacing:-.01em}
.ab-work__card--cta .ab-work__line{color:#cfe2d4}
.ab-work__card--cta .ab-work__more,.ab-work__card--cta:hover .ab-work__more{color:var(--yellow)}
@media (min-width:961px){
  .ab-work__rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;overflow:visible;padding:6px 0 0}
  .ab-work__card{flex-basis:auto}
}
@media (max-width:960px){
  .ab-work__wrap{padding:0;max-width:none}
  .ab-work__rail{padding:6px 16px 18px;scroll-padding-left:16px}
  .ab-work__card{flex-basis:min(82vw,340px)}
  .ab-work__card--cta>div{padding:22px}
}
@media (max-width:960px){.csd__more-card{flex-direction:column}.csd__more-card figure{width:auto;height:170px;min-height:0}}

/* ===================== v33 consistent portfolio, 4 values, centred CTA phone ===================== */
.ab-work__card figure{position:relative}
.ab-work__tag{position:absolute;left:12px;top:12px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.94);color:var(--green-900);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 4px 12px -6px rgba(0,0,0,.4)}
.ab-work__card--product .ab-work__tag{background:var(--yellow)}
.ab-work__card>div{padding:20px 22px 22px;gap:8px}
.ab-work__card h3{margin:0;font-size:1.3rem;line-height:1.2;color:var(--ink);letter-spacing:-.01em}
.ab-work__card p{margin:0;font-size:1rem;line-height:1.5;color:var(--text,#4a5a4f)}
.ab-work__more{font-size:.98rem;padding-top:12px}
.ab-work__card--cta h3{color:#fff;font-size:1.6rem}
.ab-work__card--cta p{color:#cfe2d4}
.csd__more-card div{gap:6px}
.csd__more-card b{font-size:1.15rem}
.csd__more-card p{margin:0;font-size:.95rem;line-height:1.5}
.ab-bento--4{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ab-bento--4 .ab-val{padding:18px 18px 20px;background:#fff;border-color:#e3e9df}
.ab-bento--4 .ab-val__ic{width:38px;height:38px;margin-bottom:12px}
.ab-bento--4 .ab-val h3{font-size:1.1rem;margin-bottom:4px}
.ab-bento--4 .ab-val p{font-size:.92rem;line-height:1.5}
@media (max-width:1100px){.ab-bento--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.ab-bento--4{grid-template-columns:minmax(0,1fr)}}
.co-cta__btns{align-items:center;text-align:center}
.csd__more-card img[src*="xd-"]{object-fit:contain;object-position:50% 100%;padding-top:12px;background:var(--green-50)}

/* ===================== v34 SynvoraBot product page (sbx) ===================== */
.sbx{--sb-line:#e2e6dd;--sb-soft:#f4f5f0;--sb-panel:#fbfbf8}
.sbx-eyebrow{display:inline-block;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--green-600);margin-bottom:10px}
.sbx-head{max-width:720px;margin:0 0 34px}
.sbx-head p{font-size:1.06rem;line-height:1.6;margin:0;color:var(--muted)}
.sbx-head--row{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.sbx-head--row p{max-width:360px}
.sbx-fine{font-size:.82rem;color:var(--muted);margin:16px 0 0}
/* hero */
.sbx-hero{position:relative;padding:56px 0 70px;background:linear-gradient(180deg,#f3f5ee,rgba(243,245,238,0));overflow:hidden}
.sbx-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(13,65,29,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(13,65,29,.05) 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(900px 500px at 70% 30%,#000,transparent 75%);-webkit-mask-image:radial-gradient(900px 500px at 70% 30%,#000,transparent 75%);pointer-events:none}
.sbx-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,64px);align-items:center}
.sbx-kicker{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:999px;background:#fff;border:1px solid var(--sb-line);font-size:.84rem;font-weight:700;color:var(--green-900)}
.sbx-kicker__ic{width:28px;height:28px;border-radius:999px;background:var(--green-900);color:var(--yellow);display:grid;place-items:center}.sbx-kicker__ic .icon{width:16px;height:16px}
.sbx-hero h1{font-size:clamp(2.4rem,4.6vw,4rem);line-height:1.03;margin:20px 0 18px;color:var(--ink)}
.sbx-hero h1 span{display:block;color:var(--green-600)}
.sbx-lead{font-size:1.12rem;line-height:1.65;margin:0 0 22px;max-width:540px;color:#4b5a50}
.sbx-sys{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.sbx-sys li{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:8px;background:#fff;border:1px solid var(--sb-line);font-weight:700;font-size:.92rem;color:var(--green-900)}
.sbx-sys .icon{width:18px;height:18px;color:var(--green-600)}
.sbx-hero__btns{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.sbx-trust{display:flex;gap:10px;align-items:flex-start;margin:22px 0 0;font-size:.9rem;color:var(--muted);max-width:520px}
.sbx-trust .icon{width:20px;height:20px;flex:none;color:var(--green-600)}
/* app mock */
.sbx-app{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr);border-radius:12px;background:#fff;border:1px solid var(--sb-line);box-shadow:0 40px 80px -40px rgba(13,65,29,.45),0 2px 0 rgba(13,65,29,.04);overflow:hidden}
.sbx-app__side{background:var(--green-900);display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 0}
.sbx-app__side span{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;color:#9fc0a8}
.sbx-app__side span.is-on{background:rgba(255,255,255,.12);color:#fff}
.sbx-app__side .icon{width:18px;height:18px}
.sbx-app__side .sbx-app__logo{background:var(--yellow);color:var(--green-900);margin-bottom:10px}
.sbx-app__me{margin-top:auto}
.sbx-app__main{display:flex;flex-direction:column;min-width:0;background:var(--sb-panel)}
.sbx-app__top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--sb-line);background:#fff}
.sbx-app__top b{display:block;color:var(--ink);font-size:.95rem}.sbx-app__top small{color:var(--muted);font-size:.76rem}
.sbx-app__conn{display:inline-flex;align-items:center;gap:7px;font-size:.74rem;font-weight:700;color:var(--green-900);background:var(--green-50);padding:5px 10px;border-radius:999px;white-space:nowrap}
.sbx-dot{width:7px;height:7px;border-radius:50%;background:#3aa257;box-shadow:0 0 0 3px rgba(58,162,87,.2)}
.sbx-app__body{padding:16px;display:grid;gap:12px}
.sbx-app__ask,.sbx-win .sbx-app__ask{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 16px 16px;padding:8px 8px 8px 14px;border-radius:8px;background:#fff;border:1px solid var(--sb-line);color:#8a948c;font-size:.88rem}
.sbx-app__ask b{width:32px;height:32px;border-radius:6px;background:var(--yellow);color:var(--green-900);display:grid;place-items:center}.sbx-app__ask .icon{width:16px;height:16px}
.sbx-app__note{position:absolute;right:12px;bottom:-1px;margin:0;font-size:.7rem;color:var(--muted);background:#fff;padding:3px 8px;border:1px solid var(--sb-line);border-bottom:0;border-radius:6px 6px 0 0;display:none}
/* messages */
.sbx-msg{border-radius:10px;font-size:.92rem;line-height:1.5}
.sbx-msg--me{justify-self:end;max-width:86%;background:var(--green-900);color:#fff;padding:10px 14px;border-bottom-right-radius:3px}
.sbx-msg--bot{background:#fff;border:1px solid var(--sb-line);padding:14px;border-top-left-radius:3px;color:#3e4b42}
.sbx-msg--bot>p{margin:10px 0 8px}
.sbx-steps{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.sbx-steps li{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--muted)}
.sbx-steps i{width:16px;height:16px;border-radius:50%;background:var(--green-50);color:var(--green-600);display:grid;place-items:center;flex:none}
.sbx-steps i .icon{width:11px;height:11px;stroke-width:3}
.sbx-steps time{margin-left:auto;font-variant-numeric:tabular-nums;color:#9aa39c;font-size:.74rem}
.sbx-tag{display:inline-block;padding:2px 7px;border-radius:4px;font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;flex:none}
.sbx-tag--ord{background:#e8f0fb;color:#24508f}.sbx-tag--wms{background:#fdf2d4;color:#7a5800}.sbx-tag--dms{background:#e3f1e6;color:#1d6b36}
.sbx-att{display:grid;gap:6px}
.sbx-att__row{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border-radius:6px;background:var(--sb-soft);font-size:.82rem}
.sbx-att__row b{color:var(--ink)}
.sbx-st{font-style:normal;font-size:.7rem;font-weight:800;padding:3px 8px;border-radius:999px;white-space:nowrap}
.sbx-st--wait{background:#fff4d1;color:#8a6300}.sbx-st--ro{background:#eef0ec;color:#5b665e}.sbx-st--done{background:#dff1e4;color:#1d6b36}
.sbx-rec{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:8px;background:var(--green-50);font-size:.84rem;color:var(--green-900)}
.sbx-rec span{display:flex;gap:8px;align-items:flex-start}.sbx-rec .icon{width:16px;height:16px;flex:none;margin-top:2px;color:var(--green-600)}
.sbx-mini{border:0;background:var(--green-900);color:#fff;font:700 .78rem var(--font-body);padding:7px 12px;border-radius:6px;cursor:pointer}
/* demo */
.sbx-demo{background:#fff;border-top:1px solid var(--sb-line);border-bottom:1px solid var(--sb-line)}
.sbx-demo__grid{display:grid;grid-template-columns:minmax(0,.36fr) minmax(0,1fr);gap:24px;align-items:start}
.sbx-tabs{display:grid;gap:8px;position:sticky;top:96px}
.sbx-tab{display:flex;gap:12px;align-items:center;text-align:left;padding:14px;border-radius:10px;border:1px solid var(--sb-line);background:var(--sb-panel);cursor:pointer;font:inherit;color:inherit;transition:border-color .2s,background .2s,box-shadow .2s}
.sbx-tab:hover{border-color:#c9d6c4}
.sbx-tab.is-on{background:#fff;border-color:var(--green-600);box-shadow:inset 3px 0 0 var(--green-600),0 14px 30px -24px rgba(13,65,29,.5)}
.sbx-tab__ic{width:40px;height:40px;border-radius:8px;background:var(--green-50);color:var(--green-600);display:grid;place-items:center;flex:none}
.sbx-tab.is-on .sbx-tab__ic{background:var(--green-900);color:var(--yellow)}
.sbx-tab__ic .icon{width:20px;height:20px}
.sbx-tab b{display:block;color:var(--ink);font-size:1rem}.sbx-tab small{color:var(--muted);font-size:.84rem}
.sbx-tabs__note{display:flex;gap:8px;align-items:flex-start;margin:8px 2px 0;font-size:.84rem;color:var(--muted)}
.sbx-tabs__note .icon{width:18px;height:18px;flex:none;color:var(--green-600)}
.sbx-win{border-radius:12px;border:1px solid var(--sb-line);background:var(--sb-panel);overflow:hidden;box-shadow:0 30px 60px -44px rgba(13,65,29,.5)}
.sbx-win__bar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border-bottom:1px solid var(--sb-line)}
.sbx-win__bar .sbx-app__logo{width:30px;height:30px;border-radius:7px;background:var(--green-900);color:var(--yellow);display:grid;place-items:center}
.sbx-win__bar .sbx-app__logo .icon{width:16px;height:16px}
.sbx-win__bar b{color:var(--ink)}
.sbx-win__demo{margin-left:auto;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#8a6300;background:#fff4d1;padding:4px 8px;border-radius:4px}
.sbx-win__body{padding:18px;min-height:560px}
.sbx-panel{display:grid;gap:12px}
.sbx-panel[hidden]{display:none}
.sbx-panel__lbl{margin:0;font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sbx-sub{margin:0 0 8px!important;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#9aa39c}
.sbx-ans{margin:14px 0 12px!important;font-size:1.02rem;color:var(--ink)}
.sbx-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.sbx-kpis div{padding:10px 12px;border-radius:8px;background:var(--sb-soft)}
.sbx-kpis small{display:block;font-size:.74rem;color:var(--muted)}
.sbx-kpis b{font-size:1.3rem;color:var(--green-900);letter-spacing:-.02em}
.sbx-tbl{border:1px solid var(--sb-line);border-radius:8px;overflow:hidden;font-size:.84rem}
.sbx-tbl__h,.sbx-tbl__r{display:grid;grid-template-columns:var(--cols);gap:10px;padding:8px 12px;align-items:center}
.sbx-tbl__h{background:var(--sb-soft);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.sbx-tbl__r+.sbx-tbl__r{border-top:1px solid var(--sb-line)}
.sbx-tbl__r span:first-child{font-weight:700;color:var(--ink)}
.sbx-ok,.sbx-warn,.sbx-bad{font-style:normal;font-weight:700;font-size:.8rem}
.sbx-ok{color:#1d6b36}.sbx-warn{color:#8a6300}.sbx-bad{color:#b23a2a}
.sbx-trace{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;counter-reset:t}
.sbx-trace li{position:relative;padding:12px 10px;border-radius:8px;background:var(--sb-soft);border-top:3px solid #d5dbd1;font-size:.8rem}
.sbx-trace b{display:block;color:var(--ink);font-size:.86rem}.sbx-trace small{color:var(--muted)}
.sbx-trace .is-done{border-top-color:#3aa257}
.sbx-trace .is-block{border-top-color:#d0402b;background:#fdf0ed}.sbx-trace .is-block small{color:#b23a2a;font-weight:700}
.sbx-why{margin-top:12px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:10px 12px;border-left:3px solid var(--yellow);background:#fffcf1;border-radius:0 8px 8px 0;font-size:.86rem}
.sbx-why b{color:var(--ink)}.sbx-why p{margin:0}
.sbx-act{margin-top:12px;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 14px;border-radius:8px;background:var(--green-900);color:#cfe2d4}
.sbx-act small{display:block;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--yellow)}
.sbx-act p{margin:2px 0 0;font-size:.9rem;color:#fff}
.sbx-act__ctl{display:grid;justify-items:end;gap:8px;flex:none}
.sbx-act__ctl>div{display:flex;gap:6px}
.sbx-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;font:700 .82rem var(--font-body);padding:7px 12px;border-radius:6px;cursor:pointer}
.sbx-btn .icon{width:14px;height:14px;stroke-width:2.6}
.sbx-btn--ok{background:var(--yellow);border-color:var(--yellow);color:var(--green-900)}
.sbx-btn[disabled]{opacity:.55;cursor:default}
/* staged reveal */
.sbx-panel.is-play .sbx-steps li,.sbx-panel.is-play .sbx-ans,.sbx-panel.is-play .sbx-kpis,.sbx-panel.is-play .sbx-tbl,.sbx-panel.is-play .sbx-trace,.sbx-panel.is-play .sbx-why,.sbx-panel.is-play .sbx-act{opacity:0;transform:translateY(6px);animation:sbxIn .35s ease forwards}
@keyframes sbxIn{to{opacity:1;transform:none}}
/* map */
.sbx-map__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,72px);align-items:center}
.sbx-map__copy p{font-size:1.05rem;line-height:1.65;color:var(--muted)}
.sbx-where{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.sbx-where li{display:flex;gap:12px;align-items:flex-start}
.sbx-where .icon{width:36px;height:36px;padding:8px;border-radius:8px;background:var(--green-50);color:var(--green-600);flex:none}
.sbx-where b{display:block;color:var(--ink)}.sbx-where span{font-size:.94rem}
.sbx-diagram{padding:24px;border-radius:12px;background:#fff;border:1px solid var(--sb-line)}
.sbx-core{display:grid;justify-items:center;text-align:center;gap:4px;padding:20px;border-radius:10px;background:var(--green-900);color:#cfe2d4;margin:0 auto;max-width:440px}
.sbx-core__ic{width:42px;height:42px;border-radius:9px;background:var(--yellow);color:var(--green-900);display:grid;place-items:center;margin-bottom:4px}
.sbx-core b{color:#fff;font-size:1.25rem}.sbx-core small{font-size:.86rem}
.sbx-wires{display:block;width:100%;height:46px}
.sbx-wires path{fill:none;stroke:#9cc3a6;stroke-width:2;stroke-dasharray:5 5;vector-effect:non-scaling-stroke;animation:sbxDash 1.6s linear infinite}
@keyframes sbxDash{to{stroke-dashoffset:-20}}
.sbx-nodes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.sbx-nodes li{display:grid;justify-items:center;text-align:center;gap:4px;padding:14px 8px;border-radius:8px;border:1px solid var(--sb-line);background:var(--sb-panel)}
.sbx-nodes .icon{width:24px;height:24px;color:var(--green-600)}
.sbx-nodes b{color:var(--ink)}.sbx-nodes small{font-size:.76rem;line-height:1.35;color:var(--muted)}
/* capabilities */
.sbx-caps{background:var(--sb-soft)}
.sbx-caps__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.sbx-cap{padding:22px;border-radius:10px;background:#fff;border:1px solid var(--sb-line);display:flex;flex-direction:column}
.sbx-cap__ic{width:42px;height:42px;border-radius:8px;background:var(--green-900);color:var(--yellow);display:grid;place-items:center;margin-bottom:14px}
.sbx-cap__ic .icon{width:20px;height:20px}
.sbx-cap h3{font-size:1.2rem;margin:0 0 6px;color:var(--ink)}
.sbx-cap p{margin:0 0 14px;font-size:.94rem;line-height:1.55}
.sbx-cap q{margin-top:auto;display:block;padding:10px 12px;border-radius:8px;background:var(--sb-soft);font-size:.84rem;color:var(--green-900);quotes:"\201C" "\201D"}
/* trust */
.sbx-trust__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:24px;align-items:start}
.sbx-anat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;padding:22px;border-radius:12px;background:var(--sb-soft);border:1px solid var(--sb-line)}
.sbx-anat__card{padding:14px;border-radius:10px;background:#fff;border:1px solid var(--sb-line);display:grid;gap:10px;align-self:start;font-size:.86rem}
.sbx-anat__q{display:flex;gap:8px;align-items:center;font-weight:700;color:var(--ink)}.sbx-anat__q .icon{width:16px;height:16px;color:var(--green-600)}
.sbx-anat__a{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;padding:10px;border-radius:8px;background:var(--sb-soft)}
.sbx-anat__a>span:nth-child(2){font-size:.76rem;color:var(--muted);align-self:center}
.sbx-anat__a b,.sbx-anat__a>span:last-child{grid-column:1/-1}
.sbx-anat__a b{color:var(--ink)}
.sbx-anat__rec{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--green-900);font-weight:600}.sbx-anat__rec .icon{width:16px;height:16px;color:var(--green-600)}
.sbx-anat__list{margin:0;padding:0;list-style:none;counter-reset:a;display:grid;gap:10px}
.sbx-anat__list li{counter-increment:a;display:grid;grid-template-columns:26px minmax(0,1fr);gap:2px 10px;font-size:.88rem}
.sbx-anat__list li::before{content:counter(a);grid-row:span 2;width:24px;height:24px;border-radius:6px;background:var(--green-900);color:var(--yellow);display:grid;place-items:center;font-weight:800;font-size:.76rem}
.sbx-anat__list b{color:var(--ink)}.sbx-anat__list span{color:var(--muted)}
.sbx-ctl{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sbx-ctl li{display:flex;gap:14px;padding:16px;border-radius:10px;background:#fff;border:1px solid var(--sb-line)}
.sbx-ctl .icon{width:40px;height:40px;padding:9px;border-radius:8px;background:var(--green-50);color:var(--green-600);flex:none}
.sbx-ctl b{color:var(--ink)}.sbx-ctl p{margin:2px 0 0;font-size:.9rem;line-height:1.5}
/* implementation */
.sbx-impl{background:#fff;border-top:1px solid var(--sb-line)}
.sbx-impl__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,72px);align-items:start}
.sbx-impl p{font-size:1.04rem;line-height:1.65;color:var(--muted)}
.sbx-chips{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.sbx-chips li{padding:7px 12px;border-radius:999px;background:var(--sb-soft);border:1px solid var(--sb-line);font-size:.86rem;font-weight:600;color:var(--ink)}
.sbx-plan{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.sbx-plan li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:16px;padding:20px;border-radius:10px;border:1px solid var(--sb-line);background:var(--sb-panel)}
.sbx-plan li>span{width:48px;height:48px;border-radius:8px;background:var(--yellow);color:var(--green-900);display:grid;place-items:center;font-weight:900;font-size:1.05rem}
.sbx-plan h3{margin:0 0 4px;font-size:1.2rem;color:var(--ink)}.sbx-plan p{margin:0;font-size:.95rem}
/* cta */
.sbx-cta{padding-top:0;background:#fff}
.sbx-cta__card{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:clamp(26px,4vw,44px);border-radius:12px;background:var(--sb-soft);border:1px solid var(--sb-line);border-left:6px solid var(--green-600)}
.sbx-cta__card p{margin:0;color:var(--muted);max-width:560px}
.sbx-cta__btns{display:grid;justify-items:center;gap:12px;flex:none}
.sbx-cta__alt{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--green-900)}.sbx-cta__alt .icon{width:16px;height:16px}
/* responsive */
@media (max-width:1100px){.sbx-caps__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sbx-nodes{grid-template-columns:repeat(3,minmax(0,1fr))}.sbx-wires{display:none}.sbx-core{margin-bottom:12px}.sbx-anat{grid-template-columns:minmax(0,1fr)}}
@media (max-width:960px){
  .sbx-hero__grid,.sbx-map__grid,.sbx-impl__grid,.sbx-trust__grid{grid-template-columns:minmax(0,1fr)}
  .sbx-demo__grid{grid-template-columns:minmax(0,1fr)}
  .sbx-tabs{position:static;display:flex;overflow-x:auto;gap:8px;padding-bottom:4px;scrollbar-width:none}
  .sbx-tabs::-webkit-scrollbar{display:none}
  .sbx-tab{flex:0 0 auto;padding:10px 12px}.sbx-tab small{display:none}.sbx-tab__ic{width:32px;height:32px}
  .sbx-tabs__note{display:none}
  .sbx-trace{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sbx-cta__card{flex-direction:column;align-items:flex-start}.sbx-cta__btns{justify-items:start}
  .sbx-head--row{flex-direction:column;align-items:flex-start}
}
@media (max-width:640px){
  .sbx-hero{padding:34px 0 48px}
  .sbx-app{grid-template-columns:minmax(0,1fr)}.sbx-app__side{display:none}
  .sbx-app__top{flex-direction:column;align-items:flex-start}
  .sbx-att__row{grid-template-columns:auto minmax(0,1fr);}.sbx-att__row>span:nth-child(3){grid-column:1/-1}.sbx-att__row em{grid-column:1/-1;justify-self:start}
  .sbx-rec{flex-direction:column;align-items:flex-start}
  .sbx-win__body{padding:12px;min-height:0}
  .sbx-win__bar .sbx-app__conn{display:none}
  .sbx-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.sbx-kpis b{font-size:1.05rem}
  .sbx-tbl__h{display:none}
  .sbx-tbl__r{grid-template-columns:minmax(0,1fr);gap:2px}
  .sbx-tbl__r span:not(:first-child)::before{content:attr(data-l)": ";color:var(--muted);font-weight:600}
  .sbx-trace{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sbx-act{flex-direction:column;align-items:flex-start}.sbx-act__ctl{justify-items:start}
  .sbx-caps__grid,.sbx-nodes{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .sbx-caps__grid{grid-template-columns:minmax(0,1fr)}
  .sbx-steps time{display:none}
}
@media (prefers-reduced-motion:reduce){.sbx-panel.is-play *{animation:none!important;opacity:1!important;transform:none!important}.sbx-wires path{animation:none}}

/* ===================== v35 Subpage banner component (.subhero) =====================
   One banner for every inner page: breadcrumb, handwritten eyebrow, black + green heading,
   lead, optional buttons, optional right-hand media. Homepage keeps its video hero. */
.subhero{position:relative;background:var(--cream);padding:46px 0 92px;overflow:hidden}
.subhero::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 420px at 88% 10%,rgba(40,142,69,.12),transparent 70%),radial-gradient(500px 300px at 0% 100%,rgba(248,194,42,.12),transparent 70%);pointer-events:none}
.subhero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center}
.subhero--media .subhero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.subhero__copy{max-width:760px}
.crumbs{margin-bottom:22px}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.86rem;color:var(--muted)}
.crumbs li{display:inline-flex;align-items:center;gap:6px}
.crumbs li+li::before{content:"";width:6px;height:6px;border-right:1.6px solid #a9b3ab;border-top:1.6px solid #a9b3ab;transform:rotate(45deg);margin-right:4px}
.crumbs a{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-weight:600}
.crumbs a:hover{color:var(--green-600)}
.crumbs .icon{width:15px;height:15px}
.crumbs [aria-current]{color:var(--muted)}
.subhero .eyebrow{font-size:1.35rem}
.subhero__title{font-size:clamp(2.4rem,4.6vw,4.1rem);line-height:1.07;letter-spacing:-.025em;margin:4px 0 18px;color:var(--ink)}
.subhero__title .hl{color:var(--green-600)}
.subhero__lead{font-size:1.07rem;color:var(--text);max-width:560px;margin:0 0 28px}
.subhero__btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.subhero__photo{margin:0;border-radius:12px;overflow:hidden;box-shadow:0 40px 70px -40px rgba(13,65,29,.55)}
.subhero__photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
/* About banner: photo collage + rotating city on the light banner */
.subhero--about .ab-hero__art{padding:24px 24px 34px}
.subhero--about .ab-hero__photo{border-color:#fff}
.subhero--about .ab-rot{color:var(--green-600)}
.subhero--about .ab-rot.is-done{color:var(--green-600)}
.subhero--about .ab-link{color:var(--green-900)}
.subhero--about~.ab-stats-wrap{margin-top:-70px}
/* SynvoraBot banner extras */
.subhero .sbx-sys{margin-top:22px}
@media (max-width:960px){.subhero--media .subhero__grid{grid-template-columns:minmax(0,1fr)}.subhero{padding:30px 0 80px}.subhero__media{max-width:640px}}
@media (max-width:560px){.subhero__title{font-size:2.1rem}.subhero .eyebrow{font-size:1.2rem}.crumbs{margin-bottom:14px}}

/* ===================== v35 SynvoraBot guided demo ===================== */
.sbx-demo .section-head{max-width:760px}
.sbx-prog{list-style:none;margin:0;padding:10px 14px;display:flex;gap:6px;flex-wrap:wrap;background:#fff;border-bottom:1px solid var(--sb-line);counter-reset:none}
.sbx-prog li{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 5px;border-radius:999px;background:var(--sb-soft);font-size:.78rem;font-weight:700;color:#9aa39c;transition:background .25s,color .25s}
.sbx-prog li span{width:20px;height:20px;border-radius:50%;background:#e1e5de;color:#7b877f;display:grid;place-items:center;font-size:.7rem}
.sbx-prog li.is-on{background:var(--green-50);color:var(--green-900)}
.sbx-prog li.is-on span{background:var(--green-600);color:#fff}
.sbx-prog li.is-done{color:var(--green-900)}
.sbx-prog li.is-done span{background:var(--green-900);color:var(--yellow)}
.sbx-run{display:grid;justify-items:start;gap:10px;padding:18px;border-radius:10px;border:1px dashed #c9d6c4;background:#fff}
.sbx-run p{margin:0;font-size:.92rem;color:var(--text)}
.sbx-run .btn__icon .icon{width:14px;height:14px}
.sbx-out{display:grid;gap:14px}
.sbx-stage{transition:opacity .35s,transform .35s}
.sbx-stage.is-wait{display:none}
.sbx-stage.is-new{animation:sbxIn .35s ease}
.sbx-stage__h{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-family:var(--font-hand);font-size:1.15rem;color:var(--green-600)}
.sbx-stage__h span{width:22px;height:22px;border-radius:50%;background:var(--green-900);color:var(--yellow);display:grid;place-items:center;font:800 .72rem var(--font-body)}
.sbx-count{font:700 .74rem var(--font-body);font-style:normal;color:var(--green-900);background:var(--green-50);padding:2px 8px;border-radius:999px}
.sbx-step{transition:opacity .25s}
.sbx-step.is-wait{opacity:0}
.sbx-step.is-load i{background:transparent;border:2px solid #cfe0d2;border-top-color:var(--green-600);animation:sbxSpin .7s linear infinite}
.sbx-step.is-load i .icon{opacity:0}
.sbx-step.is-load time{visibility:hidden}
@keyframes sbxSpin{to{transform:rotate(360deg)}}
.sbx-out .sbx-ans{margin:0 0 10px!important}
.sbx-trace code{display:block;margin-top:6px;font:600 .74rem var(--font-body);color:var(--ink);background:#fff;border:1px solid var(--sb-line);border-radius:4px;padding:3px 6px}
.sbx-trace li{opacity:1}
.sbx-out.is-anim .sbx-trace li{animation:sbxIn .3s ease both}
.sbx-out.is-anim .sbx-trace li:nth-child(2){animation-delay:.12s}.sbx-out.is-anim .sbx-trace li:nth-child(3){animation-delay:.24s}.sbx-out.is-anim .sbx-trace li:nth-child(4){animation-delay:.36s}.sbx-out.is-anim .sbx-trace li:nth-child(5){animation-delay:.48s}.sbx-out.is-anim .sbx-trace li:nth-child(6){animation-delay:.6s}
.sbx-act__ctl.is-wait{visibility:hidden}
.sbx-act__ctl.is-new{animation:sbxIn .35s ease}
.sbx-btn.is-busy{pointer-events:none;opacity:.8}
.sbx-audit{margin:0;display:flex;gap:8px;align-items:center;font-size:.82rem;color:var(--green-900);padding:8px 12px;border-radius:6px;background:var(--green-50)}
.sbx-replay{justify-self:start;display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:4px 0;font:700 .86rem var(--font-body);color:var(--green-900);cursor:pointer}
.sbx-replay .icon{width:15px;height:15px}
.sbx-win__body{min-height:520px}
.sbx-win__demo{margin-left:auto}
/* ===================== v35 SynvoraBot flow diagram ===================== */
.sbx-map .section-head{margin-bottom:28px}
.sbx-diagram{padding:24px}
.sbx-core{display:flex;align-items:center;gap:14px;max-width:none;text-align:left;justify-items:start;padding:16px 18px}
.sbx-core__ic{margin:0;flex:none}
.sbx-core>div{flex:1}
.sbx-core b{display:block}
.sbx-core__q{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:800;color:var(--green-900);background:var(--yellow);padding:5px 10px;border-radius:999px}
.sbx-core__q .icon{width:14px;height:14px}
.sbx-wires{height:34px}
.sbx-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.sbx-flow li{position:relative;display:grid;justify-items:start;gap:3px;padding:14px;border-radius:8px;border:1px solid var(--sb-line);background:var(--sb-panel)}
.sbx-flow li+li::before{content:"";position:absolute;left:-16px;top:50%;width:14px;height:14px;transform:translateY(-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23288e45' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat}
.sbx-flow__n{position:absolute;right:10px;top:10px;font:800 .72rem var(--font-body);color:#9aa39c}
.sbx-flow__ic{width:36px;height:36px;border-radius:8px;background:var(--green-900);color:var(--yellow);display:grid;place-items:center;margin-bottom:6px}
.sbx-flow__ic .icon{width:18px;height:18px}
.sbx-flow b{color:var(--ink);font-size:1.05rem}
.sbx-flow strong{font-family:var(--font-hand);font-weight:400;font-size:1.1rem;color:var(--green-600);line-height:1.1}
.sbx-flow small{font-size:.8rem;line-height:1.4;color:var(--muted)}
.sbx-flow__notes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:18px;padding-top:16px;border-top:1px dashed var(--sb-line)}
.sbx-flow__notes p{margin:0;font-size:.9rem}
.sbx-flow__notes b{color:var(--ink)}
.sbx-map .sbx-where{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}
/* capabilities: equal, concise */
.sbx-cap p{min-height:2.9em}
.sbx-cap q{font-family:var(--font-hand);font-size:1.08rem;line-height:1.3}
.sbx-cta__card .section-title{margin-bottom:8px}
.sbx-cta__card p{color:var(--text)}
@media (max-width:1100px){.sbx-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.sbx-flow li+li::before{display:none}}
@media (max-width:640px){.sbx-flow{grid-template-columns:minmax(0,1fr);gap:22px}.sbx-flow li+li::before{display:block;left:50%;top:-18px;transform:translateX(-50%) rotate(90deg)}.sbx-flow__notes,.sbx-map .sbx-where{grid-template-columns:minmax(0,1fr)}.sbx-core{flex-wrap:wrap}.sbx-prog li{font-size:0;padding:4px}.sbx-prog li span{font-size:.7rem}.sbx-prog li.is-on{font-size:.74rem;padding-right:10px}}
.subhero{padding-bottom:72px;border-bottom:1px solid #e3e6dc}.subhero--about{padding-bottom:110px}
.sbx [hidden]{display:none!important}

/* v36 inner-page photo banner (all pages except Home and Company) */
.page-hero--photo{padding:110px 0 120px;background-color:var(--green-900)}
.page-hero--photo h1{max-width:980px;margin-left:auto;margin-right:auto;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.page-hero--photo .breadcrumbs{font-size:.95rem}
.page-hero--photo .breadcrumbs a{color:#fff;font-weight:700}
.page-hero--photo .breadcrumbs a:hover{color:var(--yellow)}
.page-hero--photo .breadcrumbs [aria-current]{color:#d6e6da}
@media (max-width:640px){.page-hero--photo{padding:70px 0 84px}}
/* SynvoraBot intro (was the banner) */
.sbx-intro{background:#fff;border-bottom:0;padding:40px 0 80px}
.sbx-intro .subhero__title{font-size:clamp(1.9rem,3.2vw,2.6rem)}

/* v36 inner-page banner (all pages except Home and Company): illustrated background, centred Amatic title, breadcrumb */
.page-hero--photo{padding:110px 0 120px;background-color:#0b3518;background-position:center;background-size:cover}
.page-hero--photo::before{background:radial-gradient(ellipse 42% 75% at 50% 50%,rgba(8,36,17,.7),rgba(8,36,17,.15) 75%,rgba(8,36,17,0))}
.page-hero--photo h1{max-width:980px;margin-left:auto;margin-right:auto}
.page-hero--photo .breadcrumbs{font-size:.95rem}
.page-hero--photo .breadcrumbs a{color:#fff;font-weight:700}
.page-hero--photo .breadcrumbs a:hover{color:var(--yellow)}
.page-hero--photo .breadcrumbs [aria-current]{color:#d6e6da}
@media (max-width:760px){.page-hero--photo{padding:72px 0 86px;background-size:auto 100%;background-position:8% center}.page-hero--photo::before{background:rgba(8,36,17,.55)}}
/* SynvoraBot intro section (below the banner) */
.sbx-intro{background:#fff;border-bottom:0;padding:40px 0 80px}
.sbx-intro .subhero__title{font-size:clamp(1.9rem,3.2vw,2.6rem)}

/* ===================== v37 Solution pages (.sp) — same tokens as homepage ===================== */
.sp-intro__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,5vw,72px);align-items:center}
.sp-btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.sp-intro__media .rw-browser img{display:block;width:100%}
.sp-intro__media .rw-browser,.sp-shot .rw-browser{box-shadow:0 30px 60px -36px rgba(13,65,29,.45)}
.sp-cap{display:flex;align-items:center;gap:8px;margin:14px 0 0;font-family:var(--font-hand);font-size:1.1rem;color:var(--green-600)}
.sp-cap .icon{width:18px;height:18px}
.sp-photo{border-radius:10px;overflow:hidden;background:#edf3e9}
.sp-photo img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.sp-photo--contain img{object-fit:contain}
.sp-mosaic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sp-mosaic .rw-browser img{display:block;width:100%}
.sp-mosaic .rw-browser:nth-child(2),.sp-mosaic .rw-browser:nth-child(4){transform:translateY(22px)}
/* problem / fix */
.sp-pf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sp-pf__card{border-radius:10px;overflow:hidden;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.sp-pf__before,.sp-pf__after{padding:18px 20px}
.sp-pf__before{background:#f6f5f0;flex:1}
.sp-pf__before p{color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(123,135,127,.45);margin:0}
.sp-pf__after{border-top:3px solid var(--green-600);flex:1}
.sp-pf__after p{color:var(--ink);font-weight:600;margin:0}
.sp-pf small{display:block;font-family:var(--font-hand);font-size:1.1rem;margin-bottom:4px;color:var(--muted)}
.sp-pf__after small{color:var(--green-600)}
/* features */
.sp-feat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sp-feat__card{padding:22px;border-radius:10px;background:#fff;border:1px solid var(--line);transition:transform .25s,box-shadow .25s}
.sp-feat__card:hover{transform:translateY(-4px);box-shadow:0 24px 44px -32px rgba(13,65,29,.5)}
.sp-feat__ic{width:44px;height:44px;border-radius:8px;background:var(--green-900);color:var(--yellow);display:grid;place-items:center;margin-bottom:14px}
.sp-feat__ic .icon{width:22px;height:22px}
.sp-feat__card h3{font-size:1.15rem;margin:0 0 6px}
.sp-feat__card p{margin:0;font-size:.95rem;line-height:1.55}
/* how it works */
.sp-how{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;position:relative}
.sp-how::before{content:"";position:absolute;left:6%;right:6%;top:30px;border-top:2px dashed #cfdcc8}
.sp-how li{position:relative;text-align:center;padding:0 8px}
.sp-how li>span{position:relative;display:inline-grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--yellow);color:var(--green-900);font-weight:900;font-size:1.1rem;margin-bottom:14px;box-shadow:0 0 0 8px var(--cream)}
.sp-how h3{font-size:1.15rem;margin:0 0 6px}
.sp-how p{margin:0;font-size:.95rem}
/* screens */
.sp-shots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.sp-shot{margin:0}
.sp-shot .rw-browser img{display:block;width:100%}
.sp-shot figcaption{margin-top:12px;font-size:.95rem;color:var(--text)}
.sp-shot figcaption b{display:block;color:var(--ink);font-size:1.05rem}
.sp-shot .csd__phones{background:var(--green-50)}
/* connects + bot + proof */
.sp-con{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,56px);align-items:start}
.sp-chips{list-style:none;margin:6px 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.sp-chips li{padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.9rem;font-weight:600;color:var(--ink)}
.sp-link{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--green-900)}
.sp-link .icon{width:16px;height:16px;transition:transform .2s}
.sp-link:hover .icon{transform:translateX(3px)}
.sp-con__side{display:grid;gap:16px}
.sp-bot{display:grid;gap:8px;padding:22px;border-radius:10px;background:var(--green-900);color:#cfe2d4;background-image:radial-gradient(360px 220px at 100% 0,rgba(248,194,42,.16),transparent 70%)}
.sp-bot__ic{width:40px;height:40px;border-radius:8px;background:var(--yellow);color:var(--green-900);display:grid;place-items:center}
.sp-bot__ic .icon{width:20px;height:20px}
.sp-bot small{font-family:var(--font-hand);font-size:1.15rem;color:var(--yellow)}
.sp-bot q{display:block;padding:10px 14px;border-radius:8px 8px 8px 2px;background:rgba(255,255,255,.1);color:#fff;font-weight:600}
.sp-bot__a{font-size:.94rem;line-height:1.5}
.sp-link--light{color:var(--yellow)}
.sp-proof{display:grid;grid-template-columns:150px minmax(0,1fr);border-radius:10px;overflow:hidden;background:#fff;border:1px solid var(--line);color:inherit;transition:transform .25s,box-shadow .25s}
.sp-proof:hover{transform:translateY(-3px);box-shadow:0 24px 44px -32px rgba(13,65,29,.5)}
.sp-proof figure{margin:0;background:var(--green-50)}
.sp-proof img{width:100%;height:100%;object-fit:cover;object-position:50% 0}
.sp-proof div{padding:16px 18px;display:grid;gap:4px}
.sp-proof small{font-family:var(--font-hand);font-size:1.05rem;color:var(--green-600)}
.sp-proof b{color:var(--ink);font-size:1.1rem}
.sp-proof p{margin:0;font-size:.92rem}
.sp-proof span{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.9rem;color:var(--green-900)}
.sp-proof span .icon{width:15px;height:15px}
/* faq */
.sp-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,64px);align-items:start}
.sp-faq .faq{margin-top:0}
/* other solutions */
.sp-others{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.sp-other{display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:10px;background:#fff;border:1px solid var(--line);color:inherit;transition:transform .25s,box-shadow .25s,border-color .25s}
.sp-other:hover{transform:translateY(-3px);border-color:var(--green-600);box-shadow:0 20px 40px -30px rgba(13,65,29,.5)}
.sp-other__ic{width:40px;height:40px;border-radius:8px;background:var(--green-50);color:var(--green-600);display:grid;place-items:center}
.sp-other__ic .icon{width:20px;height:20px}
.sp-other b{display:block;color:var(--ink)}
.sp-other small{color:var(--muted);font-size:.86rem}
.sp-other>.icon{width:18px;height:18px;color:var(--green-600);margin-top:auto}
@media (max-width:1100px){.sp-others{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:960px){.sp-intro__grid,.sp-con,.sp-faq{grid-template-columns:minmax(0,1fr)}.sp-pf,.sp-feat{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-how{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}.sp-how::before{display:none}.sp-shots{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.sp-pf,.sp-feat,.sp-how{grid-template-columns:minmax(0,1fr)}.sp-others{grid-template-columns:minmax(0,1fr)}.sp-other{flex-direction:row;align-items:center}.sp-other>.icon{margin:0 0 0 auto}.sp-proof{grid-template-columns:110px minmax(0,1fr)}.sp-mosaic .rw-browser:nth-child(2),.sp-mosaic .rw-browser:nth-child(4){transform:none}}
.sp-intro__media .rw-browser img{max-height:560px;object-fit:cover;object-position:top}
.sp-shot .rw-browser img{max-height:420px;object-fit:cover;object-position:top}
.sp-shot .csd__phones{padding:22px}
/* solutions hub */
.sol-hub__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sol-hub__card{display:flex;flex-direction:column;border-radius:10px;overflow:hidden;background:#fff;border:1px solid var(--line);color:inherit;transition:transform .25s,box-shadow .25s}
.sol-hub__card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -34px rgba(13,65,29,.55)}
.sol-hub__card figure{margin:0;height:210px;overflow:hidden;background:#eef3ea}
.sol-hub__card img{width:100%;height:100%;object-fit:cover;object-position:50% 0;transition:transform .5s}
.sol-hub__card:hover img{transform:scale(1.04)}
.sol-hub__card>div{position:relative;padding:28px 22px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.sol-hub__card .sp-feat__ic{position:absolute;top:-22px;left:22px;margin:0;border:3px solid #fff}
.sol-hub__card h3{font-size:1.25rem;margin:4px 0 0}
.sol-hub__card p{margin:0 0 8px;font-size:.96rem}
.sol-hub__card .sp-link{margin-top:auto}
@media (max-width:960px){.sol-hub__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.sol-hub__grid{grid-template-columns:minmax(0,1fr)}}

/* ===================== v38 Photo banners + people sections ===================== */
.page-hero--photo{background-size:cover;background-position:center 35%}
.page-hero--photo::before{background:linear-gradient(180deg,rgba(8,36,17,.55),rgba(8,36,17,.72)),linear-gradient(90deg,rgba(13,65,29,.55),rgba(13,65,29,.15) 50%,rgba(13,65,29,.55))}
@media (max-width:760px){.page-hero--photo{background-size:cover;background-position:center}.page-hero--photo::before{background:rgba(8,36,17,.66)}}
/* who it's for */
.sp-people{background:var(--green-900);color:#cfe2d4;overflow:hidden}
.sp-people__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:520px}
.sp-people__photo{margin:0;background-size:cover;background-repeat:no-repeat;min-height:320px;position:relative}
.sp-people__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,65,29,0) 60%,rgba(13,65,29,.9))}
.sp-people__copy{padding:clamp(40px,6vw,90px) clamp(20px,5vw,80px);align-self:center;max-width:680px}
.sp-people .eyebrow{color:var(--yellow)}
.sp-people .section-title{color:#fff}
.sp-people .section-title .hl{color:#8fd3a3}
.sp-roles{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:14px}
.sp-roles li{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.sp-roles__ic{width:40px;height:40px;border-radius:8px;background:var(--yellow);color:var(--green-900);display:grid;place-items:center;flex:none}
.sp-roles__ic .icon{width:20px;height:20px}
.sp-roles b{display:block;color:#fff;font-size:1.05rem}
.sp-roles p{margin:2px 0 0;font-size:.95rem;color:#cfe2d4}
@media (max-width:960px){.sp-people__grid{grid-template-columns:minmax(0,1fr)}.sp-people__photo{min-height:300px}.sp-people__photo::after{background:linear-gradient(180deg,rgba(13,65,29,0) 55%,rgba(13,65,29,.9))}}
/* contact photo */
.contact-photo{margin:28px 0 0;border-radius:10px;overflow:hidden;position:relative;max-width:520px}
.contact-photo img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:60% 30%}
.contact-photo figcaption{position:absolute;left:12px;right:12px;bottom:12px;padding:12px 14px;border-radius:8px;background:rgba(255,255,255,.95);font-size:.9rem;color:var(--text)}
.contact-photo figcaption b{display:block;color:var(--ink)}
/* 404 art */
.notfound__art{display:block;width:150px;height:150px;border-radius:12px;margin:0 auto 18px;object-fit:cover;box-shadow:0 20px 40px -24px rgba(0,0,0,.5)}
/* SynvoraBot CTA with photo */
.sbx-cta__card--photo{padding:0;overflow:hidden;align-items:stretch;gap:0}
.sbx-cta__card--photo>div{padding:clamp(24px,3.5vw,40px)}
.sbx-cta__card--photo>div:last-child{align-self:center}
.sbx-cta__photo{margin:0;flex:0 0 32%;min-height:240px}
.sbx-cta__photo img{width:100%;height:100%;object-fit:cover;object-position:40% 30%;display:block}
@media (max-width:960px){.sbx-cta__card--photo{flex-direction:column}.sbx-cta__photo{flex-basis:auto;min-height:220px;width:100%}}
/* v38b lighter photo tint: people visible, title still readable */
.page-hero--photo::before{background:radial-gradient(ellipse 46% 62% at 50% 50%,rgba(8,36,17,.62),rgba(8,36,17,.28) 70%,rgba(8,36,17,.18)),linear-gradient(180deg,rgba(8,36,17,.12),rgba(8,36,17,.4))}
.page-hero--photo h1{text-shadow:0 2px 18px rgba(0,0,0,.45)}
.page-hero--photo .breadcrumbs{text-shadow:0 1px 8px rgba(0,0,0,.5)}
@media (max-width:760px){.page-hero--photo::before{background:rgba(8,36,17,.5)}}
.sbx-cta__photo{flex-basis:28%}

/* v40 Integration intro: people collage */
.sp-intro--collage .sp-intro__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px)}
.sp-collage{position:relative;display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:1fr 1fr;gap:14px;height:clamp(420px,40vw,540px)}
.sp-collage figure{position:relative;margin:0;border-radius:12px;overflow:hidden;box-shadow:0 30px 60px -40px rgba(13,65,29,.55)}
.sp-collage img{width:100%;height:100%;object-fit:cover;display:block}
.sp-collage__a{grid-row:1/3}
.sp-collage__a img{object-position:45% 30%}
.sp-collage__b img{object-position:20% 40%}
.sp-collage__c img{object-position:55% 25%}
.sp-collage figcaption{position:absolute;left:10px;bottom:10px;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.95);font-size:.8rem;color:var(--text);box-shadow:0 10px 24px -14px rgba(0,0,0,.5);max-width:calc(100% - 20px)}
.sp-collage figcaption b{color:var(--ink);margin-right:2px}
.sp-collage__dot{width:8px;height:8px;border-radius:50%;background:#3aa257;box-shadow:0 0 0 4px rgba(58,162,87,.2);flex:none}
.sp-collage__hub{position:absolute;left:53.5%;top:50%;transform:translate(-50%,-50%);width:68px;height:68px;border-radius:50%;background:var(--green-900);color:var(--yellow);display:grid;place-items:center;border:5px solid #fff;box-shadow:0 0 0 10px rgba(248,194,42,.25),0 20px 40px -20px rgba(0,0,0,.6)}
.sp-collage__hub svg{width:28px;height:28px}
@media (max-width:960px){.sp-intro--collage .sp-intro__grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.sp-collage{grid-template-columns:1fr 1fr;grid-template-rows:220px 160px;height:auto}.sp-collage__a{grid-row:auto;grid-column:1/3}.sp-collage__hub{top:220px;left:50%;width:54px;height:54px}.sp-collage figcaption{font-size:.72rem;padding:6px 10px}}
@media (max-width:560px){.sp-collage__a figcaption{top:10px;bottom:auto}.sp-collage__b figcaption,.sp-collage__c figcaption{font-size:0;gap:6px}.sp-collage__b figcaption b,.sp-collage__c figcaption b{font-size:.74rem;margin:0}}

/* ===================== v41 Warehouse Management System page (.wm) ===================== */
.wm-hero__btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.wm-hero__shot{position:relative;max-width:1000px;margin:10px auto 0;padding:0 40px}
.wm-hero__shot .rw-browser img{display:block;width:100%;max-height:560px;object-fit:cover;object-position:top}
.wm-float{position:absolute;background:#fff;border-radius:10px;padding:12px 16px;box-shadow:0 24px 50px -24px rgba(13,65,29,.55);border:1px solid var(--line);display:flex;gap:10px;align-items:center}
.wm-float small{display:block;font-size:.74rem;color:var(--muted);font-weight:600}
.wm-float b{display:block;color:var(--ink);font-size:1rem}
.wm-float--1{left:0;top:18%;display:block}
.wm-float--1 b{font-size:1.9rem;color:var(--green-600);letter-spacing:-.02em;line-height:1.1}
.wm-up{font-size:.74rem;color:var(--green-600);font-weight:700}
.wm-float--2{right:0;top:34%}
.wm-float--3{left:6%;bottom:10%}
.wm-float--3 .icon{width:30px;height:30px;padding:6px;border-radius:8px;background:var(--yellow);color:var(--green-900)}
.wm-dot{width:10px;height:10px;border-radius:50%;background:#3aa257;box-shadow:0 0 0 5px rgba(58,162,87,.2)}
.wm-note{text-align:center;margin:14px 0 0;font-size:.82rem;color:var(--muted)}
.wm-trust{list-style:none;margin:34px auto 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px}
.wm-trust li{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);font-size:.95rem}
.wm-trust .icon{width:20px;height:20px;padding:3px;border-radius:50%;background:var(--green-50);color:var(--green-600);stroke-width:2.6}
/* benefits */
.wm-bens{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.wm-ben{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 16px 20px;transition:transform .25s,box-shadow .25s}
.wm-ben:hover{transform:translateY(-4px);box-shadow:0 24px 44px -32px rgba(13,65,29,.5)}
.wm-ben__vis{height:150px;border-radius:8px;background:var(--green-50);display:grid;place-items:center;padding:14px;margin-bottom:16px;overflow:hidden}
.wm-ben h3{font-size:1.1rem;margin:0 0 4px}.wm-ben p{margin:0;font-size:.94rem}
/* features */
.wm-feats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.wm-feat{border-radius:10px;overflow:hidden;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.wm-feat:hover{transform:translateY(-4px);box-shadow:0 24px 44px -32px rgba(13,65,29,.5)}
.wm-feat__vis{height:200px;background:linear-gradient(160deg,#f3f8ef,#e7f1e2);display:grid;place-items:center;padding:18px;border-bottom:1px solid var(--line)}
.wm-feat__txt{padding:18px 20px 22px}
.wm-feat h3{font-size:1.15rem;margin:0 0 6px}.wm-feat p{margin:0;font-size:.95rem}
/* mini visuals */
.wv{width:100%;max-width:260px;font-size:.76rem;color:var(--ink)}
.wv b{font-weight:800}
.wv-stock{display:grid;gap:8px}
.wv-stock div{display:grid;grid-template-columns:62px 1fr 38px;gap:8px;align-items:center}
.wv-stock span{color:var(--muted);font-weight:700}
.wv-stock i{height:8px;border-radius:999px;background:#d7e6d1;position:relative;overflow:hidden}
.wv-stock i::after{content:"";position:absolute;inset:0;width:var(--w);background:var(--green-600);border-radius:999px}
.wv-stock i.lo::after{background:#e0882f}
.wv-stock b{text-align:right}
.wv-route{position:relative}.wv-route svg{width:100%;height:auto;display:block}
.wv-tag{position:absolute;right:0;top:-6px;background:var(--green-900);color:#fff;font-weight:700;padding:3px 8px;border-radius:999px;font-size:.7rem}
.wv-scan{display:grid;gap:10px}
.wv-scan__code{font-family:monospace;font-size:1.1rem;letter-spacing:1px;text-align:center;padding:10px;border:2px dashed var(--green-600);border-radius:8px;background:#fff;color:var(--ink);font-weight:700}
.wv-scan__ok{display:flex;gap:8px;align-items:center;background:#fff;border-radius:8px;padding:8px 10px;box-shadow:0 8px 20px -14px rgba(0,0,0,.4)}
.wv-scan__ok .icon{width:24px;height:24px;padding:4px;border-radius:50%;background:#3aa257;color:#fff;stroke-width:3;flex:none}
.wv-scan__ok small{display:block;color:var(--muted)}
.wv-portal{background:#fff;border-radius:8px;padding:10px 12px;box-shadow:0 8px 20px -14px rgba(0,0,0,.4);display:grid;gap:6px}
.wv-portal div{display:flex;justify-content:space-between}
.wv-portal__h{font-weight:800;border-bottom:1px solid var(--line);padding-bottom:6px}
.wv-portal__h em{font-style:normal;color:#1d6b36;background:#dff1e4;padding:1px 8px;border-radius:999px;font-size:.68rem}
.wv-portal div:not(.wv-portal__h) span{color:var(--muted)}
.wv-recv{background:#fff;border-radius:8px;padding:10px 12px;box-shadow:0 8px 20px -14px rgba(0,0,0,.4);display:grid;gap:6px}
.wv-recv__h{font-weight:800;padding-bottom:4px;border-bottom:1px solid var(--line)}
.wv-recv>div:not(.wv-recv__h):not(.wv-recv__go){display:grid;grid-template-columns:18px 1fr auto;gap:6px;align-items:center}
.wv-recv .icon{width:16px;height:16px;padding:2px;border-radius:50%;background:#3aa257;color:#fff;stroke-width:3}
.wv-recv .is-warn i{width:16px;height:16px;border-radius:50%;background:#e0882f;color:#fff;font-style:normal;font-weight:800;display:grid;place-items:center;font-size:.66rem}
.wv-recv .is-warn b{color:#b8650f}
.wv-recv__go{background:var(--yellow);color:var(--green-900);font-weight:700;padding:5px 8px;border-radius:6px;text-align:center}
.wv-loc__grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}
.wv-loc__grid i{aspect-ratio:1;border-radius:3px;background:#fff;border:1px solid #cfdcc8}
.wv-loc__grid i.f{background:#c99a5b;border-color:#b98a4d}
.wv-loc__grid i.h{background:var(--yellow);border-color:#d19f05;box-shadow:0 0 0 3px rgba(248,194,42,.35)}
.wv-loc__legend{display:flex;gap:12px;margin-top:10px;color:var(--muted);font-weight:600}
.wv-loc__legend span{display:flex;gap:5px;align-items:center}
.wv-loc__legend i{width:10px;height:10px;border-radius:2px;background:#fff;border:1px solid #cfdcc8}
.wv-loc__legend i.f{background:#c99a5b;border-color:#b98a4d}.wv-loc__legend i.h{background:var(--yellow);border-color:#d19f05}
.wv-wave{display:grid;gap:8px}
.wv-wave div{display:grid;grid-template-columns:52px 1fr 52px;grid-template-rows:auto 7px;column-gap:8px;row-gap:3px;background:#fff;padding:8px 10px;border-radius:8px;box-shadow:0 6px 16px -12px rgba(0,0,0,.4)}
.wv-wave span{color:var(--muted)}.wv-wave em{font-style:normal;font-weight:800;text-align:right;color:var(--green-600)}
.wv-wave i{grid-column:1/-1;height:6px;border-radius:999px;background:#e3ece0;position:relative;overflow:hidden}
.wv-wave i::after{content:"";position:absolute;inset:0;width:var(--w);background:var(--green-600)}
.wv-label__card{background:#fff;border-radius:6px;padding:12px;box-shadow:0 10px 24px -14px rgba(0,0,0,.45);border:1px solid #e6e6e6;transform:rotate(-2deg)}
.wv-label__top{display:flex;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:6px;margin-bottom:6px}
.wv-label__top span{color:var(--muted);font-weight:700}
.wv-label__addr{font-weight:600;line-height:1.35}
.wv-label__bar{height:34px;margin:8px 0;background:repeating-linear-gradient(90deg,#111 0 2px,#fff 2px 4px,#111 4px 5px,#fff 5px 8px,#111 8px 11px,#fff 11px 12px)}
.wv-label__foot{display:flex;justify-content:space-between;font-weight:700}
.wv-count{background:#fff;border-radius:8px;padding:10px 12px;box-shadow:0 8px 20px -14px rgba(0,0,0,.4);display:grid;gap:6px}
.wv-count__h{display:flex;justify-content:space-between;font-weight:800;border-bottom:1px solid var(--line);padding-bottom:5px}
.wv-count__h em{font-style:normal;color:var(--muted);font-weight:600}
.wv-count>div:not(.wv-count__h){display:grid;grid-template-columns:44px 1fr 1fr 40px;align-items:center}
.wv-count s{color:var(--muted)}.wv-count em{font-style:normal;font-weight:800;text-align:right;color:var(--muted)}
.wv-count em.neg{color:#c0392b}.wv-count em.pos{color:#1d6b36}
.wv-alert{display:grid;gap:8px}
.wv-alert__card{display:flex;gap:10px;align-items:center;background:#fff;border-left:4px solid #e0882f;border-radius:6px;padding:10px 12px;box-shadow:0 8px 20px -14px rgba(0,0,0,.4)}
.wv-alert__card i{width:24px;height:24px;border-radius:50%;background:#e0882f;color:#fff;font-style:normal;font-weight:800;display:grid;place-items:center;flex:none}
.wv-alert__card small{display:block;color:var(--muted)}
.wv-alert__fix{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--green-900);color:#cfe2d4;border-radius:6px;padding:8px 10px}
.wv-alert__fix b{color:#fff}
.wv-alert__fix button{border:0;background:var(--yellow);color:var(--green-900);font:700 .7rem var(--font-body);padding:5px 8px;border-radius:5px}
/* people band */
.wm-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--green-900);color:#cfe2d4;min-height:440px}
.wm-band__photo{background:url('../img/photo-manager.jpg') 35% center/cover no-repeat;position:relative}
.wm-band__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,65,29,0) 60%,rgba(13,65,29,.9))}
.wm-band__copy{padding:clamp(40px,6vw,80px);align-self:center;max-width:640px}
.wm-band .eyebrow{color:var(--yellow)}
.wm-band .section-title{color:#fff}.wm-band .section-title .hl{color:#8fd3a3}
.wm-band__list{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:12px}
.wm-band__list li{display:flex;gap:10px;align-items:flex-start;font-size:1rem}
.wm-band__list b{color:#fff}
.wm-band__list .icon{width:22px;height:22px;padding:3px;border-radius:50%;background:var(--yellow);color:var(--green-900);stroke-width:3;flex:none;margin-top:1px}
/* modules */
.wm-mods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.wm-mod{display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:10px;background:#fff;border:1px solid var(--line);color:inherit;transition:transform .25s,box-shadow .25s,border-color .25s}
.wm-mod:hover{transform:translateY(-4px);border-color:var(--green-600);box-shadow:0 24px 44px -32px rgba(13,65,29,.5)}
.wm-mod .sp-feat__ic{margin-bottom:8px}
.wm-mod h3{font-size:1.1rem;margin:0}.wm-mod p{margin:0 0 8px;font-size:.94rem}
.wm-mod .sp-link{margin-top:auto}
/* proof */
.wm-proof{display:grid;grid-template-columns:220px minmax(0,1fr) auto;gap:28px;align-items:center;padding:22px;border-radius:12px;background:#fff;border:1px solid var(--line);color:inherit;transition:box-shadow .25s}
.wm-proof:hover{box-shadow:0 24px 44px -32px rgba(13,65,29,.5)}
.wm-proof figure{margin:0;height:180px;border-radius:8px;overflow:hidden;background:var(--green-50);display:grid;place-items:center}
.wm-proof figure img{height:100%;width:auto}
.wm-proof h3{font-size:1.3rem;margin:4px 0 6px}.wm-proof p{margin:0 0 10px}
.wm-proof__logo{height:44px;width:auto;opacity:.9}
@media (max-width:1100px){.wm-bens,.wm-mods{grid-template-columns:repeat(2,minmax(0,1fr))}.wm-feats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:960px){.wm-band{grid-template-columns:minmax(0,1fr)}.wm-band__photo{min-height:280px}.wm-band__photo::after{background:linear-gradient(180deg,rgba(13,65,29,0) 55%,rgba(13,65,29,.9))}.wm-proof{grid-template-columns:160px minmax(0,1fr)}.wm-proof__logo{display:none}}
@media (max-width:640px){.wm-hero__shot{padding:0}.wm-float--1{top:-14px;left:8px;padding:8px 12px}.wm-float--1 b{font-size:1.3rem}.wm-float--2,.wm-float--3{display:none}.wm-bens,.wm-feats,.wm-mods{grid-template-columns:minmax(0,1fr)}.wm-proof{grid-template-columns:minmax(0,1fr)}.wm-proof figure{height:200px}}
/* v41 case studies list */
.cs-filters{display:flex;flex-wrap:wrap;gap:8px;margin:-10px 0 26px}
.cs-filter{border:1px solid var(--line);background:#fff;padding:9px 16px;border-radius:999px;font:600 .9rem var(--font-body);color:var(--ink);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.cs-filter:hover{border-color:var(--green-600)}
.cs-filter.is-on{background:var(--green-900);border-color:var(--green-900);color:#fff}
.cs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.cs-card{display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line);color:inherit;transition:transform .25s,box-shadow .25s}
.cs-card:hover{transform:translateY(-4px);box-shadow:0 28px 54px -34px rgba(13,65,29,.55)}
.cs-card[hidden]{display:none}
.cs-card figure{position:relative;margin:0;height:280px;overflow:hidden;background:#eef3ea}
.cs-card figure img{width:100%;height:100%;object-fit:cover;object-position:50% 0;transition:transform .5s}
.cs-card:hover figure img{transform:scale(1.03)}
.cs-card__tag{position:absolute;left:14px;top:14px;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.95);font-size:.76rem;font-weight:800;color:var(--green-900)}
.cs-card__body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.cs-card__top{display:flex;align-items:center;gap:10px}
.cs-card__logo{height:30px;width:auto;max-width:120px;object-fit:contain}
.cs-card__top small{font-family:var(--font-hand);font-size:1.1rem;color:var(--green-600)}
.cs-card h3{font-size:1.35rem;margin:4px 0 0;line-height:1.25}
.cs-card p{margin:0}
.cs-card ul{list-style:none;margin:4px 0 6px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.cs-card li{padding:4px 10px;border-radius:999px;background:var(--green-50);font-size:.8rem;font-weight:600;color:var(--green-900)}
.cs-card .sp-link{margin-top:auto}
@media (max-width:860px){.cs-grid{grid-template-columns:minmax(0,1fr)}.cs-card figure{height:220px}}
.wm-feat__vis{height:auto;min-height:200px}.wm-ben__vis{height:auto;min-height:150px}

/* ===================== v42 WMS page refinements ===================== */
.page-hero--compact{padding:64px 0 76px}
.page-hero--compact h1{font-size:clamp(2.4rem,4.6vw,3.6rem)}
.wm-hero__head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(20px,4vw,60px);align-items:end;margin-bottom:30px}
.wm-hero__head .section-title{margin-bottom:0}
.wm-hero__side .section-sub{margin:0 0 18px}
.wm-hero__btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-start;margin:0}
.wm-hero__shot{max-width:none;margin:0;padding:0}
.wm-hero__shot .rw-browser img{max-height:none}
.wm-demo{margin-left:auto;font-style:normal;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#8a6300;background:#fff4d1;padding:3px 8px;border-radius:4px}
.wm-outs{display:grid;grid-template-columns:1fr 1.45fr 1fr;gap:18px;margin-top:22px}
.wm-out{border-radius:10px;background:#fff;border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column}
.wm-out figure{margin:0;background:#f5f5f2;border-bottom:1px solid var(--line);height:230px;overflow:hidden}
.wm-out figure img{width:100%;height:100%;object-fit:cover;object-position:left top;display:block}
.wm-out>div{position:relative;padding:18px 20px 20px 70px}
.wm-out__n{position:absolute;left:20px;top:18px;width:36px;height:36px;border-radius:8px;background:var(--green-900);color:var(--yellow);display:grid;place-items:center;font-weight:800;font-size:.85rem}
.wm-out h3{font-size:1.15rem;margin:0 0 4px}.wm-out p{margin:0;font-size:.95rem}
.wm-note{margin:16px 0 0}
/* typical shift */
.wm-shift{list-style:none;margin:0 auto;padding:0;max-width:1060px;display:grid;gap:18px;position:relative}
.wm-shift::before{content:"";position:absolute;left:31px;top:30px;bottom:30px;border-left:2px dashed #cfdcc8}
.wm-step{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 20px;position:relative}
.wm-step__txt{display:flex;gap:16px;align-items:flex-start}
.wm-step__n{flex:none;width:44px;height:44px;border-radius:50%;background:var(--yellow);color:var(--green-900);display:grid;place-items:center;font-weight:900;box-shadow:0 0 0 6px var(--cream)}
.wm-step small{font-family:var(--font-hand);font-size:1.1rem;color:var(--green-600)}
.wm-step h3{font-size:1.25rem;margin:0 0 4px}.wm-step p{margin:0;font-size:.96rem}
.wm-step__vis{background:linear-gradient(160deg,#f3f8ef,#e7f1e2);border-radius:8px;padding:16px;display:grid;place-items:center;min-height:170px}
.wm-step__vis .wv{max-width:300px}
.wv-loc__task{background:#fff;border-radius:6px;padding:6px 10px;margin-bottom:10px;box-shadow:0 6px 16px -12px rgba(0,0,0,.4)}
.wv-pickpack{display:grid;gap:8px}
.wv-pp__label{display:flex;justify-content:space-between;background:var(--green-900);color:#cfe2d4;padding:7px 10px;border-radius:6px}.wv-pp__label b{color:#fff}
.wv-count__fix{display:flex!important;justify-content:space-between;background:var(--green-50);border-radius:6px;padding:5px 8px;margin-top:2px}
.wv-count__fix em{font-style:normal;font-weight:800;color:var(--green-600)}
.wv-sync{display:grid;gap:6px;justify-items:center}
.wv-sync__row{display:flex;gap:10px;align-items:center;background:#fff;border-radius:8px;padding:8px 12px;box-shadow:0 8px 20px -14px rgba(0,0,0,.4);width:100%}
.wv-sync__row small{display:block;color:var(--muted)}
.wv-sync__ic{width:30px;height:30px;border-radius:7px;background:var(--yellow);color:var(--green-900);display:grid;place-items:center}.wv-sync__ic .icon{width:16px;height:16px}
.wv-sync__arrow{font-weight:800;color:var(--green-600)}
.wv-sync__pair{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%}
.wv-sync__pair div{background:var(--green-900);color:#cfe2d4;border-radius:6px;padding:7px 9px}
.wv-sync__pair b{display:block;color:#fff;font-size:.74rem}
/* people band photo */
.wm-band__photo{background:url('../img/stock/manager-portrait.jpg') 72% 20%/cover no-repeat}
/* where WMS ends */
.wm-bounds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.wm-bound{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:10px;background:#fff;border:1px dashed #cfdcc8;color:inherit}
.wm-bound.is-me{border:2px solid var(--green-600);background:var(--green-50)}
a.wm-bound:hover{border-color:var(--green-600)}
.wm-bound__ic{width:38px;height:38px;border-radius:8px;background:var(--green-900);color:var(--yellow);display:grid;place-items:center;flex:none}.wm-bound__ic .icon{width:19px;height:19px}
.wm-bound b{display:block;color:var(--ink)}.wm-bound p{margin:2px 0 0;font-size:.92rem}
.wm-mod{position:relative}
.wm-mod__tag{position:absolute;right:16px;top:18px;font-style:normal;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#8a6300;background:#fff4d1;padding:3px 8px;border-radius:999px}
/* proof */
.wm-proof{grid-template-columns:240px minmax(0,1fr);align-items:stretch}
.wm-proof figure{height:auto;min-height:300px}
.wm-proof__head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.wm-proof__head .eyebrow{margin:0}
.wm-proof__logo{height:34px;width:auto;opacity:1;display:block}
.wm-proof h3{margin:8px 0 12px}
.wm-proof__rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px}
.wm-proof__rows small{display:block;font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--green-600);margin-bottom:2px}
.wm-proof__rows p{margin:0;font-size:.94rem}
.wm-proof__fine{margin:14px 0 10px!important;font-size:.84rem;color:var(--muted)}
@media (max-width:1100px){.wm-outs{grid-template-columns:repeat(2,minmax(0,1fr))}.wm-outs .wm-out:nth-child(2){grid-column:1/-1;order:-1}}
@media (max-width:960px){.wm-hero__head{grid-template-columns:minmax(0,1fr)}.wm-step{grid-template-columns:minmax(0,1fr)}.wm-shift::before{display:none}.wm-bounds{grid-template-columns:minmax(0,1fr)}.wm-proof{grid-template-columns:minmax(0,1fr)}.wm-proof figure{min-height:220px}}
@media (max-width:640px){.wm-outs{grid-template-columns:minmax(0,1fr)}.wm-out figure{height:200px}.wm-proof__rows{grid-template-columns:minmax(0,1fr)}.page-hero--compact{padding:52px 0 70px}}
@media (max-width:640px){.wm-outs .wm-out:nth-child(2){order:0;grid-column:auto}}
/* v43 */
.wm-band__photo{background:url('../img/stock/wms-strategist.jpg') 62% center/cover no-repeat}
.wm-bounds{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:960px){.wm-bounds{grid-template-columns:minmax(0,1fr)}}
.sf__col a{white-space:nowrap}
@media (min-width:1061px){.sf__links:has(.sf__brand--wide){grid-template-columns:minmax(0,1fr) max-content max-content max-content;column-gap:clamp(24px,3vw,48px)}}
@media (max-width:640px){.sf__col a{font-size:.86rem;letter-spacing:-.01em}}
.page-hero--photo h1{max-width:1100px}
.page-hero--photo h1{max-width:none}
.page-hero--long h1{font-size:clamp(2.2rem,4.1vw,3.75rem);line-height:1}
@media (min-width:761px){.page-hero--long h1{white-space:nowrap}}
@media (max-width:760px){.page-hero--long h1{font-size:2.2rem}}
@media (min-width:761px){.page-hero--long{padding-top:118px;padding-bottom:128px}}
.page-hero--long{background-position:center 35%}

/* ===================== v47 Delivery Management System page (.dm) ===================== */
.dm-hero__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,4vw,64px);align-items:center}
.dm-outs{list-style:none;margin:22px 0 26px;padding:0;display:grid;gap:14px}
.dm-outs li{display:flex;gap:14px;align-items:flex-start}
.dm-out__ic{width:42px;height:42px;border-radius:8px;background:var(--green-900);color:var(--yellow);display:grid;place-items:center;flex:none}
.dm-out__ic .icon{width:20px;height:20px}
.dm-outs b{display:block;color:var(--ink);font-size:1.05rem}.dm-outs p{margin:2px 0 0;font-size:.95rem}
.dm-hero__btns{display:flex;gap:12px;flex-wrap:wrap}
.dm-hero__media{position:relative;padding:0 0 40px 40px}
.dm-hero__media .rw-browser img{display:block;width:100%}
.dm-phone{margin:0;border-radius:22px;padding:6px;background:#0b0b0b;box-shadow:0 24px 50px -24px rgba(0,0,0,.6)}
.dm-phone img{display:block;width:100%;border-radius:17px}
.dm-phone--float{position:absolute;left:0;bottom:0;width:26%;max-width:190px}
.dm-chip{position:absolute;right:-10px;bottom:56px;display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 14px;box-shadow:0 24px 50px -24px rgba(13,65,29,.55)}
.dm-chip small{display:block;font-size:.74rem;color:var(--muted);font-weight:600}.dm-chip b{font-size:.92rem;color:var(--ink)}
/* delivery day zig-zag */
.dm-days{display:grid;gap:26px}
.dm-day{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,56px);align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:clamp(20px,3vw,34px)}
.dm-day:nth-child(even){grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.dm-day:nth-child(even) .dm-day__txt{order:2}
.dm-day__t{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-hand);font-size:1.2rem;color:var(--green-600);margin-bottom:6px}
.dm-day__t b{font:900 .95rem var(--font-body);width:38px;height:38px;border-radius:50%;background:var(--yellow);color:var(--green-900);display:grid;place-items:center}
.dm-day h3{font-size:1.45rem;margin:0 0 8px}.dm-day p{margin:0 0 14px}
.dm-day ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.dm-day li{display:flex;gap:8px;align-items:center;font-weight:600;color:var(--ink);font-size:.95rem}
.dm-day li .icon{width:20px;height:20px;padding:3px;border-radius:50%;background:var(--green-50);color:var(--green-600);stroke-width:2.6}
.dm-day__vis{background:linear-gradient(160deg,#f3f8ef,#e7f1e2);border-radius:10px;padding:clamp(14px,2vw,24px)}
.dm-day__vis .rw-browser img{display:block;width:100%;max-height:420px;object-fit:cover;object-position:top}
.dm-phones{display:flex;gap:18px;justify-content:center}
.dm-phones .dm-phone{width:40%;max-width:210px}
.dm-split{display:grid;grid-template-columns:1fr 150px;gap:16px;align-items:end}
.dm-phone--sm{width:150px}
/* light photo band */
.dm-band__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,72px);align-items:center}
.dm-roles{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:12px}
.dm-roles li{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:10px;background:#fff;border:1px solid var(--line)}
.dm-roles .sp-feat__ic{margin:0;width:40px;height:40px}
.dm-roles b{display:block;color:var(--ink)}.dm-roles p{margin:0;font-size:.94rem}
.dm-band__photo{position:relative;margin:0;border-radius:12px;overflow:hidden;box-shadow:0 30px 60px -36px rgba(13,65,29,.55)}
.dm-band__photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:35% center}
.dm-band__photo figcaption{position:absolute;right:16px;bottom:16px;display:flex;gap:10px;align-items:center;background:#fff;border-radius:10px;padding:10px 14px;box-shadow:0 20px 40px -20px rgba(0,0,0,.5)}
.dm-band__photo figcaption small{display:block;font-size:.76rem;color:var(--muted)}
.dm-band__ic .icon{width:28px;height:28px;padding:5px;border-radius:50%;background:#3aa257;color:#fff;stroke-width:3}
/* proof */
.dm-proof{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:center;padding:clamp(20px,3vw,32px);border-radius:12px;background:var(--green-900);color:#cfe2d4}
.dm-proof .eyebrow{color:var(--yellow)}
.dm-proof h3{color:#fff;font-size:1.4rem;margin:4px 0 14px}
.dm-proof .wm-proof__rows small{color:#8fd3a3}
.dm-proof .wm-proof__rows p{color:#cfe2d4}
.dm-proof .sp-link{color:var(--yellow);margin-top:16px}
.dm-proof__phones{display:flex;gap:14px}
.dm-proof__phones .dm-phone{width:170px;background:#000}
@media (max-width:1100px){.dm-chip{display:none}}
@media (max-width:960px){.dm-hero__grid,.dm-band__grid,.dm-day,.dm-day:nth-child(even){grid-template-columns:minmax(0,1fr)}.dm-day:nth-child(even) .dm-day__txt{order:0}.dm-proof{grid-template-columns:minmax(0,1fr)}.dm-proof__phones{justify-content:center}}
@media (max-width:640px){.dm-hero__media{padding:0 0 30px 24px}.dm-phone--float{width:30%}.dm-split{grid-template-columns:1fr 110px}.dm-phone--sm{width:110px}.dm-proof__phones .dm-phone{width:44%}.dm-band__photo figcaption{right:10px;bottom:10px;padding:8px 10px}}
@media (max-width:640px){.dm-split{grid-template-columns:minmax(0,1fr)}.dm-split .dm-phone--sm{display:none}.dm .rw-browser__bar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}}

/* ===================== v48 Order Management page (.op) ===================== */
.op-hero__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,64px);align-items:center}
.op-hero__btns{display:flex;gap:12px;flex-wrap:wrap;margin:6px 0 26px}
.op-outs{list-style:none;margin:0;padding:18px 0 0;border-top:1px dashed #cfdcc8;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.op-outs li{display:flex;flex-direction:column;gap:8px}
.op-outs li>span .icon{width:26px;height:26px;padding:5px;border-radius:50%;background:var(--yellow);color:var(--green-900);stroke-width:3}
.op-outs b{display:block;color:var(--ink);font-size:.98rem;line-height:1.25}.op-outs small{color:var(--muted);font-size:.84rem}
.op-hero__media{position:relative;min-height:460px}
.op-stack{position:absolute}
.op-stack .rw-browser img{display:block;width:100%}
.op-stack--back{left:0;top:0;width:72%;transform:rotate(-1.5deg);opacity:.95}
.op-stack--front{right:0;bottom:0;width:78%}
.op-sync{position:absolute;left:-8px;bottom:26px;display:flex;gap:10px;align-items:center;background:var(--green-900);color:#cfe2d4;border-radius:10px;padding:12px 16px;box-shadow:0 24px 50px -24px rgba(0,0,0,.6);z-index:2}
.op-sync span .icon{width:32px;height:32px;padding:7px;border-radius:8px;background:var(--yellow);color:var(--green-900)}
.op-sync small{display:block;font-size:.74rem}.op-sync b{color:#fff}
/* interactive flow */
.op-flow{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:24px;align-items:start}
.op-tabs{display:grid;gap:10px}
.op-tab{display:flex;gap:14px;align-items:flex-start;text-align:left;padding:16px;border-radius:10px;background:#fff;border:1px solid var(--line);font:inherit;color:inherit;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.op-tab:hover{border-color:#bcd2b6}
.op-tab>span{flex:none;width:38px;height:38px;border-radius:50%;background:var(--green-50);color:var(--green-600);display:grid;place-items:center;font-weight:900;font-size:.88rem}
.op-tab b{display:block;color:var(--ink);font-size:1.05rem}
.op-tab small{display:block;color:var(--muted);font-size:.9rem;line-height:1.45;margin-top:2px}
.op-tab.is-active{border-color:var(--green-600);box-shadow:inset 4px 0 0 var(--green-600),0 18px 36px -28px rgba(13,65,29,.55)}
.op-tab.is-active>span{background:var(--green-900);color:var(--yellow)}
.op-tab--end{cursor:default;background:var(--green-900);border-color:var(--green-900)}
.op-tab--end>span{background:var(--yellow);color:var(--green-900)}.op-tab--end>span .icon{width:18px;height:18px}
.op-tab--end b{color:#fff}.op-tab--end small{color:#cfe2d4}
.op-panels{position:sticky;top:96px}
.op-panel{display:none}
.op-panel.is-active{display:block;animation:sbxIn .35s ease}
.op-panel .rw-browser img{display:block;width:100%;max-height:600px;object-fit:cover;object-position:top}
/* dark band, photo right */
.op-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--green-900);color:#cfe2d4;min-height:460px}
.op-band__copy{padding:clamp(40px,6vw,80px);align-self:center;max-width:640px;justify-self:end}
.op-band .eyebrow{color:var(--yellow)}
.op-band .section-title{color:#fff}.op-band .section-title .hl{color:#8fd3a3}
.op-roles{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:12px}
.op-roles li{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.op-roles__ic{width:40px;height:40px;border-radius:8px;background:var(--yellow);color:var(--green-900);display:grid;place-items:center;flex:none}.op-roles__ic .icon{width:20px;height:20px}
.op-roles b{display:block;color:#fff}.op-roles p{margin:2px 0 0;font-size:.94rem}
.op-band__photo{background:url('../img/stock/retail-laptop.jpg') 28% center/cover no-repeat;position:relative}
.op-band__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(270deg,rgba(13,65,29,0) 60%,rgba(13,65,29,.9))}
/* proof */
.op-proof{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,4vw,48px);align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:clamp(20px,3vw,34px);overflow:hidden}
.op-proof h3{font-size:1.4rem;margin:4px 0 14px}
.op-proof__links{display:flex;gap:24px;flex-wrap:wrap;margin-top:18px}
.op-proof__shot{margin:0 -40px -40px 0;height:360px;border-radius:10px 0 0 0;overflow:hidden;box-shadow:0 20px 40px -24px rgba(13,65,29,.5);border:1px solid var(--line)}
.op-proof__shot img{width:100%;display:block}
@media (max-width:1100px){.op-outs{grid-template-columns:minmax(0,1fr)}.op-outs li{flex-direction:row;align-items:center}}
@media (max-width:960px){.op-hero__grid,.op-flow,.op-band,.op-proof{grid-template-columns:minmax(0,1fr)}.op-panels{position:static;order:-1}.op-band__photo{min-height:280px;order:-1}.op-band__photo::after{background:linear-gradient(180deg,rgba(13,65,29,0) 55%,rgba(13,65,29,.9))}.op-band__copy{justify-self:start}.op-proof__shot{margin:0;height:260px;border-radius:10px}}
@media (max-width:640px){.op-hero__media{min-height:300px}.op-sync{left:0;bottom:6px;padding:8px 12px}.op-tab small{display:none}.op-tab{padding:12px}}

/* ===================== v49 Route Planning page (.rp) ===================== */
.rp-hero__media{position:relative;padding-right:90px}
.rp-hero__media .rw-browser img{display:block;width:100%}
.rp-hero__phone{position:absolute;right:0;bottom:-30px;width:200px}
.rp-hero__chip{position:absolute;left:-14px;top:22%;display:flex;gap:10px;align-items:center;background:var(--green-900);color:#cfe2d4;border-radius:10px;padding:12px 16px;box-shadow:0 24px 50px -24px rgba(0,0,0,.6)}
.rp-hero__chip span .icon{width:32px;height:32px;padding:7px;border-radius:8px;background:var(--yellow);color:var(--green-900)}
.rp-hero__chip small{display:block;font-size:.74rem}.rp-hero__chip b{color:#fff}
.rp-hero .wm-note{margin-top:46px}
/* two sides */
.rp-two{display:grid;grid-template-columns:minmax(0,1.35fr) 70px minmax(0,1fr);align-items:stretch}
.rp-side{background:#fff;border:1px solid var(--line);border-radius:12px;padding:clamp(18px,2.4vw,28px);display:flex;flex-direction:column;gap:18px}
.rp-side--road{background:var(--green-900);border-color:var(--green-900);color:#cfe2d4}
.rp-side header{display:flex;gap:12px;align-items:center}
.rp-side header small{font-family:var(--font-hand);font-size:1.15rem;color:var(--green-600)}
.rp-side--road header small{color:var(--yellow)}
.rp-side h3{margin:0;font-size:1.35rem}.rp-side--road h3{color:#fff}
.rp-side__ic{width:44px;height:44px;border-radius:10px;background:var(--green-900);color:var(--yellow);display:grid;place-items:center}
.rp-side--road .rp-side__ic{background:var(--yellow);color:var(--green-900)}
.rp-side__ic .icon{width:22px;height:22px}
.rp-mosaic{display:grid;grid-template-columns:.72fr 1.4fr .78fr;gap:10px;background:#f4f6f1;border-radius:10px;padding:10px}
.rp-m{margin:0;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 10px 24px -16px rgba(13,65,29,.45)}
.rp-m img{display:block;width:100%;height:100%;object-fit:cover;object-position:left top}
.rp-m--map img{object-position:center}
.rp-m--stops img{object-position:top}
.rp-mosaic .rp-m{height:300px}
.rp-phones{display:flex;gap:10px;justify-content:center;background:rgba(255,255,255,.06);border-radius:10px;padding:14px 10px}
.rp-phones .dm-phone{width:31%;max-width:150px;border-radius:18px;padding:4px}
.rp-phones .dm-phone img{border-radius:14px}
.rp-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rp-list li{display:flex;gap:10px;align-items:flex-start}
.rp-list .icon{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--green-50);color:var(--green-600);stroke-width:2.8;flex:none;margin-top:1px}
.rp-side--road .rp-list .icon{background:var(--yellow);color:var(--green-900)}
.rp-list b{display:block;color:var(--ink);font-size:.98rem}.rp-side--road .rp-list b{color:#fff}
.rp-list span{font-size:.9rem}
.rp-bridge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.rp-bridge span{width:46px;height:46px;border-radius:50%;background:var(--yellow);color:var(--green-900);display:grid;place-items:center;box-shadow:0 0 0 8px rgba(248,194,42,.2)}
.rp-bridge span .icon{width:22px;height:22px}
.rp-bridge small{font-family:var(--font-hand);font-size:1rem;color:var(--green-600);text-align:center;line-height:1.1}
/* steps */
.rp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:none}
.rp-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 0 20px;overflow:hidden}
.rp-step figure{margin:0 0 30px;height:170px;background:linear-gradient(160deg,#f3f8ef,#e7f1e2);overflow:hidden;border-bottom:1px solid var(--line)}
.rp-step figure img{width:100%;height:100%;object-fit:cover;object-position:left top;display:block}
.rp-step figure.is-phone{display:grid;place-items:end center;padding-top:14px}
.rp-step figure.is-phone img{width:42%;height:auto;border-radius:12px 12px 0 0;border:4px solid #0b0b0b;border-bottom:0}
.rp-step__n{position:absolute;left:20px;top:148px;width:44px;height:44px;border-radius:50%;background:var(--yellow);color:var(--green-900);display:grid;place-items:center;font-weight:900;box-shadow:0 0 0 5px #fff}
.rp-step h3{font-size:1.15rem;margin:0 20px 4px}.rp-step p{margin:0 20px;font-size:.94rem}
.rp-kpis{position:relative;margin-top:24px;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#f4f6f1}
.rp-kpis img{display:block;width:100%}
.rp-kpis .wm-demo{position:absolute;right:10px;top:-2px}
/* people band (photo) */
.rp-band .wm-band__photo{background:url('../img/stock/rp-planner.jpg') 30% center/cover no-repeat}
@media (max-width:1100px){.rp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.rp-hero__chip{display:none}}
@media (max-width:960px){.rp-two{grid-template-columns:minmax(0,1fr);gap:0}.rp-bridge{flex-direction:row;padding:14px 0}.rp-bridge span{transform:rotate(90deg)}.rp-hero__media{padding-right:50px}.rp-hero__phone{width:130px}}
@media (max-width:640px){.rp-steps{grid-template-columns:minmax(0,1fr)}.rp-mosaic{grid-template-columns:1fr 1fr}.rp-m--map{grid-column:1/-1;order:-1}.rp-mosaic .rp-m{height:200px}.rp-hero__media{padding-right:30px}.rp-hero__phone{width:96px;bottom:-20px}.rp-kpis{overflow-x:auto}.rp-kpis img{width:auto;height:70px;max-width:none}}

/* ===================== v50 End-to-End Platform page (.e2e) ===================== */
.e2-hero__btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.e2-rail{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin-top:10px}
.e2-rail__line{position:absolute;left:6%;right:6%;top:96px;border-top:3px dashed #cfdcc8;z-index:0}
.e2-rail__line i{position:absolute;top:-8px;left:0;width:13px;height:13px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 5px rgba(248,194,42,.3);animation:e2move 6s linear infinite}
@keyframes e2move{to{left:100%}}
.e2-st{position:relative;z-index:1;display:flex;flex-direction:column;border-radius:12px;background:#fff;border:1px solid var(--line);overflow:hidden;color:inherit;transition:transform .25s,box-shadow .25s}
.e2-st:hover{transform:translateY(-4px);box-shadow:0 24px 44px -30px rgba(13,65,29,.55)}
.e2-st figure{margin:0;height:190px;overflow:hidden;background:linear-gradient(160deg,#f3f8ef,#e7f1e2);border-bottom:1px solid var(--line)}
.e2-st figure img{width:100%;height:100%;object-fit:cover;object-position:left top;display:block}
.e2-st figure.is-phone{display:grid;place-items:end center;padding-top:14px}
.e2-st figure.is-phone img{width:52%;height:auto;border-radius:14px 14px 0 0;border:5px solid #0b0b0b;border-bottom:0}
.e2-st>div{position:relative;padding:28px 16px 18px;text-align:center}
.e2-st__ic{position:absolute;left:50%;top:-24px;transform:translateX(-50%);width:46px;height:46px;border-radius:50%;background:var(--green-900);color:#4fd27a;display:grid;place-items:center;border:4px solid #fff}
.e2-st__ic .icon{width:20px;height:20px}
.e2-st b{display:block;color:var(--ink);font-size:1.1rem}.e2-st small{color:var(--muted)}
.e2-erp{height:100%;display:grid;place-content:center;justify-items:center;gap:6px;text-align:center;padding:14px}
.e2-erp span .icon{width:40px;height:40px;padding:9px;border-radius:10px;background:var(--green-100);color:var(--green-900)}
.e2-erp b{color:var(--ink);font-size:1.1rem}.e2-erp small{color:var(--muted);font-size:.8rem}
/* follow one order */
.e2-follow{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,72px);align-items:start}
.e2-follow__intro{position:sticky;top:110px}
.e2-teams{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px}
.e2-teams small{font-family:var(--font-hand);font-size:1.15rem;color:var(--green-600)}
.e2-teams ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.e2-teams li{display:grid;grid-template-columns:96px 1fr;gap:10px;font-size:.92rem;padding-top:8px;border-top:1px dashed var(--line)}
.e2-teams li:first-child{border-top:0;padding-top:0}
.e2-teams b{color:var(--ink)}
.e2-flow{list-style:none;margin:0;padding:0;display:grid;gap:14px;position:relative}
.e2-flow::before{content:"";position:absolute;left:102px;top:10px;bottom:10px;border-left:2px dashed #cfdcc8}
.e2-f{display:grid;grid-template-columns:86px 32px minmax(0,1fr);align-items:start}
.e2-f time{font-family:var(--font-hand);font-size:1.15rem;color:var(--green-600);text-align:right;padding-top:14px}
.e2-f__dot{position:relative;justify-self:center;margin-top:20px;width:14px;height:14px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 5px var(--cream),0 0 0 7px #cfdcc8}
.e2-f__card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 18px}
.e2-f__card h3{font-size:1.1rem;margin:6px 0 4px}.e2-f__card p{margin:0;font-size:.94rem}
.e2-f:last-child .e2-f__card{background:var(--green-900);border-color:var(--green-900);color:#cfe2d4}
.e2-f:last-child .e2-f__card h3{color:#fff}
/* modules */
.e2-mods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.e2-mod{display:flex;flex-direction:column;border-radius:10px;overflow:hidden;background:#fff;border:1px solid var(--line);color:inherit;transition:transform .25s,box-shadow .25s}
.e2-mod:hover{transform:translateY(-4px);box-shadow:0 24px 44px -30px rgba(13,65,29,.55)}
.e2-mod figure{margin:0;height:160px;overflow:hidden;background:#eef3ea}
.e2-mod figure img{width:100%;height:100%;object-fit:cover;object-position:left top}
.e2-mod>div{position:relative;padding:28px 18px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.e2-mod .sp-feat__ic{position:absolute;top:-22px;left:18px;margin:0;border:3px solid #fff}
.e2-mod h3{font-size:1.1rem;margin:0}.e2-mod p{margin:0 0 6px;font-size:.94rem}
.e2-mod .sp-link{margin-top:auto}
/* roadmap */
.e2-road{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;position:relative}
.e2-ph{position:relative;padding:0 18px 0 0}
.e2-ph::before{content:"";position:absolute;left:0;right:0;top:52px;height:6px;background:#dfe9da}
.e2-ph:first-child::before{border-radius:999px 0 0 999px;background:var(--green-600)}
.e2-ph:last-child::before{border-radius:0 999px 999px 0}
.e2-ph small{display:block;font-family:var(--font-hand);font-size:1.15rem;color:var(--green-600);height:30px}
.e2-ph span{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--yellow);color:var(--green-900);font-weight:900;margin-bottom:14px;box-shadow:0 0 0 6px var(--cream)}
.e2-ph h3{font-size:1.15rem;margin:0 0 4px}.e2-ph p{margin:0;font-size:.94rem;max-width:260px}
/* band */
.e2-band .wm-band__photo{background:url('../img/stock/team-celebrating.jpg') 45% center/cover no-repeat}
/* proof */
.e2-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.e2-cs{display:flex;flex-direction:column;border-radius:10px;overflow:hidden;background:#fff;border:1px solid var(--line);color:inherit;transition:transform .25s,box-shadow .25s}
.e2-cs:hover{transform:translateY(-4px);box-shadow:0 24px 44px -30px rgba(13,65,29,.55)}
.e2-cs figure{margin:0;height:200px;overflow:hidden;background:var(--green-50)}
.e2-cs figure img{width:100%;height:100%;object-fit:cover;object-position:50% 0}
.e2-cs figure.is-phone{display:grid;place-items:end center;padding-top:16px}
.e2-cs figure.is-phone img{width:38%;height:auto;border-radius:14px 14px 0 0;border:5px solid #0b0b0b;border-bottom:0}
.e2-cs>div{padding:16px 18px 20px;display:grid;gap:4px}
.e2-cs small{font-family:var(--font-hand);font-size:1.05rem;color:var(--green-600)}
.e2-cs b{color:var(--ink);font-size:1.1rem}.e2-cs p{margin:0 0 6px;font-size:.94rem}
@media (max-width:1100px){.e2-rail{grid-template-columns:repeat(3,minmax(0,1fr))}.e2-rail__line{display:none}.e2-mods{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:960px){.e2-follow{grid-template-columns:minmax(0,1fr)}.e2-follow__intro{position:static}.e2-road{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:30px}.e2-cases{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.e2-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.e2-rail .e2-st:last-child{grid-column:1/-1}.e2-st figure{height:140px}.e2-mods,.e2-road{grid-template-columns:minmax(0,1fr)}.e2-flow::before{left:72px}.e2-f{grid-template-columns:58px 28px minmax(0,1fr)}.e2-f time{font-size:1rem}.e2-teams li{grid-template-columns:80px 1fr}}
@media (prefers-reduced-motion:reduce){.e2-rail__line i{animation:none}}
.e2-erp{padding-bottom:28px}@media (max-width:640px){.e2-erp small{display:none}}
.contact-photo img{object-position:40% 30%}

/* ===================== v51 Insights (.in) ===================== */
.in-meta,.in-art__meta{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.84rem;color:var(--muted)}
.in-meta span,.in-art__meta span{display:inline-flex;align-items:center;gap:6px}
.in-meta .icon,.in-art__meta .icon{width:15px;height:15px;color:var(--green-600)}
.in-card{display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line);transition:transform .25s,box-shadow .25s}
.in-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -34px rgba(13,65,29,.55)}
.in-card[hidden]{display:none}
.in-card__media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--green-50)}
.in-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.in-card:hover .in-card__media img{transform:scale(1.04)}
.in-card__cat{display:inline-block;padding:4px 10px;border-radius:999px;background:var(--yellow);color:var(--green-900);font-size:.74rem;font-weight:800;letter-spacing:.02em}
.in-card__media .in-card__cat{position:absolute;left:14px;top:14px}
.in-card__body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.in-card h3{font-size:1.15rem;line-height:1.3;margin:2px 0 0}
.in-card h3 a{color:var(--ink)}.in-card h3 a:hover{color:var(--green-600)}
.in-card p{margin:0;font-size:.94rem;color:var(--text)}
.in-card .sp-link{margin-top:auto;padding-top:6px}
.in-card--feat{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.in-card--feat .in-card__media{aspect-ratio:auto;min-height:380px}
.in-card--feat .in-card__body{padding:clamp(24px,3.5vw,44px);justify-content:center;gap:12px}
.in-card--feat h3{font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-.01em}
.in-card--feat p{font-size:1.04rem}
.in-card--feat .sp-link{margin-top:8px}
.in-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:26px}
.in-bar .section-title{margin:0}.in-bar .cs-filters{margin:0}
.in-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.in-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.in-empty{text-align:center;color:var(--muted)}
.in-pager{display:flex;justify-content:center;gap:8px;margin-top:34px;flex-wrap:wrap}
.in-pager button{min-width:44px;height:44px;padding:0 14px;border-radius:8px;border:1px solid var(--line);background:#fff;font:700 .95rem var(--font-body);color:var(--ink);cursor:pointer}
.in-pager button:hover{border-color:var(--green-600)}
.in-pager button.is-on{background:var(--green-900);border-color:var(--green-900);color:#fff}
.in-pager button[disabled]{opacity:.4;cursor:default}
.in-news{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:center;padding:clamp(24px,4vw,44px);border-radius:12px;background:var(--green-50);border:1px solid #d6e7d0}
.in-news p{margin:0}
.in-news__form{display:flex;gap:12px;align-items:flex-end}
.in-news__form .field{flex:1;margin:0}
.in-newssec{padding-top:0}
/* single post */
.page-hero--post h1{font-size:clamp(2rem,3.6vw,3.2rem);max-width:1000px;margin-left:auto;margin-right:auto;line-height:1.05}
.in-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(28px,4vw,56px);align-items:start}
.in-art{max-width:760px}
.in-art__dek{font-size:1.2rem;line-height:1.6;color:var(--ink);margin:16px 0 8px;font-weight:500}
.in-art .entry-content h2{font-size:1.5rem}
.in-art .entry-content ul{padding-left:20px}
.in-art .entry-content li+li{margin-top:6px}
.in-take{margin-top:34px;padding:22px 24px;border-radius:12px;background:var(--green-900);color:#cfe2d4}
.in-take h2{color:#fff;font-size:1.25rem;margin:0 0 12px}
.in-take ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.in-take li{display:flex;gap:10px;align-items:flex-start}
.in-take .icon{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--yellow);color:var(--green-900);stroke-width:3;flex:none}
.in-author{display:flex;gap:14px;align-items:flex-start;margin-top:26px;padding:18px 20px;border-radius:12px;background:#fff;border:1px solid var(--line)}
.in-author .brand__mark{width:44px;height:44px}
.in-author b{color:var(--ink)}.in-author p{margin:4px 0 0;font-size:.92rem}
.in-pn{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px}
.in-pn a{display:block;padding:14px 16px;border-radius:10px;border:1px solid var(--line);background:#fff;color:inherit}
.in-pn a:hover{border-color:var(--green-600)}
.in-pn a.is-next{text-align:right}
.in-pn small{display:block;color:var(--green-600);font-weight:700}
.in-pn b{color:var(--ink);font-size:.95rem;line-height:1.35}
.in-side{position:sticky;top:100px;display:grid;gap:18px}
.in-side__cta{padding:22px;border-radius:12px;background:var(--green-900);color:#cfe2d4}
.in-side__cta .eyebrow{color:var(--yellow)}.in-side__cta h3{color:#fff;font-size:1.25rem;margin:4px 0 6px}.in-side__cta p{margin:0 0 14px;font-size:.94rem}
.in-side__box{padding:20px;border-radius:12px;background:#fff;border:1px solid var(--line)}
.in-side__box h3{font-size:1.05rem;margin:0 0 10px}
.in-side__cats,.in-side__recent{list-style:none;margin:0;padding:0;display:grid}
.in-side__cats li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--line);font-size:.94rem}
.in-side__cats li:last-child{border:0}
.in-side__cats a{color:var(--ink)}.in-side__cats a:hover{color:var(--green-600)}
.in-side__cats span{color:var(--muted);font-weight:700}
.in-side__recent{gap:12px}
.in-side__recent a{display:flex;gap:10px;align-items:center;color:inherit}
.in-side__recent img{width:64px;height:48px;border-radius:6px;object-fit:cover;flex:none}
.in-side__recent b{display:block;font-size:.88rem;line-height:1.3;color:var(--ink)}
.in-side__recent small{color:var(--muted);font-size:.78rem}
@media (max-width:1200px){.in-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:960px){.in-grid,.in-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.in-card--feat{grid-template-columns:minmax(0,1fr)}.in-card--feat .in-card__media{min-height:260px}.in-layout{grid-template-columns:minmax(0,1fr)}.in-side{position:static}.in-news{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.in-grid,.in-grid--3{grid-template-columns:minmax(0,1fr)}.in-news__form{flex-direction:column;align-items:stretch}.in-pn{grid-template-columns:minmax(0,1fr)}.in-pn a.is-next{text-align:left}}

/* v52 solutions hub */
.sh-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sh-card{display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line);color:inherit;transition:transform .25s,box-shadow .25s}
a.sh-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -34px rgba(13,65,29,.55)}
.sh-card figure{margin:0;height:220px;overflow:hidden;background:#eef3ea;border-bottom:1px solid var(--line)}
.sh-card figure img{width:100%;height:100%;object-fit:cover;object-position:left top;transition:transform .5s}
a.sh-card:hover figure img{transform:scale(1.03)}
.sh-card>div{position:relative;padding:30px 22px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.sh-card figure+div .sp-feat__ic{position:absolute;top:-22px;left:22px;margin:0;border:3px solid #fff}
.sh-card h3{font-size:1.25rem;margin:2px 0 0}.sh-card p{margin:0;font-size:.96rem}
.sh-card ul{list-style:none;margin:6px 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.sh-card li{padding:4px 10px;border-radius:999px;background:var(--green-50);font-size:.8rem;font-weight:600;color:var(--green-900)}
.sh-card .sp-link{margin-top:auto}
.sh-card--dark{background:var(--green-900);border-color:var(--green-900);color:#cfe2d4}
.sh-card--dark>div{padding:24px 22px}
.sh-card--dark .sp-feat__ic{background:var(--yellow);color:var(--green-900);margin-bottom:6px}
.sh-card--dark h3{color:#fff}.sh-card--dark p{color:#cfe2d4}
.sh-card--dark .sp-link{color:var(--yellow)}
.sh-card--dark .wm-mod__tag{position:absolute;right:20px;top:26px}
.sh-card__int{border-top:1px solid rgba(255,255,255,.14)}
@media (max-width:1100px){.sh-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.sh-grid{grid-template-columns:minmax(0,1fr)}}

/* v52 Terms & Privacy */
.pv{padding:70px 0}
.pv-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start}
.pv-toc__in{position:sticky;top:100px;padding:20px;border-radius:12px;background:#fff;border:1px solid var(--line)}
.pv-toc small{font-family:var(--font-hand);font-size:1.15rem;color:var(--green-600)}
.pv-toc ol{list-style:none;margin:8px 0 16px;padding:0;display:grid;gap:2px}
.pv-toc a{display:block;padding:6px 8px;border-radius:6px;font-size:.92rem;color:var(--ink)}
.pv-toc a:hover{background:var(--green-50);color:var(--green-600)}
.pv-toc .btn{width:100%;justify-content:center}
.pv-body{max-width:780px}
.pv-updated{font-size:.85rem;color:var(--muted);margin:0}
.pv-lead{font-size:1.15rem;color:var(--ink)}
.pv-sec{padding:22px 0;border-top:1px dashed var(--line);scroll-margin-top:100px}
.pv-sec h2{font-size:1.4rem;margin:0 0 10px}
.pv-sec h3{font-size:1.1rem;margin-top:1.2em}
.pv-sec ol{padding-left:22px;display:grid;gap:8px}
.pv-cookie-link,.sf__cookie{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:3px;cursor:pointer}
.sf__cookie{text-decoration:none;color:inherit;font-size:inherit}
.sf__cookie:hover{color:var(--yellow)}
@media (max-width:960px){.pv-layout{grid-template-columns:minmax(0,1fr)}.pv-toc__in{position:static}.pv-toc ol{grid-template-columns:1fr 1fr}}
/* cookie consent */
.ck{position:fixed;left:24px;bottom:24px;z-index:1000;max-width:420px;padding:20px 20px 18px;border-radius:12px;background:var(--green-900);color:#cfe2d4;box-shadow:0 30px 60px -20px rgba(0,0,0,.55);transform:translateY(20px);opacity:0;transition:transform .35s ease,opacity .35s ease}
.ck.is-in{transform:none;opacity:1}
.ck[hidden]{display:none}
.ck__h{display:flex;gap:10px;align-items:center;margin-bottom:6px}
.ck__h span{width:34px;height:34px;border-radius:8px;background:var(--yellow);color:var(--green-900);display:grid;place-items:center;flex:none}
.ck__h span svg{width:18px;height:18px}
.ck__h b{color:#fff;font-size:1.05rem}
.ck p{margin:0 0 14px;font-size:.9rem;line-height:1.5}
.ck p a{color:var(--yellow);text-decoration:underline}
.ck__btns{display:flex;gap:10px}
.ck__btns button{flex:1;height:42px;border-radius:6px;font:700 .92rem var(--font-body);cursor:pointer}
.ck__acc{border:0;background:var(--yellow);color:var(--green-900)}
.ck__rej{border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff}
.ck__rej:hover{border-color:#fff}
@media (max-width:560px){.ck{left:12px;right:12px;bottom:12px;max-width:none}}

/* ===================== v65 ===================== */
/* ── Hero-overlay nav ──────────────────────────────────────────────────────
   On pages with a full-bleed vhero, the header is position:fixed and
   renders transparently over the hero image, switching to solid on scroll.
   body.page-vhero enables this behaviour.
   ──────────────────────────────────────────────────────────────────────── */
body.page-vhero .sh{
  position:fixed;
  width:100%;
  /* Override the v13 "no backdrop blur" rule which re-adds background */
  background:rgba(255,255,255,.97);
  -webkit-backdrop-filter:saturate(1.4) blur(10px);
  backdrop-filter:saturate(1.4) blur(10px);
  transition:background .3s,box-shadow .3s,border-color .3s;
}
/* Hero fills full viewport from top (fixed bar overlays it) */
body.page-vhero .vhero{margin-top:0}

/* When hero is visible, switch to transparent mode */
body.page-vhero .sh.sh--hero{
  background:transparent!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  border-bottom-color:transparent!important;
  box-shadow:none!important;
}
.sh--hero .sh__nav>ul>li>a{color:#fff}
.sh--hero .sh__nav>ul>li>a:hover,.sh--hero .sh__nav>ul>li.is-current>a{color:var(--yellow)}
.sh--hero .sh__nav>ul>li>a::after{background:#fff}
.sh--hero .brand__name{color:#fff}
.sh--hero .brand__name b{color:#f8c22a}
.sh--hero .brand__tag{color:rgba(255,255,255,.75)}
.sh--hero .sh__phone{color:#fff}
.sh--hero .sh__phone:hover{color:var(--yellow)}
.sh--hero .sh__nav>ul>li>a svg{stroke:#fff}
.sh--hero .sh__toggle svg{stroke:#fff}
/* mega menu always white */
.sh--hero .mega,.sh--hero.sh .mega{background:#fff}

/* v55 solutions intro */
.sh-head{max-width:none}
.sh-head .section-sub{max-width:760px;margin-top:14px}
.sh-head .section-sub p+p{margin-top:8px}
/* v56 solutions intro: use full width */
.sh-head .section-sub{max-width:none;display:grid;grid-template-columns:1.6fr 1fr;gap:20px 48px;align-items:start}
.sh-head .section-sub p+p{margin-top:0;padding-left:24px;border-left:3px solid var(--green,#3aa257)}
@media (max-width:820px){.sh-head .section-sub{grid-template-columns:1fr}.sh-head .section-sub p+p{padding-left:16px}}

/* v59 company: our people */
.ab-staff__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.ab-staff__card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 2px rgba(13,65,29,.06),0 8px 24px rgba(13,65,29,.06)}
.ab-staff__card figure{margin:0;aspect-ratio:4/5;overflow:hidden}
.ab-staff__card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.ab-staff__card:hover img{transform:scale(1.04)}
.ab-staff__card>div{padding:16px 18px 20px}
.ab-staff__card h3{margin:0;font-size:1.15rem}
.ab-staff__card span{display:block;margin-top:4px;font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green-600)}
.ab-staff__card p{margin:8px 0 0;font-size:.88rem;line-height:1.5;color:var(--muted,#5b6660)}
@media (max-width:1100px){.ab-staff__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.ab-staff__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ab-staff__card>div{padding:12px 12px 14px}.ab-staff__card h3{font-size:1rem}.ab-staff__card p{display:none}}
@media (max-width:380px){.ab-staff__card span{font-size:.66rem;letter-spacing:.03em;overflow-wrap:anywhere}}

/* ===================== v65 consulting page ===================== */
/* 4-step process cards */
.cs-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:36px}
.cs-step{position:relative;padding:24px 22px 22px;border-radius:10px;background:#fff;border:1px solid var(--line);transition:transform .25s,box-shadow .25s}
.cs-step:hover{transform:translateY(-4px);box-shadow:0 24px 44px -32px rgba(13,65,29,.5)}
.cs-step__num{position:absolute;top:18px;right:20px;font-family:var(--font-display);font-size:2.4rem;line-height:1;color:var(--green-100)}
.cs-step h3{font-size:1.1rem;margin:0 0 6px}
.cs-step p{margin:0;font-size:.93rem;line-height:1.55;color:var(--text)}
.section--cream .cs-step{border-color:#dfe2d8}
/* small chevron list inside feature cards */
.chev--sm{margin:10px 0 0;font-size:.88rem}
.chev--sm li{margin-bottom:5px;line-height:1.5}
/* feature card that is a link */
.sp-feat__card--link{display:block;color:inherit;text-decoration:none}
.sp-feat__card--link .sp-link{margin-top:14px;display:inline-flex;align-items:center;gap:6px}
/* plain framed photo in an sp-intro media slot */
.sp-figure{margin:0;border-radius:12px;overflow:hidden;box-shadow:0 30px 60px -36px rgba(13,65,29,.45)}
.sp-figure img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:1050px){.cs-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cs-steps{grid-template-columns:1fr}}

/* ============ v66 Font Awesome icon sizing (generated) ============ */
/* <i> replaced <svg>: keep the same box, centre the glyph inside it. */
i.icon{display:inline-flex;align-items:center;justify-content:center;
  font-style:normal;line-height:1;font-size:1em;flex:none;
  width:1em;height:1em;box-sizing:content-box}
i.icon::before{line-height:1}
/* buttons / inline links: glyph tracks the surrounding text */
.btn__icon i.icon,.sp-link i.icon,a i.icon{font-size:.95em;width:auto;height:auto}
/* mega-menu tiles */
.mega__ic i{font-size:17px;line-height:1}
.mega__ic--y i{color:#8a6700}
.btn__icon i.icon{font-size:14px}
.link-more i.icon{font-size:12px}
.vhero__badge-dot i.icon{font-size:14px}
.vhero__watch-icon i.icon{font-size:16px}
.vhero__pause i.icon{font-size:16px}
.sc-icon i.icon{font-size:26px}
.sc-btn i.icon{font-size:16px}
.sc-full i.icon{font-size:20px}
.sc-play i.icon{font-size:18px}
.sc-pill i.icon{font-size:20px}
.imp-client i.icon{font-size:16px}
.imp-block__icon i.icon{font-size:17px}
.imp-play i.icon{font-size:26px}
.ihub-card__head i.icon{font-size:16px}
.ihub__disc i.icon{font-size:48px}
.icon-btn i.icon{font-size:18px}
.sh__nav>ul>li>a i.icon{font-size:14px}
.mega__ic i.icon{font-size:19px}
.mega__foot i.icon{font-size:15px}
.sh__phone i.icon{font-size:17px}
.drawer__phone i.icon{font-size:16px}
.back-top i.icon{font-size:16px}
.cov-card__ic i.icon{font-size:21px}
.sol-tab i.icon{font-size:18px}
.flow__ic i.icon{font-size:34px}
.flow__note i.icon{font-size:60px}
.tms-foot i.icon{font-size:14px}
.rp__list i.icon{font-size:20px}
.rp-app__bar i.icon{font-size:14px}
.fleet__facts b i.icon{font-size:17px}
.people__points i.icon{font-size:19px}
.sf__strip li i.icon{font-size:15px}
.sf__contact i.icon{font-size:17px}
.sf__news-row .btn--line i.icon{font-size:16px}
.sf__social i.icon{font-size:17px}
.jump a i.icon{font-size:16px}
.why-card__icon i.icon{font-size:19px}
.wv-chip i.icon{font-size:13px}
.wv-sync span.hub i.icon{font-size:15px}
.wv-badge>i.icon{font-size:26px}
.rw-note i.icon{font-size:16px}
Acknowledgement of Country
   ===================================================================== */
/* Nav: visible dropdown arrow */
.sh__nav>ul>li>a i.icon.icon-chev-down{font-size:16px}
.simp__ic i.icon{font-size:20px}
.simp__pod-rows i.icon{font-size:14px}
.simp__go i.icon{font-size:24px}
.simp__checks i.icon{font-size:20px}
.op__visit i.icon{font-size:32px}
.op__features i.icon{font-size:22px}
.cs-tab__ic i.icon{font-size:21px}
.cs-hint i.icon{font-size:14px}
.cs-meta i.icon{font-size:14px}
.wf__ic i.icon{font-size:22px}
.wf__note i.icon{font-size:18px}
.wf__toggle i.icon{font-size:18px}
.wf__int i.icon{font-size:13px}
.simp__step-ic i.icon{font-size:21px}
.sc-points i.icon{font-size:15px}
.op-j__erp-ic i.icon{font-size:20px}
.op-j__screen .op__visit i.icon{font-size:20px}
.op-j__ic i.icon{font-size:20px}
.op-j__story-ic i.icon{font-size:18px}
.op-split__col li i.icon{font-size:18px}
.op-split__badge i.icon{font-size:15px}
.iflow__node i.icon{font-size:22px}
.iflow__lbl i.icon{font-size:14px}
.idir__search i.icon{font-size:18px}
.trust__ic i.icon{font-size:19px}
.iai__tag i.icon{font-size:15px}
.iai__flow i.icon{font-size:20px}
.sbot__tag i.icon{font-size:16px}
.sb-feat__ic i.icon{font-size:21px}
.sbot__logo i.icon,.sb-av i.icon{font-size:20px}
.sb-step>i.icon{font-size:14px}
.sb-step em i.icon{font-size:11px}
.sb-tasks i.icon{font-size:12px}
.sb-approve span i.icon{font-size:16px}
.sbot__input i.icon{font-size:18px}
.sbot__list i.icon{font-size:18px}
.sb-approve--go a i.icon{font-size:14px}
.pv-pains i.icon{font-size:20px}
.pv-sol__ic i.icon{font-size:24px}
.pv-sol__go i.icon{font-size:16px}
.pv-mca i.icon{font-size:18px}
.pv-feat i.icon{font-size:20px}
.sh__toggle i.icon,.sh__toggle i.icon{font-size:22px!important}
.checklist__icon i.icon{font-size:22px}
.sbt__tag i.icon{font-size:16px}
.sbt__chips i.icon{font-size:17px}
.sbt__logo i.icon{font-size:18px}
.trn__who i.icon{font-size:16px}
.cs2__ba i.icon{font-size:14px}
.tb__facts i.icon{font-size:16px}
.sbot__link i.icon{font-size:18px}
.sbot .iai__flow i.icon{font-size:17px}
.co-facts i.icon{font-size:20px}
.co-vm__ic i.icon{font-size:26px}
.co-ind__ic i.icon{font-size:24px}
.co-val__ic i.icon{font-size:22px}
.co-person__social i.icon{font-size:18px}
.ab-link i.icon{font-size:18px}
.ab-promise li i.icon{font-size:20px}
.ab-val__ic i.icon{font-size:22px}
.ab-model__ic i.icon{font-size:24px}
.ab-model li i.icon{font-size:16px}
.ab-person__links i.icon{font-size:16px}
.ab-work__more i.icon{font-size:16px}
.csd__more-card i.icon{font-size:16px}
.sbx-kicker__ic i.icon{font-size:16px}
.sbx-sys i.icon{font-size:18px}
.sbx-trust i.icon{font-size:20px}
.sbx-app__side i.icon{font-size:18px}
.sbx-app__ask i.icon{font-size:16px}
.sbx-steps i i.icon{font-size:11px}
.sbx-rec i.icon{font-size:16px}
.sbx-tab__ic i.icon{font-size:20px}
.sbx-tabs__note i.icon{font-size:18px}
.sbx-win__bar .sbx-app__logo i.icon{font-size:16px}
.sbx-btn i.icon{font-size:14px}
.sbx-where i.icon{font-size:20px}
.sbx-nodes i.icon{font-size:24px}
.sbx-cap__ic i.icon{font-size:20px}
.sbx-anat__q i.icon{font-size:16px}
.sbx-anat__rec i.icon{font-size:16px}
.sbx-ctl i.icon{font-size:22px}
.sbx-cta__alt i.icon{font-size:16px}
.crumbs i.icon{font-size:15px}
.sbx-run .btn__icon i.icon{font-size:14px}
.sbx-replay i.icon{font-size:15px}
.sbx-core__q i.icon{font-size:14px}
.sbx-flow__ic i.icon{font-size:18px}
.sp-cap i.icon{font-size:18px}
.sp-feat__ic i.icon{font-size:22px}
.sp-link i.icon{font-size:16px}
.sp-bot__ic i.icon{font-size:20px}
.sp-proof span i.icon{font-size:15px}
.sp-other__ic i.icon{font-size:20px}
.sp-other>i.icon{font-size:18px}
.sp-roles__ic i.icon{font-size:20px}
.sp-collage__hub i.icon{font-size:28px}
.wm-float--3 i.icon{font-size:18px}
.wm-trust i.icon{font-size:14px}
.wv-scan__ok i.icon{font-size:16px}
.wv-recv i.icon{font-size:12px}
.wm-band__list i.icon{font-size:16px}
.wv-sync__ic i.icon{font-size:16px}
.wm-bound__ic i.icon{font-size:19px}
.dm-out__ic i.icon{font-size:20px}
.dm-day li i.icon{font-size:14px}
.dm-band__ic i.icon{font-size:18px}
.op-outs li>span i.icon{font-size:16px}
.op-sync span i.icon{font-size:18px}
.op-tab--end>span i.icon{font-size:18px}
.op-roles__ic i.icon{font-size:20px}
.rp-hero__chip span i.icon{font-size:18px}
.rp-side__ic i.icon{font-size:22px}
.rp-list i.icon{font-size:14px}
.rp-bridge span i.icon{font-size:22px}
.e2-st__ic i.icon{font-size:20px}
.e2-erp span i.icon{font-size:22px}
.in-meta i.icon,.in-art__meta i.icon{font-size:15px}
.in-take i.icon{font-size:14px}
.ck__h span i.icon{font-size:18px}

/* ===================== v66 header over hero ===================== */
/* logo sits on a dark plate so mark + wordmark + tagline stay legible
   against any hero photo; it dissolves once the nav turns solid. */
body.page-vhero .brand{
  border:1px solid transparent;border-radius:12px;padding:6px 14px 6px 8px;
  transition:background .3s,border-color .3s,box-shadow .3s,backdrop-filter .3s;
}
/* v86: the plate is gone — the mark and wordmark sit straight on the photo.
   A soft shadow does the legibility job the dark tile used to do, and drops a
   backdrop-filter that was repainting behind a fixed element every frame. */
.sh--hero .brand{background:none;border-color:transparent;box-shadow:none;
  -webkit-backdrop-filter:none;backdrop-filter:none}
.sh--hero .brand__name,
.sh--hero .brand__tag{text-shadow:0 1px 3px rgba(0,0,0,.55),0 0 18px rgba(0,0,0,.35)}
.sh--hero .brand__mark{filter:drop-shadow(0 2px 6px rgba(0,0,0,.55))}
.sh--hero .brand__tag{color:rgba(255,255,255,.82)}
/* phone: icon and number both white over the hero */
.sh--hero .sh__phone,
.sh--hero .sh__phone i.icon{color:#fff}
.sh--hero .sh__phone:hover,
.sh--hero .sh__phone:hover i.icon{color:var(--yellow)}
@media (max-width:1400px){body.page-vhero .brand{padding:6px 10px 6px 8px}}
/* Products mega: SynvoraBot is the 5th tile — give it the full last row */

/* footer office address (two lines, icon stays top-aligned) */
.sf__contact li:has(.sf__addr){align-items:flex-start}
.sf__contact li:has(.sf__addr) i.icon{margin-top:3px}
.sf__addr{line-height:1.45;font-weight:600}
.sf__addr:hover{color:var(--yellow)}

/* ===================== v66 Book-a-demo modal ===================== */
.dmodal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px}
.dmodal[hidden]{display:none}
.dmodal__backdrop{position:absolute;inset:0;background:rgba(6,26,13,.62);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .28s}
.dmodal.is-open .dmodal__backdrop{opacity:1}
.dmodal__dialog{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  width:min(980px,100%);max-height:min(92vh,860px);background:#fff;border-radius:16px;overflow:hidden;
  box-shadow:0 50px 110px -30px rgba(5,25,12,.6);
  opacity:0;transform:translateY(18px) scale(.97);transition:opacity .3s,transform .3s cubic-bezier(.2,.8,.3,1)}
.dmodal.is-open .dmodal__dialog{opacity:1;transform:none}
.dmodal__x{position:absolute;top:14px;right:14px;z-index:3;width:38px;height:38px;border-radius:50%;
  border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;
  display:grid;place-items:center;font-size:16px;box-shadow:0 2px 10px rgba(13,65,29,.12);
  transition:background .2s,transform .2s,color .2s}
.dmodal__x:hover{background:var(--green-900);border-color:var(--green-900);color:#fff;transform:rotate(90deg)}
/* left brand panel */
.dmodal__aside{position:relative;overflow:hidden;padding:clamp(28px,3.4vw,42px);color:#cfe2d4;
  background:var(--green-900);
  background-image:radial-gradient(520px 320px at 110% -10%,rgba(58,162,87,.5),transparent 68%)}
.dmodal__glow{position:absolute;left:-70px;bottom:-90px;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(248,194,42,.28),transparent 68%);pointer-events:none}
.dmodal__badge{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border-radius:999px;
  background:rgba(248,194,42,.16);border:1px solid rgba(248,194,42,.36);color:var(--yellow);
  font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.dmodal__aside h2{color:#fff;font-size:clamp(1.7rem,2.7vw,2.25rem);line-height:1.1;margin:16px 0 10px}
.dmodal__lede{margin:0;font-size:.95rem;line-height:1.6}
.dmodal__list{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px}
.dmodal__list li{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;line-height:1.5}
.dmodal__list i{color:var(--yellow);font-size:15px;margin-top:3px;flex:none}
.dmodal__aside-foot{margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.16);font-size:.84rem}
.dmodal__aside-foot span{display:block;opacity:.75;margin-bottom:5px}
.dmodal__aside-foot a{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:800;font-size:1.02rem}
.dmodal__aside-foot a i{color:var(--yellow);font-size:15px}
.dmodal__aside-foot a:hover{color:var(--yellow)}
/* right form panel */
.dmodal__main{position:relative;overflow-y:auto;padding:clamp(26px,3.2vw,40px);background:#fff}
.dmodal__eyebrow{margin:0 0 18px;font-size:.74rem;font-weight:800;letter-spacing:.09em;
  text-transform:uppercase;color:var(--green-600)}
.dmodal__form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.dmodal__form .field{margin-bottom:14px}
.dmodal__form .field-row .field{margin-bottom:0}
.dmodal__submit{width:100%;justify-content:center;margin-top:4px}
.dmodal__note{margin:14px 0 0;font-size:.78rem;color:var(--muted);line-height:1.5}
.dmodal__note i{font-size:11px;margin-right:6px}
.dmodal__note a{color:var(--green-600);font-weight:600;text-decoration:underline}
/* success state */
.dmodal__done{text-align:center;padding:clamp(20px,4vw,48px) 0}
.dmodal__done[hidden]{display:none}
.dmodal__done-ic{width:62px;height:62px;border-radius:50%;background:var(--green-50);color:var(--green-600);
  display:grid;place-items:center;margin:0 auto 18px;font-size:26px;
  animation:dmodalPop .45s cubic-bezier(.2,1.5,.4,1) both}
@keyframes dmodalPop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
.dmodal__done h3{margin:0 0 8px;font-size:1.5rem}
.dmodal__done p{margin:0 auto 10px;max-width:340px;color:var(--text);font-size:.94rem;line-height:1.6}
.dmodal__done-alt{font-size:.86rem!important}
.dmodal__done-alt a{color:var(--green-600);font-weight:700}
.dmodal__done .btn{margin-top:14px}
/* responsive */
@media (max-width:860px){
  .dmodal{padding:0}
  .dmodal__dialog{grid-template-columns:1fr;max-height:100vh;height:100%;width:100%;border-radius:0}
  .dmodal__aside{padding:26px 22px 24px}
  .dmodal__aside h2{font-size:1.6rem;margin-top:12px}
  .dmodal__list{display:none}
  .dmodal__aside-foot{margin-top:18px;padding-top:14px}
  .dmodal__main{padding:24px 22px 32px}
  .dmodal__x{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3);color:#fff;box-shadow:none}
}
@media (max-width:560px){
  .dmodal__form .field-row{grid-template-columns:1fr;gap:0}
  .dmodal__form .field-row .field{margin-bottom:14px}
  .dmodal__lede{font-size:.88rem}
}
@media (prefers-reduced-motion:reduce){
  .dmodal__backdrop,.dmodal__dialog{transition:none}
  .dmodal__done-ic{animation:none}
}
body.dmodal-open{overflow:hidden}

/* ===================== v66 mobile hero: fit copy + stats in one screen ===================== */
@media (max-width:760px){
  /* one screen = nav + copy + stats band. Flex does the arithmetic, so the
     band can grow or wrap without ever pushing the stats below the fold. */
  body.page-vhero .vhero{display:flex;height:var(--app-h,100svh);min-height:0}
  body.page-vhero .vhero__inner{display:flex;flex-direction:column;height:100%;
    padding-top:0;padding-bottom:0}
  body.page-vhero .vhero__video,
  body.page-vhero .vhero__shade{bottom:0;height:100%}
  body.page-vhero .vhero__copy{flex:1 1 auto;min-height:0;display:flex;
    flex-direction:column;justify-content:flex-end;padding:82px 0 18px}
  body.page-vhero .vhero__stats{flex:0 0 auto;align-content:center;
    padding:18px var(--gutter) 22px;gap:12px 18px}
}
/* short screens (landscape phones): let the page scroll instead of crushing the headline */
@media (max-width:760px) and (max-height:620px){
  body.page-vhero .vhero{height:auto;min-height:0}
  body.page-vhero .vhero__copy{min-height:360px}
}

/* ===================== v67 footer: slimmer, HQ location card ===================== */
/* the art strip reserved 230px of dead space — bring the whole footer in */
.sf__links{padding-top:44px;padding-bottom:200px}
.sf__panel{padding-top:44px;padding-bottom:44px}
.sf__art{height:210px}
@media (min-width:1101px){
  .sf__panel{padding-bottom:200px}
}
/* HQ location card */
.sf__hq{position:relative;overflow:hidden;margin:0 0 16px;padding:16px 18px;
  border-radius:12px;background:#07290f;border:1px solid rgba(248,194,42,.32);
  box-shadow:0 18px 40px -26px rgba(0,0,0,.9)}

.sf__hq::after{content:"";position:absolute;right:-30px;top:-40px;width:170px;height:170px;
  border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(248,194,42,.16),transparent 68%)}
.sf__hq>*{position:relative;z-index:1}
.sf__hq-pin{position:absolute;top:50%;right:22px;transform:translateY(-50%);
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  background:var(--yellow);color:var(--green-900);font-size:20px;
  box-shadow:0 0 0 8px rgba(248,194,42,.12),0 0 0 17px rgba(248,194,42,.06),
             0 10px 22px -8px rgba(0,0,0,.7)}
.sf__hq h5{margin:0 0 7px;color:#fff;font-size:1.06rem;font-weight:800;letter-spacing:-.01em}
.sf__hq address{margin:0 0 13px;font-style:normal;font-size:.88rem;line-height:1.55;color:#c3d9c9;
  max-width:62%}
.sf__hq-link{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:999px;
  border:1px solid rgba(248,194,42,.45);color:var(--yellow);font-weight:700;font-size:.84rem;
  transition:background .2s,color .2s,border-color .2s}
.sf__hq-link i{font-size:11px}
.sf__hq-link:hover{background:var(--yellow);border-color:var(--yellow);color:var(--green-900)}
@media (max-width:1100px){
  .sf__links{padding-bottom:60px}
  .sf__panel{padding-bottom:56px}
  .sf__art{height:170px;opacity:.75}
}
@media (max-width:620px){
  .sf__hq address{max-width:100%}
  .sf__hq-pin{top:18px;right:18px;transform:none;width:38px;height:38px;font-size:16px;
    box-shadow:0 0 0 6px rgba(248,194,42,.12)}
}
.sf__contact{margin-bottom:0}
.sf__contact li{margin-bottom:8px}
.sf__hq address{margin-bottom:11px}
@media (max-width:1100px){
  .sf__links{padding-bottom:30px}
  .sf__panel{padding-top:36px;padding-bottom:180px}
}
/* keep the bottom bar clear of the floating back-to-top button */
@media (max-width:760px){
  .sf__bottom-in{padding-bottom:58px}
  .sf__bottom-in span{display:block;padding-right:64px}
}

/* ===================== v68 HQ card: illustrated map ===================== */
.sf__hq{min-height:168px;display:flex;align-items:center}
.sf__hq-map{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.sf__hq-map .hq-blk{fill:rgba(255,255,255,.04)}
.sf__hq-map .hq-road{fill:none;stroke:rgba(255,255,255,.065);stroke-width:9}
.sf__hq-map .hq-lane{fill:none;stroke:rgba(255,255,255,.13);stroke-width:1;stroke-dasharray:5 7}
.sf__hq-map .hq-route{fill:none;stroke:rgba(248,194,42,.55);stroke-width:2;
  stroke-dasharray:3 7;stroke-linecap:round}
.sf__hq-map .hq-van{fill:rgba(255,255,255,.12);stroke:rgba(255,255,255,.3);stroke-width:.9}
.sf__hq-map .hq-van circle{fill:#06240e;stroke:rgba(255,255,255,.3)}
.sf__hq-map .hq-pinlet{fill:rgba(248,194,42,.55)}
/* scrim keeps the text legible over the map */
.sf__hq-body{position:relative;z-index:2;max-width:64%}
.sf__hq-body::before{content:"";position:absolute;inset:-18px -26px -18px -22px;z-index:-1;
  background:linear-gradient(90deg,#07290f 58%,rgba(7,41,15,.86) 80%,rgba(7,41,15,0) 100%)}
.sf__hq-pin{z-index:2}
/* compact text link instead of the pill */
.sf__hq-link{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;border-radius:0;
  font-size:.83rem;font-weight:700;color:var(--yellow);
  border-bottom:1px solid rgba(248,194,42,.4);padding-bottom:2px;transition:border-color .2s,color .2s}
.sf__hq-link i{font-size:10px}
/* beat `.sf a:hover{color:var(--yellow)}` — it was making hover text vanish */
.sf .sf__hq-link:hover,.sf .sf__hq-link:focus-visible{background:none;color:#fff;border-bottom-color:#fff}
@media (max-width:620px){
  .sf__hq-body{max-width:72%}
  .sf__hq-body::before{background:linear-gradient(90deg,#07290f 62%,rgba(7,41,15,.84) 84%,rgba(7,41,15,0) 100%)}
}
.sf__hq-body{max-width:none}
.sf__hq address{white-space:nowrap;max-width:none;width:max-content}
@media (max-width:620px){.sf__hq-body{max-width:none}}

/* ===================== v70 hero copy: sit lower in the banner ===================== */
/* The inner is a space-between column (copy top, stats bottom), so a top margin on
   the copy moves only the copy down — the stats stay pinned to the foot of the hero.
   Auto margins split the free space evenly, so the block self-centres between the
   nav and the stats at any viewport height. */
@media (min-width:761px){
  body.page-vhero .vhero__inner{justify-content:flex-start}
  body.page-vhero .vhero__copy{margin-top:auto;margin-bottom:auto}
}

/* ===================== v71 Products page: full-width integration strip ===================== */
.sh-card--wide{grid-column:1/-1}
.sh-card--wide>div{flex-direction:row;align-items:center;gap:22px;padding:22px 24px}
.sh-card--wide .sp-feat__ic{margin:0;flex:none}
.sh-card__wt{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.sh-card--wide h3{margin:0}
.sh-card--wide p{margin:0}
.sh-card--wide .sp-link{margin-top:0;flex:none;white-space:nowrap}
@media (max-width:760px){
  .sh-card--wide>div{flex-direction:column;align-items:flex-start;gap:12px}
  .sh-card--wide .sp-link{white-space:normal}
}
/* the imageless dark card sits beside cards with 220px figures — centre its content
   rather than letting the bottom-pinned link leave a hollow middle */
.sh-card--dark:not(.sh-card--wide)>div{justify-content:center}
.sh-card--dark:not(.sh-card--wide) .sp-link{margin-top:18px}

/* ===================== v72 AI Agents cards ===================== */
.ag-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:40px}
.ag-card{display:flex;flex-direction:column;border-radius:14px;overflow:hidden;
  background:var(--green-900);box-shadow:0 30px 58px -40px rgba(5,25,12,.75);
  transition:transform .25s,box-shadow .25s}
.ag-card:hover{transform:translateY(-5px);box-shadow:0 42px 72px -42px rgba(5,25,12,.85)}
.ag-card figure{position:relative;margin:0;height:208px;overflow:hidden;background:#0b2b15}
.ag-card figure img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ag-card:hover figure img{transform:scale(1.045)}
.ag-card__tag{position:absolute;right:14px;top:14px;z-index:2;display:inline-flex;align-items:center;
  gap:7px;padding:5px 12px;border-radius:999px;background:rgba(7,32,15,.82);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.2);color:#fff;
  font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.ag-card__tag i{color:var(--yellow);font-size:11px}
.ag-card__body{display:flex;flex-direction:column;flex:1;padding:22px 22px 20px;color:#cfe2d4}
.ag-card__body h3{margin:0 0 8px;color:#fff;font-size:1.18rem;letter-spacing:-.01em}
.ag-card__body p{margin:0;font-size:.93rem;line-height:1.6}
.ag-card__impact{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.16)}
.ag-card__impact small{display:flex;align-items:center;gap:7px;margin-bottom:5px;
  font-size:.69rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  color:rgba(207,226,212,.72)}
.ag-card__impact small i{color:var(--yellow);font-size:11px}
.ag-card__impact b{display:block;color:#fff;font-size:.98rem;line-height:1.45}
@media (max-width:1050px){.ag-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.ag-grid{grid-template-columns:1fr}.ag-card figure{height:188px}}

/* ===================== v73 AI Agents: narrative intro + UI overlay chips ===================== */
.ag-intro__copy{max-width:880px;margin:0 auto;text-align:center}
.ag-intro__copy .section-title{margin-bottom:22px}
.ag-intro__copy p{margin:0 0 16px;font-size:1.05rem;line-height:1.72;color:var(--text)}
.ag-intro__copy p:last-of-type{margin-bottom:0}
.ag-intro__btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:30px}
@media (max-width:620px){.ag-intro__copy p{font-size:.98rem;line-height:1.65}}

/* photo + floating UI chips, the way the agent would actually appear on screen */
.ag-shot{font-size:11px}
.ag-shot::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(6,24,12,.38) 0%,rgba(6,24,12,.08) 42%,rgba(6,24,12,.5) 100%)}
.ag-chip{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:.55em;
  padding:.5em .78em;border-radius:.72em;background:rgba(255,255,255,.97);color:#0d2a16;
  font-size:1em;font-weight:700;line-height:1.3;letter-spacing:-.005em;white-space:nowrap;
  box-shadow:0 .55em 1.5em -.45em rgba(0,0,0,.6),0 0 0 1px rgba(13,42,22,.06);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.ag-chip i{font-size:.92em;flex:none}
.ag-chip--stack{align-items:flex-start}
.ag-chip--stack i{margin-top:.15em}
.ag-chip--stack span{display:flex;flex-direction:column;gap:.1em}
.ag-chip small{font-weight:600;font-size:.85em;opacity:.62;letter-spacing:0}
.ag-chip--alert i{color:#c0392b}
.ag-chip--ok{background:rgba(233,247,236,.97)}
.ag-chip--ok i{color:#1d7a3e}
.ag-chip--ai{background:rgba(10,36,19,.93);color:#fff;box-shadow:0 .55em 1.5em -.45em rgba(0,0,0,.7),0 0 0 1px rgba(248,194,42,.4)}
.ag-chip--ai i{color:var(--yellow)}
.ag-chip--ai small{opacity:.75}
@media (max-width:1240px){.ag-shot{font-size:10px}}
@media (max-width:1050px){.ag-shot{font-size:11.5px}}
@media (max-width:640px){.ag-shot{font-size:10.5px}}

/* ===================== v74 AI Agents: 2-up cards, purpose-built artwork ===================== */
/* two per row so the scene artwork reads at a glance */
.ag-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
/* match the artwork's own ratio so nothing important gets cropped */
.ag-shot{height:auto;aspect-ratio:1200/700;font-size:13px}
.ag-card__body{padding:26px 26px 24px}
.ag-card__body h3{font-size:1.32rem}
.ag-card__body p{font-size:.97rem}
.ag-card__impact b{font-size:1.04rem}
/* the artwork is already dark and composed — a lighter scrim is enough */
.ag-shot::after{background:linear-gradient(180deg,rgba(4,21,10,.28) 0%,rgba(4,21,10,0) 40%,rgba(4,21,10,.42) 100%)}
/* supporting image under the opening narrative */
.ag-hero{margin:44px auto 0;max-width:1180px;border-radius:18px;overflow:hidden;
  box-shadow:0 40px 80px -46px rgba(5,25,12,.75)}
.ag-hero img{display:block;width:100%;height:auto}
@media (max-width:1100px){.ag-shot{font-size:12px}}
@media (max-width:860px){
  .ag-grid{grid-template-columns:1fr;gap:22px}
  .ag-shot{font-size:12.5px}
  .ag-hero{margin-top:32px;border-radius:14px}
}
@media (max-width:560px){.ag-shot{font-size:10.5px}.ag-card__body{padding:20px 20px 18px}}

/* ===================== v77 AI Agents: parade intro + light card artwork ===================== */
/* intro reads like the DMS hero: lead paragraph, three outcomes, then the visual */
.ag-intro .sp-intro__grid{align-items:center}
.ag-intro__copy,.ag-intro__copy .section-title,.ag-intro__copy .section-sub,
.ag-intro__copy .eyebrow,.ag-intro__copy .dm-outs li{text-align:left}
.ag-intro__copy .section-title,.ag-intro__copy .section-sub{margin-left:0;margin-right:0}
.ag-intro__copy .sp-btns{justify-content:flex-start}
.ag-intro .section-sub{margin-bottom:18px}
.ag-intro .dm-outs{margin:26px 0 28px}
.ag-live{align-self:center;margin:0}
.ag-live img{display:block;width:100%;height:auto;border-radius:18px}

/* ---- the live run: a 16s loop of one delivery being watched and corrected ---- */
.agx{position:relative;border-radius:18px;overflow:hidden;background:#081a10;
  aspect-ratio:6/5;box-shadow:0 30px 64px -34px rgba(4,18,10,.85);
  border:1px solid rgba(79,210,122,.22);container-type:inline-size}
.agx__map{display:block;width:100%;height:100%}

/* the route itself draws in, then the light keeps running along it */
.agx__route{stroke-dasharray:1700;stroke-dashoffset:1700;
  animation:agxDraw 16s linear infinite}
.agx__flow{animation:agxFlow 1.5s linear infinite;opacity:.85}
.agx__old{opacity:0;animation:agxOld 16s linear infinite}
.agx__ex{opacity:0;transform-origin:690px 470px;animation:agxEx 16s linear infinite}
.agx__pin{opacity:0;animation:agxPin 16s linear infinite;animation-delay:var(--d)}
.agx__dest{opacity:0;animation:agxPin 16s linear infinite;animation-delay:12.4s}
.agx__truck{offset-path:path("M 92 905 C 215 905 262 782 352 726 C 452 664 520 628 566 548 C 616 462 660 372 782 330 C 884 295 980 256 1098 196");
  offset-rotate:auto;animation:agxRun 16s linear infinite}

@keyframes agxDraw{0%{stroke-dashoffset:1700}28%,100%{stroke-dashoffset:0}}
@keyframes agxFlow{to{stroke-dashoffset:-50}}
@keyframes agxOld{0%,6%{opacity:0}10%,52%{opacity:.9}62%,100%{opacity:0}}
@keyframes agxEx{0%,38%{opacity:0;transform:scale(.9)}
  44%{opacity:1;transform:scale(1)}
  52%{opacity:.75;transform:scale(1.04)}
  60%{opacity:1;transform:scale(1)}
  70%{opacity:0;transform:scale(.92)}100%{opacity:0;transform:scale(.9)}}
@keyframes agxPin{0%{opacity:0}4%,92%{opacity:1}100%{opacity:0}}
@keyframes agxRun{0%{offset-distance:0%}6%{offset-distance:0%}
  94%{offset-distance:100%}100%{offset-distance:100%}}

/* the callouts, each arriving as the truck reaches that part of the run */
.agx__brand,.agx__chip{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:9px;
  padding:9px 14px;border-radius:11px;font-weight:700;line-height:1.25;letter-spacing:-.01em;
  background:linear-gradient(180deg,rgba(10,38,22,.92),rgba(6,26,15,.95));
  border:1px solid rgba(79,210,122,.55);color:#eaf7ee;
  box-shadow:0 0 22px -6px rgba(79,210,122,.45),0 16px 32px -20px rgba(0,0,0,.9);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);white-space:nowrap}
.agx__brand i,.agx__chip i{color:#4fd27a;flex:none}
.agx__chip.is-alert{border-color:rgba(255,106,82,.7)}
.agx__chip.is-alert i{color:#ff6a52}

.agx__brand{left:4%;top:5%;font-size:clamp(.72rem,2.1cqw,.95rem)}
.agx__chip{font-size:clamp(.72rem,2.1cqw,.95rem);opacity:0;
  animation:agxChip 16s ease-in-out infinite}
.agx__chip--1{left:4%;top:56%;animation-delay:.6s}
.agx__chip--2{right:4%;top:22%;animation-delay:3.8s}
.agx__chip--3{right:4%;top:44%;animation-delay:6.6s}
.agx__chip--4{right:6%;top:66%;animation-delay:9.6s}
.agx__chip--5{right:5%;top:8%;animation-delay:12.6s}
@keyframes agxChip{
  0%{opacity:0;transform:translateY(10px) scale(.96)}
  3%{opacity:1;transform:none}
  17%{opacity:1;transform:none}
  21%,100%{opacity:0;transform:translateY(-6px) scale(.99)}}

/* anyone who asked for less movement gets the scene, held still */
@media (prefers-reduced-motion:reduce){
  .agx *{animation:none!important}
  .agx__route{stroke-dashoffset:0}
  .agx__truck{offset-distance:62%}
  .agx__chip,.agx__pin{opacity:1}
  .agx__ex{opacity:1}
}
/* ---- agent cards: photo with a name pill and a live readout panel ---- */
/* the card IS the photo now — no body panel under it */
.ag-card{background:none;border:0;border-radius:16px;box-shadow:none}
.ag-card:hover{transform:none;box-shadow:none}
.ag-card .ag-shot{height:auto;aspect-ratio:12/7;border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 26px 54px -30px rgba(6,20,11,.75)}
.ag-card:hover .ag-shot img{transform:scale(1.03)}
.ag-card figure{background:#0e1a12}
.ag-shot::after{background:linear-gradient(180deg,rgba(6,16,10,.34) 0%,rgba(6,16,10,.06) 38%,rgba(6,16,10,.62) 100%)}

/* the agent name, bottom-left, reading as part of the scene */
.ag-name{position:absolute;left:14px;bottom:14px;z-index:3;margin:0;
  display:inline-flex;align-items:center;gap:10px;max-width:calc(100% - 28px);
  padding:9px 16px 9px 13px;border-radius:12px;
  background:linear-gradient(180deg,rgba(13,58,30,.94),rgba(8,38,20,.96));
  border:1px solid rgba(79,210,122,.42);
  box-shadow:0 10px 26px -12px rgba(0,0,0,.8), 0 0 0 1px rgba(255,255,255,.04) inset;
  color:#fff;font-size:clamp(.95rem,1.5vw,1.12rem);font-weight:700;line-height:1.2;
  letter-spacing:-.01em;text-shadow:0 1px 2px rgba(0,0,0,.45)}
.ag-name i{color:var(--green-400,#4fd27a);font-size:1.02em;flex:none}

/* the readout panel on the right */
.ag-panel{position:absolute;right:14px;bottom:14px;z-index:3;
  width:min(52%,290px);padding:12px 14px 13px;border-radius:14px;
  background:linear-gradient(180deg,rgba(8,30,17,.90),rgba(5,22,12,.93));
  border:1px solid rgba(79,210,122,.55);
  box-shadow:0 0 0 1px rgba(79,210,122,.14), 0 0 26px -6px rgba(79,210,122,.42),
             0 20px 40px -22px rgba(0,0,0,.9);
  backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);color:#fff}
.ag-panel__head{display:flex;align-items:center;gap:9px;padding-bottom:9px;margin-bottom:9px;
  border-bottom:1px solid rgba(255,255,255,.16);font-size:.98rem;line-height:1.25}
.ag-panel__head b{font-weight:700;color:#fff;letter-spacing:-.01em}
.ag-panel__head i{font-size:1.05em;flex:none}
.ag-panel__head--ok i{color:var(--green-400,#4fd27a)}
.ag-panel__head--alert i{color:#ff6a52}

.ag-panel__checks,.ag-panel__rows{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.ag-panel__checks li,.ag-panel__rows li{display:flex;align-items:center;gap:9px;
  font-size:.9rem;line-height:1.35;color:#fff}
.ag-panel__checks i{color:var(--green-400,#4fd27a);font-size:1em;flex:none}
.ag-panel__rows i{color:rgba(255,255,255,.85);font-size:.92em;flex:none}

.ag-panel__note{background:#fff;color:#16301f;border-radius:9px;padding:9px 11px;
  font-size:.86rem;line-height:1.4}
.ag-panel__note p{margin:0}
.ag-panel__eta{margin-top:6px!important;font-weight:700}

.ag-panel__btn{display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:11px;padding:8px 12px;border-radius:9px;
  font-size:.86rem;font-weight:700;line-height:1.2}
.ag-panel__btn--y{background:var(--yellow,#f8c22a);color:#2a2203}
.ag-panel__btn--g{background:rgba(79,210,122,.22);border:1px solid rgba(79,210,122,.6);color:#fff}
.ag-panel__btn--g i{color:var(--green-400,#4fd27a)}

/* the PDF / email tiles feeding the order intake agent */
.ag-feed{position:absolute;left:5.5%;top:50%;transform:translateY(-50%);z-index:3;
  display:flex;align-items:center;gap:8px}
.ag-feed i{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;
  background:rgba(10,32,19,.72);border:1px solid rgba(255,255,255,.30);
  color:#fff;font-size:1rem;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.ag-feed__arrow{display:grid;place-items:center;color:#fff;opacity:.85;font-size:.9rem}

@media (max-width:1180px){
  .ag-panel{width:min(58%,260px);padding:10px 12px 11px}
  .ag-panel__head{font-size:.9rem}
  .ag-panel__checks li,.ag-panel__rows li{font-size:.82rem}
  .ag-feed i{width:32px;height:32px;font-size:.88rem}
}
@media (max-width:560px){
  .ag-panel{right:10px;width:min(62%,215px);padding:9px 10px 10px;border-radius:11px}
  .ag-panel__head{font-size:.82rem;padding-bottom:7px;margin-bottom:7px}
  .ag-panel__checks,.ag-panel__rows{gap:5px}
  .ag-panel__checks li,.ag-panel__rows li{font-size:.75rem;gap:7px}
  .ag-panel__note{font-size:.74rem;padding:7px 9px}
  .ag-panel__btn{font-size:.75rem;padding:7px 9px;margin-top:8px}
  .ag-name{left:10px;bottom:10px;padding:7px 12px 7px 10px;font-size:.84rem;gap:8px}
  .ag-feed{left:4%;gap:6px}
  .ag-feed i{width:26px;height:26px;font-size:.74rem}
}

/* ===================== v86 header polish ===================== */
/* 2. On mobile the nav collapses into the drawer, so the tagline has room again.
      It stays hidden in the 1061–1180 band where it would crowd the nav. */
@media (max-width:1060px){.brand__tag{display:block}}

/* 3. Over the hero the logo's green tile reads as a box stuck on the image —
      drop the tile and let the mark sit directly on the photo. */
.sh--hero .brand__mark rect{fill:none}
.sh--hero .brand__mark circle[fill="#0d411d"]{fill:none}

/* 4. Cookie settings is a desktop-only control in the footer strip. */
@media (max-width:640px){.sf__cookie{display:none}}

/* 5. No backdrop-filter on the fixed hero header: blurring what is behind a
      fixed element forces a full-viewport repaint on every scroll frame, which
      is the remaining source of the occasional judder. A solid fill is cheap. */
body.page-vhero .sh{
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  background:#fff;
}

/* v88: Services has no landing page of its own, so that crumb is a label
   rather than a link — styled like the other ancestors so the trail still
   reads as a hierarchy. */
.breadcrumbs .bc-parent{font-weight:600;color:var(--ink)}
.page-hero--photo .breadcrumbs .bc-parent{color:#fff;font-weight:700}

/* ===================== v90 home alignment ===================== */
/* 1 + 2: the trusted-by line and its three facts stack centred, instead of
   being pushed to opposite ends of the row. */
.tb__head{flex-direction:column;justify-content:center;text-align:center}
.tb__title{max-width:760px}
.tb__facts{justify-content:center}

/* 3: the workflow head matches the centred section above it.
      It is a two-column grid by default, so the columns collapse first. */
.wf__head.center{display:block;text-align:center}
.wf__head.center .section-title,
.wf__head.center .section-sub{margin-left:auto;margin-right:auto}
.wf__head.center .section-sub{max-width:720px}


/* ===================== v91 Products menu: the suite panel ===================== */
/* wide enough that anchoring it to the Products item would push it off the
   left edge, so this one centres on the viewport under the sticky header */
.mega--suite{position:fixed;top:88px;width:min(1300px,calc(100vw - 40px));padding:0}

.suite{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:0}
.suite__main{padding:26px 28px 24px;min-width:0}
.suite__bot{position:relative;overflow:hidden;margin:18px 18px 18px 0;padding:22px 24px 24px;
  border-radius:7px;min-width:0;border:1px solid #d8ead9;
  background:linear-gradient(158deg,#f4fbf4 0%,#eaf6ec 46%,#dff1e4 100%)}
/* the soft ribbon sweeping across the top-right */
.suite__bot::after{content:"";position:absolute;right:-22%;top:-38%;width:78%;height:116%;
  border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(255,255,255,.85),rgba(255,255,255,0) 72%)}
.suite__bot>*{position:relative;z-index:1}

/* heading side */
.suite__eyebrow{display:flex;align-items:center;gap:14px;
  font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--green-600)}
.suite__eyebrow::after{content:"";flex:1;height:1px;background:#d8e4d6}
.suite__title{margin:10px 0 4px;font-size:1.44rem;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.suite__sub{margin:0 0 20px;font-size:.95rem;color:var(--text)}

.suite__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.suite__grid a{display:grid;grid-template-columns:40px 1px minmax(0,1fr) auto;grid-template-rows:auto;
  align-items:center;gap:14px;padding:17px 16px 17px 14px;border-radius:14px;color:var(--ink);
  background:#fff;border:1px solid #e7ece4;transition:border-color .2s,box-shadow .2s,background .2s}
.suite__grid a:hover{background:#fbfdfa;border-color:var(--green-100);
  box-shadow:0 14px 28px -22px rgba(13,65,29,.6)}
.suite__ic{grid-column:1;font-size:30px;color:var(--green-700,#1d6b3c);width:40px;text-align:center}
.suite__grid a>span{grid-column:3;min-width:0}
.suite__grid b{display:block;font-size:1.04rem;font-weight:800;letter-spacing:-.02em;color:var(--green-900)}
.suite__grid small{display:block;margin-top:4px;font-size:.82rem;line-height:1.4;color:var(--muted)}
.suite__grid a::before{content:"";grid-column:2;grid-row:1;width:1px;align-self:stretch;background:#e2e9de;margin:2px 0}
.suite__go{grid-column:4;font-size:17px;color:var(--green-700,#1d6b3c);transition:transform .2s}
.suite__grid a:hover .suite__go{transform:translateX(3px)}

/* the AI panel beside them */
.suite__pill{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;
  background:#fff;border:1px solid #d8ead9;
  font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--green-900)}
.suite__pill i{color:var(--green-600);font-size:12px}
.suite__name{display:flex;align-items:center;gap:13px;margin:18px 0 10px;
  font-size:1.62rem;font-weight:800;letter-spacing:-.025em;color:var(--green-900)}
.suite__name i{font-size:30px;color:var(--green-700,#1d6b3c)}
.suite__name b{font-weight:800;color:var(--green-600)}
.suite__role{display:block;font-size:1.12rem;font-weight:800;color:var(--green-900)}
.suite__blurb{margin:7px 0 0;font-size:.9rem;line-height:1.55;color:var(--text)}
.suite__checks{list-style:none;margin:18px 0 22px;padding:0;display:grid;gap:13px}
.suite__checks li{display:flex;align-items:center;gap:12px;font-size:.95rem;color:var(--ink);line-height:1.35}
.suite__checks i{color:var(--green-500);font-size:19px;flex:none}
.suite__cta{display:inline-flex;align-items:center;gap:10px;margin-top:4px;
  font-size:1.02rem;font-weight:800;color:var(--green-900);
  text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.suite__cta:hover{color:var(--green-600)}
.suite__cta i{font-size:15px;transition:transform .2s}
.suite__cta:hover i{transform:translateX(3px)}

.mega--suite .mega__foot{border-top:1px solid var(--line)}

@media (max-width:1180px){
  .mega--suite{width:min(1020px,calc(100vw - 32px))}
  .suite__title{font-size:1.28rem}
  .suite__grid{gap:12px 16px}
  .suite__name{font-size:1.3rem}
}

/* v92: the nav items only stood as tall as their own text, leaving a dead strip
   between the bottom of the link and the top of the menu — the pointer crossed
   it on the way down and the menu closed. Stretch them to the full bar height
   so the hover never breaks. */
.sh__nav{align-self:stretch;display:flex;align-items:stretch}
.sh__nav>ul{align-items:stretch}
.sh__nav>ul>li{display:flex;align-items:center}
/* The bridge has to live on the nav item: .mega is overflow:hidden, so a
   pseudo-element reaching above it gets clipped and never receives the pointer.
   This one hangs below the item, covering the gap down to the open panel. */
.has-mega{position:relative}
.has-mega::after{content:"";position:absolute;left:-10px;right:-10px;top:100%;height:22px;
  pointer-events:none}
.has-mega:hover::after,.has-mega:focus-within::after{pointer-events:auto}

/* the suite menu's own footer: an inset bar rather than a full-bleed strip */
.suite__foot{display:flex;align-items:center;gap:18px;margin:4px 18px 18px;
  padding:18px 22px;border-radius:14px;background:#f4f6f1}
.suite__foot>i{font-size:24px;color:var(--green-900);flex:none;
  padding-right:18px;border-right:1px solid #dfe4d8}
.suite__foot p{margin:0;flex:1;font-size:1rem;color:var(--text)}
.suite__foot p b{color:var(--green-900);font-weight:800}
.suite__foot>a{display:inline-flex;align-items:center;gap:10px;flex:none;
  font-size:1rem;font-weight:800;color:var(--green-900);
  text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.suite__foot>a:hover{color:var(--green-600)}
.suite__foot>a i{font-size:14px;transition:transform .2s}
.suite__foot>a:hover i{transform:translateX(3px)}
