/* ============================================================
   EDOFOX — modern site design system
   Brand colours sampled from the official logo + FOXBOX deck.
   ============================================================ */
:root{
  --o:#eb6405;--r:#da3507;--a:#f7a81e;
  --g:linear-gradient(135deg,#f7a81e 0%,#eb6405 52%,#da3507 100%);
  --ink:#161a20;--ink2:#2c333d;--sl:#5a6472;--su:#f6f7f9;--wm:#fff4ec;--bd:#e8eaef;
  --sh:0 1px 2px rgba(22,26,32,.05),0 4px 14px rgba(22,26,32,.06);
  --shm:0 10px 30px rgba(22,26,32,.09),0 4px 10px rgba(22,26,32,.05);
  --shb:0 14px 30px rgba(235,100,5,.28);
  --maxw:1200px;--r16:16px;--r22:22px;
  --ff:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--ff);color:var(--ink);background:#fff;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--o);text-decoration:none}
h1,h2,h3,h4{margin:0 0 .4em;line-height:1.12;letter-spacing:-.025em;font-weight:800}
h2{font-size:clamp(1.9rem,3.6vw,2.8rem)}
p{margin:0 0 1rem}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,5vw,40px)}
section{padding:clamp(56px,8vw,100px) 0}
.grad{background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--o);background:var(--wm);padding:.4rem .9rem;border-radius:999px;border:1px solid #ffe0c9;margin-bottom:1.1rem}
.sec-head{max-width:680px;margin:0 auto clamp(36px,5vw,58px);text-align:center}
.sec-head p{color:var(--sl);font-size:1.08rem;margin:0}
.soft{background:var(--su)}
.center{text-align:center}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:1rem;line-height:1;padding:.95rem 1.7rem;border-radius:999px;border:1.5px solid transparent;cursor:pointer;transition:transform .18s,box-shadow .18s;font-family:inherit}
.btn:focus-visible{outline:3px solid rgba(235,100,5,.45);outline-offset:2px}
.btn-primary{background:var(--g);color:#fff;box-shadow:var(--shb)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(235,100,5,.36)}
.btn-ghost{background:#fff;color:var(--ink);border-color:var(--bd);box-shadow:var(--sh)}
.btn-ghost:hover{transform:translateY(-2px);border-color:#d6d9e0}
.btn-white{background:#fff;color:var(--r)}
.btn-white:hover{transform:translateY(-2px)}
.btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}

/* ---------- NAV ---------- */
.nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.86);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--bd)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:flex;align-items:center;gap:.6rem;font-weight:900;font-size:1.3rem;letter-spacing:-.02em;color:var(--ink)}
.logo .m{width:36px;height:36px;border-radius:10px;background:var(--g);display:grid;place-items:center;color:#fff;box-shadow:var(--shb);font-size:1rem}
.menu{display:flex;align-items:center;gap:1.9rem}
.menu a.l{color:var(--ink2);font-weight:600;font-size:.95rem}
.menu a.l:hover,.menu a.l[aria-current="page"]{color:var(--o)}
.tag-new{background:var(--o);color:#fff;font-size:.6rem;font-weight:800;letter-spacing:.06em;padding:.12rem .38rem;border-radius:5px;margin-left:.3rem;vertical-align:middle}
.burger{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;border-radius:10px;align-items:center;justify-content:center}
.burger span,.burger span::before,.burger span::after{content:"";display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;position:relative;transition:.2s}
.burger span::before{position:absolute;top:-7px}.burger span::after{position:absolute;top:7px}
.nav.open .burger span{background:transparent}
.nav.open .burger span::before{transform:rotate(45deg);top:0}
.nav.open .burger span::after{transform:rotate(-45deg);top:0}
@media(max-width:900px){
  .burger{display:inline-flex}
  .menu{position:fixed;inset:72px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--bd);padding:12px 20px 24px;transform:translateY(-140%);transition:transform .25s ease;box-shadow:var(--shm)}
  .nav.open .menu{transform:translateY(0)}
  .menu a.l{padding:.9rem 0;border-bottom:1px solid var(--bd);font-size:1.05rem}
  .menu .btn{margin-top:12px;justify-content:center}
}

/* ---------- HERO ---------- */
.hero{position:relative;overflow:hidden;background:radial-gradient(1100px 520px at 85% -12%,#ffe9d6 0,rgba(255,233,214,0) 62%),radial-gradient(760px 420px at -8% 118%,#fff4ea 0,rgba(255,244,234,0) 60%),#fff}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,56px);align-items:center}
.hero h1{font-size:clamp(2.4rem,5.4vw,4.1rem);font-weight:900;letter-spacing:-.035em;line-height:1.06;margin-bottom:.3em}
.hero .lede{font-size:clamp(1.05rem,1.6vw,1.24rem);color:var(--sl);max-width:40ch}
.hero-cta{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:1.9rem}
.trust{display:flex;align-items:center;gap:1.3rem;margin-top:2.1rem;flex-wrap:wrap;color:var(--sl);font-size:.85rem;font-weight:600}
.trust .st b{color:var(--ink);font-size:1.15rem;font-weight:800}
.hero-visual{position:relative}
.dash{background:#fff;border:1px solid var(--bd);border-radius:18px;box-shadow:var(--shm);overflow:hidden}
.dash .bar{background:var(--g);height:44px;display:flex;align-items:center;gap:6px;padding:0 14px}
.dash .bar i{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.55)}
.dash .bar span{margin-left:auto;color:#fff;font-weight:700;font-size:.82rem}
.dash .body{padding:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:#fcfcfd}
.kpi{background:#fff;border:1px solid var(--bd);border-radius:12px;padding:14px}
.kpi .n{font-size:1.35rem;font-weight:800;color:var(--ink)}
.kpi .k{font-size:.72rem;color:var(--sl);font-weight:600}
.kpi.big{grid-column:span 3;display:flex;align-items:flex-end;gap:8px;height:120px;padding-top:16px}
.kpi.big .col{flex:1;background:var(--g);border-radius:6px 6px 0 0;opacity:.85}
.float{position:absolute;background:#fff;border-radius:13px;box-shadow:var(--shm);padding:.6rem .85rem;font-weight:700;font-size:.8rem;display:flex;align-items:center;gap:.5rem}
.float .k{width:28px;height:28px;border-radius:8px;background:var(--wm);color:var(--o);display:grid;place-items:center}
.float.f1{top:-16px;left:-18px}.float.f2{bottom:-16px;right:-14px}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr;text-align:center}.hero .lede{margin-inline:auto}.hero-cta,.trust{justify-content:center}.hero-visual{margin-top:.5rem}.float.f1{left:0}.float.f2{right:0}}

/* page hero (inner pages) */
.phero{background:radial-gradient(900px 460px at 80% -20%,#ffe9d6 0,rgba(255,233,214,0) 60%),#fff;text-align:center;padding:clamp(48px,7vw,84px) 0 clamp(30px,4vw,44px)}
.phero h1{font-size:clamp(2.1rem,4.6vw,3.3rem);font-weight:900;letter-spacing:-.03em}
.phero p{color:var(--sl);font-size:1.1rem;max-width:56ch;margin:.4rem auto 0}

/* ---------- STATS ---------- */
.stats{background:var(--ink);color:#fff}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.stats .s .n{font-size:clamp(1.9rem,3.4vw,2.8rem);font-weight:900;letter-spacing:-.02em}
.stats .s .k{color:#aeb4bf;font-weight:600;font-size:.92rem;margin-top:.2rem}
@media(max-width:700px){.stats .wrap{grid-template-columns:repeat(2,1fr);gap:32px 16px}}

/* ---------- GRID + CARDS ---------- */
.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--bd);border-radius:var(--r16);padding:1.7rem;box-shadow:var(--sh);transition:transform .18s,box-shadow .18s,border-color .18s}
.card:hover{transform:translateY(-5px);box-shadow:var(--shm);border-color:#ffdcc4}
.card .ic{width:52px;height:52px;border-radius:14px;background:var(--wm);color:var(--o);display:grid;place-items:center;font-size:1.4rem;margin-bottom:1rem;border:1px solid #ffe4d1}
.card h3{font-size:1.14rem}
.card p{color:var(--sl);font-size:.94rem;margin:0}

/* ---------- SHOWCASE ---------- */
.show{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.show+.show{margin-top:clamp(40px,6vw,84px)}
.show.rev .txt{order:2}
.show .txt h3{font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:.5rem}
.show .txt p{color:var(--sl)}
.show .txt ul{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.6rem}
.show .txt li{display:flex;gap:.6rem;align-items:flex-start;font-weight:500}
.show .txt li i{color:#fff;background:var(--g);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;flex:none;margin-top:.15rem;font-style:normal}
.mock{border-radius:var(--r22);border:1px solid var(--bd);box-shadow:var(--shm);overflow:hidden;background:#fff}
.mock .top{background:var(--g);padding:1.4rem 1.6rem;color:#fff}
.mock .top b{font-size:1.15rem;font-weight:800}
.mock .rows{padding:1.2rem 1.4rem;display:grid;gap:.7rem}
.mock .rw{display:flex;align-items:center;gap:.7rem;padding:.7rem .9rem;border:1px solid var(--bd);border-radius:10px;font-size:.9rem;font-weight:600;color:var(--ink2)}
.mock .rw span{margin-left:auto;font-size:.72rem;color:#fff;background:var(--o);padding:.15rem .5rem;border-radius:6px}
.mock .rw .d{width:26px;height:26px;border-radius:7px;background:var(--wm);color:var(--o);display:grid;place-items:center;font-size:.8rem}
@media(max-width:820px){.show{grid-template-columns:1fr}.show.rev .txt{order:0}}

/* ---------- FOXBOX band ---------- */
.fxb{background:var(--ink);color:#fff;border-radius:26px;overflow:hidden;position:relative}
.fxb .wrap2{padding:clamp(34px,5vw,60px);display:grid;grid-template-columns:1.2fr 1fr;gap:34px;align-items:center;position:relative;z-index:1}
.fxb::before{content:"";position:absolute;inset:0;background:radial-gradient(560px 320px at 100% 0,rgba(235,100,5,.45),transparent 62%)}
.fxb .eyebrow{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#ffd9bf}
.fxb h2{color:#fff}
.fxb .chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:.4rem 0 1.4rem}
.fxb .chip{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:.4rem .85rem;font-size:.82rem;font-weight:600;color:#e7eaef}
.fxb .devs{display:flex;gap:14px;justify-content:center}
.fxb .dev{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:1.1rem 1rem;text-align:center;flex:1}
.fxb .dev .nm{font-weight:900;font-size:1.15rem}
.fxb .dev.eco .nm{color:#5fd08a}.fxb .dev.prime .nm{color:#ff9a5a}.fxb .dev.blaze .nm{color:#e879b8}
.fxb .dev .sp{color:#aeb4bf;font-size:.72rem;margin-top:.2rem}
@media(max-width:820px){.fxb .wrap2{grid-template-columns:1fr;text-align:center}.fxb .chips{justify-content:center}}

/* ---------- FOXBOX page: tablet + variants + comparison ---------- */
.tablet{justify-self:center;width:min(320px,78%);aspect-ratio:3/4.1;background:#20242c;border-radius:28px;padding:11px;box-shadow:0 26px 52px rgba(28,32,38,.26)}
.tablet .scr{height:100%;border-radius:19px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.tablet .scrtop{background:var(--g);flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;padding:1rem}
.tablet .scrtop b{font-size:1.4rem;font-weight:900}
.tablet .scrtop small{opacity:.95;font-style:italic;margin-top:.3rem;display:block}
.tablet .apps{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;padding:.9rem}
.tablet .app{text-align:center;font-size:.58rem;color:var(--sl);font-weight:600}
.tablet .app b{display:grid;place-items:center;aspect-ratio:1;border-radius:11px;background:var(--wm);color:var(--o);font-size:1rem;margin-bottom:.2rem;border:1px solid #ffe4d1;font-weight:700}
.variant{position:relative;background:#fff;border:1px solid var(--bd);border-radius:22px;padding:1.7rem;box-shadow:var(--sh);transition:transform .18s,box-shadow .18s}
.variant:hover{transform:translateY(-5px);box-shadow:var(--shm)}
.variant.feat{border-color:var(--o);box-shadow:var(--shb)}
.variant .tier{font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--sl)}
.variant .nm{font-size:1.9rem;font-weight:900;letter-spacing:-.02em;margin:.1rem 0 .2rem;line-height:1}
.variant.eco .nm{color:#2e9e5b}.variant.prime .nm{color:var(--o)}.variant.blaze .nm{color:#c1287d}
.variant .rib{position:absolute;top:16px;right:16px;background:var(--g);color:#fff;font-size:.64rem;font-weight:800;letter-spacing:.08em;padding:.26rem .6rem;border-radius:999px}
.spec{list-style:none;margin:1.1rem 0 0;padding:0;display:grid;gap:.6rem}
.spec li{display:flex;gap:.55rem;font-size:.92rem;color:#3a4250}
.spec li i{color:var(--o);font-style:normal}.spec b{color:var(--ink)}
.cmp{background:#fff;border:1px solid var(--bd);border-radius:16px;overflow:hidden;box-shadow:var(--sh)}
.cmp table{width:100%;border-collapse:collapse}
.cmp th,.cmp td{padding:.95rem 1.1rem;text-align:left;font-size:.93rem;border-bottom:1px solid var(--bd)}
.cmp thead th{background:var(--ink);color:#fff}.cmp thead th.fb{background:var(--o)}
.cmp td.p{font-weight:700}.cmp .y{color:#16a34a;font-weight:600}.cmp .n{color:#e0563f}
.cmp tr:last-child td{border-bottom:none}
.note{margin-top:1rem;text-align:center;font-weight:700;background:var(--wm);border:1px solid #ffe0c9;padding:.85rem 1.1rem;border-radius:12px}
@media(max-width:640px){.cmp{overflow-x:auto}.cmp table{min-width:560px}}

/* ---------- CUSTOMERS ---------- */
.logos{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.logos .lg{width:150px;height:66px;background:#fff;border:1px solid var(--bd);border-radius:12px;display:grid;place-items:center;color:var(--sl);font-weight:800;box-shadow:var(--sh);font-size:.9rem;opacity:.8;transition:opacity .2s,transform .2s}
.logos .lg:hover{opacity:1;transform:translateY(-3px)}

/* ---------- CONTACT ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,54px);align-items:start}
.cinfo .row{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.4rem}
.cinfo .row .k{width:46px;height:46px;border-radius:12px;background:var(--wm);color:var(--o);display:grid;place-items:center;font-size:1.2rem;flex:none;border:1px solid #ffe4d1}
.cinfo .row .lbl{font-size:.78rem;color:var(--sl);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.cinfo .row .val{font-weight:700;color:var(--ink)}
.cinfo .row .val a{color:var(--ink)}
.locs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:1rem}
.locs-grid .loc{background:#fff;border:1px solid var(--bd);border-radius:12px;padding:.9rem 1rem;box-shadow:var(--sh)}
.locs-grid .loc b{display:block;color:var(--ink)}
.locs-grid .loc span{font-size:.86rem;color:var(--sl)}
.form{background:#fff;border:1px solid var(--bd);border-radius:var(--r22);padding:clamp(22px,3vw,32px);box-shadow:var(--shm)}
.form .f{margin-bottom:1rem}
.form label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.4rem}
.form input,.form textarea,.form select{width:100%;border:1.5px solid var(--bd);border-radius:12px;padding:.8rem 1rem;font-family:inherit;font-size:1rem;background:#fff;transition:border-color .15s,box-shadow .15s}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--o);box-shadow:0 0 0 3px rgba(235,100,5,.18)}
.form textarea{min-height:120px;resize:vertical}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr}}

/* ---------- CTA ---------- */
.cta{background:var(--g);border-radius:26px;padding:clamp(36px,6vw,66px);text-align:center;color:#fff;position:relative;overflow:hidden}
.cta h2{color:#fff}
.cta p{color:rgba(255,255,255,.92);max-width:52ch;margin:0 auto 1.6rem}

/* ---------- FOOTER ---------- */
footer.site{background:#12151a;color:#aeb4bf;padding:clamp(44px,6vw,72px) 0 32px;font-size:.92rem}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px}
footer.site h4{color:#fff;font-size:1rem;margin-bottom:1rem}
footer.site a{color:#c7ccd4;display:block;padding:.25rem 0}
footer.site a:hover{color:var(--o)}
footer.site .brand p{color:#8b93a0;max-width:34ch}
footer.site .locs{color:#8b93a0;font-size:.86rem}
footer.site .bottom{border-top:1px solid #232830;margin-top:32px;padding-top:22px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#8b93a0;font-size:.85rem}
@media(max-width:820px){footer.site .cols{grid-template-columns:1fr 1fr}}
@media(max-width:520px){footer.site .cols{grid-template-columns:1fr}}

@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ---------- Real logo images ---------- */
.logo-img{height:36px;width:auto;display:block}
.logo .logo-mark{width:34px;height:34px;object-fit:contain;flex:none}
.logos .lg{padding:12px;background:#fff}
.logos .lg img{max-height:48px;max-width:132px;width:auto;height:auto;object-fit:contain;display:block}
@media(max-width:900px){.logo-img{height:32px}}

/* ---------- ABOUT: team + timeline ---------- */
.team-card{background:#fff;border:1px solid var(--bd);border-radius:var(--r16);padding:1.7rem;box-shadow:var(--sh);text-align:center;transition:transform .18s,box-shadow .18s}
.team-card:hover{transform:translateY(-4px);box-shadow:var(--shm)}
.team-card .av{width:88px;height:88px;border-radius:50%;margin:0 auto 1rem;background:var(--g);display:grid;place-items:center;color:#fff;font-size:1.7rem;font-weight:800;box-shadow:var(--shb)}
.team-card h3{margin:0 0 .1rem;font-size:1.2rem}
.team-card .role{color:var(--o);font-weight:700;font-size:.85rem}
.team-card p{color:var(--sl);font-size:.92rem;margin:.5rem 0 0}
.timeline{max-width:760px;margin:0 auto}
.tl{display:grid;grid-template-columns:110px 1fr;gap:1.2rem;padding-bottom:1.6rem}
.tl .yr{font-weight:900;font-size:1.3rem;color:var(--o);text-align:right}
.tl .ct{border-left:2px solid var(--bd);padding:0 0 .4rem 1.4rem;position:relative}
.tl:last-child .ct{border-left-color:transparent}
.tl .ct::before{content:"";position:absolute;left:-7px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--g)}
.tl .ct h4{margin:0 0 .2rem;font-size:1.05rem}
.tl .ct p{color:var(--sl);margin:0;font-size:.94rem}
@media(max-width:560px){.tl{grid-template-columns:58px 1fr;gap:.8rem}.tl .yr{font-size:1rem}}

/* team photos */
.team-card .av{overflow:hidden;padding:0;background:var(--su)}
.team-card .av img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- ERP flagship accounting panel ---------- */
.acct-flag{background:var(--wm);border:1px solid #ffe0c9;border-radius:26px;padding:clamp(26px,4vw,54px)}
.acct-flag .show{margin:0}

/* wide client logo tile (horizontal wordmark logos) */
.logos .lg.lg-wide{width:230px}
.logos .lg.lg-wide img{max-width:206px}
