@font-face{font-family:Inter;src:url('../fonts/inter-latin-italic.bc3b223e66dc.woff2') format('woff2');font-weight:400 800;font-style:italic;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter-latin.67202ff0893d.woff2') format('woff2');font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('../fonts/manrope-latin.e50a46d18e8f.woff2') format('woff2');font-weight:700 800;font-style:normal;font-display:swap}
/* Local metric-adjusted fallbacks keep text visible during font swapping. */
@font-face{font-family:'IMS Inter Fallback';src:local('Arial');font-weight:400 599;font-style:normal;size-adjust:105.9209%;ascent-override:91.4597%;descent-override:22.7727%;line-gap-override:0%}
@font-face{font-family:'IMS Inter Fallback';src:local('Arial Bold');font-weight:600 800;font-style:normal;size-adjust:103.5913%;ascent-override:93.5165%;descent-override:23.2849%;line-gap-override:0%}
@font-face{font-family:'IMS Manrope Fallback';src:local('Arial Bold');font-weight:700 800;font-style:normal;size-adjust:100.4296%;ascent-override:106.144%;descent-override:29.8717%;line-gap-override:0%}
/* Approved IMS coastal brand: the single source for public interface colors. */
:root {
 --ims-bg-primary:#011224; --ims-bg-secondary:#02152A;
 --ims-surface:#032E54; --ims-surface-elevated:#052E52; --ims-border:#164B6B;
 --ims-blue:#055B92; --ims-ocean:#02A5DA; --ims-teal:#0793A7;
 --ims-cyan:#0DDAF4; --ims-aqua:#5EEBF5;
 --ims-sunset:#F99D28; --ims-coral:#FC9475; --ims-warm-deep:#E26D26;
 --ims-text-primary:#F1F2F2; --ims-soft-white:#EEF0F0;
 --ims-text-secondary:#A8D0D4; --ims-text-muted:#98A0A8; --ims-ink:#000;
 --ims-cta-top:var(--ims-sunset); --ims-cta-bottom:var(--ims-sunset); --ims-cta-hover:var(--ims-coral);
 /* Existing component aliases preserve the established theme architecture. */
 --night:var(--ims-bg-primary); --navy:var(--ims-bg-secondary); --blue:var(--ims-surface);
 --aqua:var(--ims-aqua); --cyan:var(--ims-cyan); --coral:var(--ims-sunset);
 --white:var(--ims-text-primary); --soft:var(--ims-text-secondary); --paper:var(--ims-soft-white);
 --line:color-mix(in srgb,var(--ims-cyan) 22%,transparent);
 --display:Manrope,'IMS Manrope Fallback',Arial,Helvetica,sans-serif; --body:Inter,'IMS Inter Fallback',Arial,Helvetica,sans-serif;
 --ims-text-body:17px; --ims-leading-body:1.65;
 --ims-heading-weight:700; --ims-heading-weight-strong:800;
 --ims-leading-h1:1.1; --ims-leading-h2:1.16; --ims-leading-heading:1.25;
 --ims-tracking-h1:-.035em; --ims-tracking-h2:-.03em; --ims-tracking-heading:-.025em;
 --gutter:clamp(24px,4vw,96px);
 /* Shared usable content width. Shells include these same outer gutters. */
 --ims-content-max:1760px;
 --ims-shell-max:calc(var(--ims-content-max) + 2 * var(--gutter));
 /* Intro copy can span most of a section; long reading stays deliberately bounded. */
 --ims-measure-wide:min(100%, max(80%, 90ch));
 --ims-measure-reading:72ch; --space:clamp(70px,7.5vw,120px);
}
@media (min-width:801px) { :root { --gutter:clamp(56px,4vw,96px); } }
:root { --ims-field-border:color-mix(in srgb,var(--ims-cyan) 55%,var(--ims-bg-primary)); }
