/* InboundMuse design tokens + base. One file on purpose: a single render-blocking request, no @import chain. */

/* ── Fonts — Mulish (successor to Muli), one variable WOFF2 per subset covering 400–800. Latin is preloaded; extended Latin (Maltese ħ ż ċ) loads only when a page uses those characters. ── */
@font-face{font-family:"Mulish";src:url("fonts/mulish-latin.woff2") format("woff2");font-weight:400 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Mulish";src:url("fonts/mulish-latin-ext.woff2") format("woff2");font-weight:400 800;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}

/* ── Colour ── */
:root{
/* Brand — sampled from logo + social assets */
--im-navy:#022E3B;--im-navy-900:#011B23;--im-navy-800:#022E3B;--im-navy-700:#0A3F4F;--im-navy-600:#175264;--im-navy-500:#2E6A7C;
--im-teal:#73B5AB;--im-teal-700:#4E9186;--im-teal-600:#62A79C;--im-teal-500:#73B5AB;--im-teal-400:#81CBBE;--im-teal-300:#A9DCD3;--im-teal-200:#CFEBE6;--im-teal-100:#E8F5F2;
--im-ink:#010F14;--im-white:#FFFFFF;
/* Neutrals — navy-tinted */
--im-gray-50:#F5F8F8;--im-gray-100:#EBF0F1;--im-gray-200:#D7E0E2;--im-gray-300:#B7C5C9;--im-gray-400:#8A9DA3;--im-gray-500:#62777E;--im-gray-600:#475B62;--im-gray-700:#33454B;
/* Semantic */
--im-success:#2F9E6F;--im-success-bg:#E3F4EC;--im-warning:#D99A1E;--im-warning-bg:#FBF1DC;--im-danger:#D2483C;--im-danger-bg:#FBE7E5;--im-info:#2E7FB8;--im-info-bg:#E2EFF8;
/* Aliases */
--fg-1:var(--im-navy);--fg-2:var(--im-gray-600);--fg-3:var(--im-gray-500);--fg-on-dark:var(--im-white);--fg-on-dark-2:var(--im-teal-300);--fg-accent:var(--im-teal-700);
--bg-page:var(--im-gray-50);--bg-dark:var(--im-navy);--bg-brand:var(--im-teal-400);
--surface-card:var(--im-white);--surface-sunken:var(--im-gray-100);--surface-dark:var(--im-navy-700);--surface-dark-raised:var(--im-navy-600);
--border-1:var(--im-gray-200);--border-2:var(--im-gray-300);--border-dark:rgba(255,255,255,.12);
--accent:var(--im-teal);--accent-hover:var(--im-teal-600);--accent-press:var(--im-teal-700);--accent-fg:var(--im-navy);
--focus-ring:0 0 0 3px rgba(115,181,171,.45);
}

/* ── Type (mobile-first; steps up at 900px) ── */
:root{
--font-sans:"Mulish","Muli",system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:var(--font-sans);--font-mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;
--fw-regular:400;/* @kind font */--fw-semibold:600;/* @kind font */--fw-bold:700;/* @kind font */--fw-extrabold:800;/* @kind font */
--fs-display:36px;--fs-h1:26px;--fs-h2:22px;--fs-h3:18px;--fs-h4:16px;--fs-body:16px;--fs-small:14px;--fs-micro:11px;--fs-hero:clamp(40px,6.2vw,84px);/* @kind font */--fs-section:clamp(32px,5vw,64px);/* @kind font */--fs-step:28px;--fs-lede:18px;
--lh-tight:1.1;/* @kind font */--lh-snug:1.25;/* @kind font */--lh-body:1.5;/* @kind font */
--ls-caps:.14em;/* @kind font */--ls-display:-.01em;/* @kind font */
}
@media (min-width:900px){:root{--fs-display:56px;--fs-h1:32px;--fs-h2:26px;--fs-h3:20px;--fs-small:14px;--fs-step:34px;--fs-lede:20px}}

/* ── Spacing, radii, elevation, layout ── */
: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;
--gutter:16px;--container:1240px;/* @kind other */--section-y:64px;--tap-min:44px;
--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:20px;--radius-2xl:28px;--radius-pill:999px;--radius-round:50%;
--shadow-1:0 1px 2px rgba(2,46,59,.08);--shadow-2:0 30px 60px -28px rgba(2,46,59,.30),0 8px 20px -12px rgba(2,46,59,.12);--shadow-float:0 24px 50px -18px rgba(2,46,59,.40);--shadow-3:0 16px 40px rgba(2,46,59,.18),0 4px 10px rgba(2,46,59,.08);
--bp-sm:600px;/* @kind other */--bp-md:900px;/* @kind other */--bp-lg:1200px;/* @kind other */
--dot-grid:radial-gradient(circle,rgba(2,46,59,.55) 1.2px,transparent 1.6px);/* @kind other */--dot-grid-size:24px 24px;/* @kind other */
--glass-bezel:rgba(255,255,255,.5);--glass-blur:blur(14px) saturate(1.4);/* @kind other */--photo-fade:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.6) 22%,rgba(255,255,255,0) 55%);/* @kind other */
--dot-grid-light:radial-gradient(circle,rgba(255,255,255,.22) 1.2px,transparent 1.6px);/* @kind other */
}
@media (min-width:900px){:root{--gutter:32px;--section-y:112px}}

