/* iklipse products: shared brand layer.
   Colors and fonts come from the iklipse Webflow site (Excon primary, JetBrains Mono for data, orange #F95338).
   Link this file from each product with ../shared/brand.css. */

@font-face{font-family:"Excon";src:url("fonts/Excon-Light.woff2") format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:"Excon";src:url("fonts/Excon-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Excon";src:url("fonts/Excon-Medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Excon";src:url("fonts/Excon-Bold.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Excon";src:url("fonts/Excon-Black.woff2") format("woff2");font-weight:900;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("fonts/JetBrainsMono-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plex Arabic";src:url("fonts/PlexArabic-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plex Arabic";src:url("fonts/PlexArabic-SemiBold.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Plex Arabic";src:url("fonts/PlexArabic-Bold.woff2") format("woff2");font-weight:700;font-display:swap}

:root{
  /* brand */
  --ik-orange:#F95338;
  --ik-orange-ink:#C8381F;      /* orange for small text on light grounds (AA) */
  --ik-orange-soft:#FDE4DD;
  --ik-black:#0B0F0F;
  --ik-ink:#141919;
  --ik-beige:#FAF6F5;
  --ik-gray-1:#F2EEED;
  --ik-gray-2:#E6E2E1;
  --ik-gray-5:#6C6664;
  --ik-navy:#1B1464;
  /* semantic (light) */
  --bg:var(--ik-beige);
  --surface:#FFFFFF;
  --surface-2:var(--ik-gray-1);
  --fg:var(--ik-ink);
  --muted:var(--ik-gray-5);
  --line:var(--ik-gray-2);
  --accent:var(--ik-orange);
  --accent-ink:var(--ik-orange-ink);
  --accent-soft:var(--ik-orange-soft);
  --on-accent:#0B0F0F;
  --good:#1E7A4C; --warn:#A86200; --bad:#B3261E;
  /* type */
  --font:"Excon","Helvetica Neue",Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --arabic:"Plex Arabic","Geeza Pro","Noto Sans Arabic",sans-serif;
  --t-0:1rem; --t-1:1.25rem; --t-2:1.6rem; --t-3:clamp(2rem,4vw,3rem); --t-4:clamp(2.6rem,7vw,5.6rem);
  --radius:14px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0B0F0F; --surface:#141919; --surface-2:#1B2121; --fg:#F6F2F1; --muted:#A39E9C; --line:#2A3030;
    --accent:#FF5F44; --accent-ink:#FF8B76; --accent-soft:#2C1712; --on-accent:#0B0F0F;
    --good:#5BC48C; --warn:#E5A33B; --bad:#F2766D; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0B0F0F; --surface:#141919; --surface-2:#1B2121; --fg:#F6F2F1; --muted:#A39E9C; --line:#2A3030;
  --accent:#FF5F44; --accent-ink:#FF8B76; --accent-soft:#2C1712; --on-accent:#0B0F0F;
  --good:#5BC48C; --warn:#E5A33B; --bad:#F2766D; color-scheme:dark;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:var(--t-0);line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.05;letter-spacing:-0.02em;text-wrap:balance}
p{margin:0}
a{color:var(--accent-ink);text-underline-offset:3px}
[lang="ar"],.ar{font-family:var(--arabic)}
.mono{font-family:var(--mono)}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:inherit;font-weight:700;font-size:1rem;border-radius:999px;padding:14px 24px;border:2px solid var(--fg);background:var(--fg);color:var(--bg);cursor:pointer;text-decoration:none;transition:transform .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn.accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn.ghost{background:transparent;color:var(--fg)}
.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}

/* inputs */
.field{display:grid;gap:8px}
.field label{font-weight:700}
.field .hint{color:var(--muted);font-size:.92rem}
input[type=text],input[type=email],input[type=number],input[type=date],select,textarea{font:inherit;color:var(--fg);background:var(--surface);border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--fg);outline:none}

/* chips / segmented options */
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{font:inherit;font-weight:600;font-size:.95rem;border:1.5px solid var(--line);background:var(--surface);color:var(--fg);border-radius:999px;padding:9px 16px;cursor:pointer}
.opt[aria-pressed="true"],.opt.on{background:var(--fg);border-color:var(--fg);color:var(--bg)}

/* small iklipse sign-off used in tool footers */
.ik-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;color:var(--muted);font-size:.92rem;padding-block:48px}
.ik-mark{display:inline-block;width:43px;height:20px;flex:none;background:var(--ik-mark,var(--accent));-webkit-mask:url(logos/emblem-white.svg) center/contain no-repeat;mask:url(logos/emblem-white.svg) center/contain no-repeat}

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