/* OffPlan Insider design system tokens. Do not hand-edit values here; change the spec. */

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@500;600;700;800&family=Archivo:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans+Arabic:wght@400;600;700&display=swap');

:root{
/* base, near-black ink */
--ink-void:#06070A;--ink-950:#0C0E12;--ink-900:#14161B;--ink-800:#202329;--ink-700:#2E323A;--ink-600:#434852;
/* base, sapphire, the action colour */
--sapphire-700:#093673;--sapphire-600:#0C4497;--sapphire-500:#0F52BA;--sapphire-400:#4C93FF;--sapphire-300:#8CB8FF;--sapphire-200:#B6CDF2;--sapphire-100:#E9F0FC;
/* base, paper and neutrals */
--paper:#FAFBFC;--paper-2:#F4F6F8;--white:#FFFFFF;
--gray-900:#161819;--gray-700:#494E57;--gray-500:#787E88;--gray-400:#9AA0AA;--gray-300:#C5CAD1;--gray-200:#E1E4E9;--gray-100:#EFF1F4;
/* semantic status */
--success:#1B7A56;--success-bg:#E6F2ED;--warning:#9A6B12;--warning-bg:#FAF0DC;--error:#B3261E;--error-bg:#FBEAE8;--info:#2E323A;--info-bg:#EEF0F3;
/* aliases */
--text-1:var(--ink-900);--text-2:var(--gray-700);--text-3:var(--gray-500);--text-inverse:#F4F6F9;--text-inverse-2:rgba(244,246,249,.80);--text-accent:var(--sapphire-600);
--surface-page:var(--white);--surface-card:var(--white);--surface-sunken:var(--paper-2);--surface-ink:var(--ink-950);--surface-ink-2:var(--ink-900);
--border-1:#E4E7EB;--border-2:#D2D6DC;--border-ink:rgba(244,246,249,.14);
--accent:var(--sapphire-500);--accent-strong:var(--sapphire-600);--accent-soft:var(--sapphire-100);
--link:var(--ink-900);--link-hover:var(--sapphire-600);
--focus-ring:0 0 0 3px rgba(15,82,186,.32);
/* deprecated aliases kept so older compiled output still resolves */
--crimson-700:var(--sapphire-700);--crimson-600:var(--sapphire-600);--crimson-500:var(--sapphire-500);--crimson-400:var(--sapphire-400);--crimson-200:var(--sapphire-200);--crimson-100:var(--sapphire-100);
--flame-700:var(--sapphire-700);--flame-600:var(--sapphire-600);--flame-500:var(--sapphire-500);--flame-400:var(--sapphire-400);--flame-200:var(--sapphire-200);--flame-100:var(--sapphire-100);
}

:root{
--font-display:'Sora','IBM Plex Sans Arabic',system-ui,sans-serif;
--font-body:'Archivo','IBM Plex Sans Arabic',system-ui,sans-serif;
--font-mono:'IBM Plex Mono',ui-monospace,monospace;
--text-display-1:clamp(3.25rem,6vw,5.25rem);
--text-display-2:clamp(2.5rem,4vw,3.5rem);
--text-h1:2.5rem;--text-h2:2rem;--text-h3:1.5rem;--text-h4:1.25rem;
--text-body-lg:1.1875rem;--text-body:1.0625rem;--text-body-sm:.9375rem;--text-caption:.8125rem;--text-overline:.75rem;
--leading-tight:1.08;--leading-snug:1.25;--leading-body:1.65;
--tracking-caps:.14em;--tracking-slight:.02em;--tracking-display:-.025em;
--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-display:700;
}

:root{
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;
--container-content:72ch;--container-page:1200px;--container-wide:1360px;
}