/* ── Motion ── decelerating curves only; nothing runs longer than 720ms */
:root{
--dur-flip:100ms;/* @kind other */--dur-hover:160ms;/* @kind other */--dur-menu:280ms;/* @kind other */--dur-reveal:500ms;/* @kind other */--dur-hero:720ms;/* @kind other */
--dur-fast:var(--dur-hover);/* @kind other */--dur-base:var(--dur-menu);/* @kind other */--dur-slow:var(--dur-reveal);/* @kind other */
--ease-out:cubic-bezier(.22,1,.36,1);/* @kind other */--ease-entrance:cubic-bezier(.16,1,.3,1);/* @kind other */--ease-in-out:cubic-bezier(.65,0,.35,1);/* @kind other */--ease-exit:cubic-bezier(.55,0,1,.45);/* @kind other */--ease-spring:cubic-bezier(.34,1.3,.64,1);/* @kind other */
--stagger:60ms;/* @kind other */--reveal-rise:24px;/* @kind other */--hover-lift:-3px;/* @kind other */--hover-dim:brightness(.95);/* @kind other */
--parallax:6%;/* @kind other */--parallax-card:5%;/* @kind other */
}
@keyframes im-fade-in{from{opacity:0}to{opacity:1}}
@keyframes im-fade-out{from{opacity:1}to{opacity:0}}
@keyframes im-fade-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes im-pop-in{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@keyframes im-pop-out{from{opacity:1;transform:none}to{opacity:0;transform:scale(.96)}}
@keyframes im-sheet-in{from{transform:translateY(100%)}to{transform:none}}
@keyframes im-sheet-out{from{transform:none}to{transform:translateY(100%)}}
@keyframes im-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes im-grow-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes im-slide-up{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@keyframes im-reveal{from{clip-path:inset(-2px 100% -2px 0)}to{clip-path:inset(-2px 0 -2px 0)}}
@keyframes im-pulse{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes im-rise{from{opacity:0;transform:translateY(var(--reveal-rise))}to{opacity:1;transform:none}}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:var(--dur-menu);animation-timing-function:var(--ease-out)}
@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){[data-reveal]{animation:im-rise linear both;animation-timeline:view();animation-range:entry 8% cover 26%}}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}[data-reveal]{animation:none!important;opacity:1!important;transform:none!important}@view-transition{navigation:none}}

/* ── Base ── */
*,*::before,*::after{box-sizing:border-box}html{interpolate-size:allow-keywords;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--fg-1);background:var(--bg-page)}a{color:var(--fg-accent);text-decoration:none;transition:color var(--dur-fast)}a:hover{color:var(--im-navy);text-decoration:underline}
.im-eyebrow{font-size:var(--fs-micro);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--fg-accent)}