:root{
--radius-xs:0;--radius-sm:0;--radius-md:0;--radius-lg:0;--radius-pill:0;
--shadow-1:0 1px 2px rgba(12,14,18,.05),0 1px 6px rgba(12,14,18,.04);
--shadow-2:0 2px 6px rgba(12,14,18,.06),0 12px 28px rgba(12,14,18,.10);
--shadow-lift:0 4px 12px rgba(12,14,18,.08),0 20px 44px rgba(12,14,18,.14);
--ease-out:cubic-bezier(.22,.61,.36,1);
--dur-fast:140ms;
--dur:220ms;
--grad-protect:linear-gradient(180deg,rgba(6,7,10,0) 0%,rgba(6,7,10,.70) 100%);
--noise-tex:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
--glow-bottom:radial-gradient(115% 88% at 50% 118%,rgba(140,184,255,.82) 0%,rgba(76,147,255,.62) 14%,rgba(15,82,186,.38) 34%,rgba(9,54,115,.18) 52%,rgba(6,7,10,0) 74%);
--glow-corner:radial-gradient(95% 86% at 6% 112%,rgba(140,184,255,.74) 0%,rgba(76,147,255,.54) 16%,rgba(15,82,186,.32) 36%,rgba(9,54,115,.15) 54%,rgba(6,7,10,0) 76%);
--glow-top:radial-gradient(80% 130% at 88% -18%,rgba(140,184,255,.66) 0%,rgba(76,147,255,.46) 18%,rgba(15,82,186,.24) 38%,rgba(6,7,10,0) 64%);
--glow-band:radial-gradient(150% 240% at 50% 268%,rgba(140,184,255,.78) 0%,rgba(76,147,255,.56) 12%,rgba(15,82,186,.30) 26%,rgba(6,7,10,0) 58%);
--glow-silk:radial-gradient(70% 62% at 22% 96%,rgba(140,184,255,.76) 0%,rgba(76,147,255,.54) 18%,rgba(15,82,186,.28) 42%,rgba(6,7,10,0) 72%),radial-gradient(60% 70% at 84% 8%,rgba(76,147,255,.48) 0%,rgba(15,82,186,.26) 30%,rgba(9,54,115,.14) 48%,rgba(6,7,10,0) 74%);
--noise-opacity:.30;
}

/* Law 1: zero radius, everywhere. Enforced hard because WordPress core ships a
   9999px pill on buttons and the parent theme ships rounded style variations. */
*,*::before,*::after{box-sizing:border-box;border-radius:0 !important}

body{
  margin:0;
  font-family:var(--font-body);
  font-size:var(--text-body);
  line-height:var(--leading-body);
  color:var(--text-1);
  background:var(--surface-page);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-display);
  font-weight:var(--weight-display);
  letter-spacing:var(--tracking-display);
  line-height:var(--leading-tight);
  margin:0;
  color:var(--text-1);
}
a{color:var(--link);text-decoration:none;text-underline-offset:3px;transition:color var(--dur-fast) var(--ease-out)}
a:hover{color:var(--link-hover);text-decoration:underline}
::selection{background:var(--sapphire-200);color:var(--ink-900)}
:focus-visible{outline:none;box-shadow:var(--focus-ring)}

/* The dark-surface glow system. */
.opi-ink{position:relative;isolation:isolate;overflow:hidden;background:var(--ink-void);color:var(--text-inverse)}
.opi-ink::before{content:'';position:absolute;inset:0;background:var(--glow-bottom);pointer-events:none;z-index:0}
.opi-ink::after{content:'';position:absolute;inset:0;background-image:var(--noise-tex);background-size:160px 160px;opacity:var(--noise-opacity);mix-blend-mode:soft-light;pointer-events:none;z-index:0}
.opi-ink>*{position:relative;z-index:1}
.opi-ink--corner::before{background:var(--glow-corner)}
.opi-ink--top::before{background:var(--glow-top)}
.opi-ink--band::before{background:var(--glow-band)}
.opi-ink--silk::before{background:var(--glow-silk)}
.opi-ink--flat::before{content:none}
.opi-ink h1,.opi-ink h2,.opi-ink h3,.opi-ink h4{color:var(--text-inverse)}
.opi-ink a{color:var(--text-inverse)}
.opi-ink a:hover{color:var(--sapphire-300)}
@media (prefers-reduced-transparency:reduce){.opi-ink::after{opacity:0}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}}
