/* Design tokens — lifted verbatim from the Surveying Experts design system.
   Change a value here and it updates everywhere. Do not hard-code colours,
   type sizes or spacing anywhere else. */

:root{
/* --- base palette: navy --- */
--navy-900:#0a2148;--navy-800:#0e2c5f;--navy-700:#102e60;--navy-600:#1b3a70;--navy-500:#253d65;--navy-300:#596b8a;--navy-200:#8f9db4;--navy-100:#acb6c8;
/* --- base palette: green --- */
--green-700:#2c8a3a;--green-600:#33a043;--green-500:#3aa94a;--green-400:#5cbb69;--green-300:#8ed097;--green-100:#e4f3e7;
/* --- base palette: neutral --- */
--white:#ffffff;--grey-50:#fafafa;--grey-100:#f4f4f4;--grey-150:#ececec;--grey-200:#e5e5e5;--grey-300:#d5d5d5;--grey-500:#928b8b;--grey-600:#6f6f6f;--black:#000000;
/* --- traffic-light rating scale (RICS condition ratings) --- */
--rating-1:#3aa94a;--rating-2:#f5a623;--rating-3:#d0342c;

/* --- semantic: text --- */
--text-heading:var(--navy-800);--text-body:var(--grey-500);--text-strong:var(--navy-800);--text-accent:var(--green-500);--text-muted:var(--navy-300);--text-on-dark:var(--white);--text-on-dark-muted:var(--navy-100);--text-on-accent:var(--white);--text-link:var(--green-500);--text-link-hover:var(--green-700);--text-required:var(--green-500);
/* --- semantic: surfaces --- */
--surface-page:var(--white);--surface-card:var(--white);--surface-subtle:var(--grey-100);--surface-band:var(--grey-150);--surface-dark:var(--navy-800);--surface-dark-alt:var(--navy-500);--surface-accent:var(--green-500);--surface-accent-subtle:var(--green-100);--surface-input:var(--white);
/* --- semantic: lines --- */
--border-subtle:var(--grey-200);--border-input:var(--grey-300);--border-on-dark:rgba(255,255,255,.16);--rule-accent:var(--green-500);
/* --- semantic: interactive --- */
--action-primary:var(--green-500);--action-primary-hover:var(--green-700);--action-primary-text:var(--white);--action-secondary:var(--navy-800);--action-secondary-hover:var(--navy-900);--action-ghost-text:var(--navy-800);--focus-ring:var(--green-500);
/* --- overlays --- */
--overlay-navy:rgba(14,44,95,.86);--overlay-navy-soft:rgba(14,44,95,.55);--overlay-green:rgba(51,160,67,.78);--overlay-dark:rgba(10,33,72,.45);
}

:root{
--font-display:"Montserrat","Helvetica Neue",Arial,sans-serif;
--font-body:"Be Vietnam Pro","Helvetica Neue",Arial,sans-serif;
/* --font-sans is the body alias: anything that isn't a heading or nav link */
--font-sans:var(--font-body);
--font-nav:var(--font-display);
--fw-light:300; /* @kind font */
--fw-regular:400; /* @kind font */
--fw-medium:500; /* @kind font */
--fw-semibold:600; /* @kind font */
--fw-bold:700; /* @kind font */
--fw-extrabold:800; /* @kind font */
/* display / headings — Montserrat 700, tight tracking */
--fs-hero:71px;--lh-hero:1.06; /* @kind font */
--fs-h1:71px;--lh-h1:1.08; /* @kind font */
--fs-h2:46px;--lh-h2:1.14; /* @kind font */
--fs-h3:32px;--lh-h3:1.22; /* @kind font */
--fs-h4:24px;--lh-h4:1.3; /* @kind font */
--fs-h5:20px;--lh-h5:1.35; /* @kind font */
/* body — Be Vietnam Pro 400, 18px base */
--fs-lead:20px;--lh-lead:1.62; /* @kind font */
--fs-body:18px;--lh-body:1.7; /* @kind font */
--fs-small:15px;--lh-small:1.6; /* @kind font */
--fs-caption:13px;--lh-caption:1.5; /* @kind font */
/* eyebrow / label / nav */
--fs-eyebrow:13px;--ls-eyebrow:.14em; /* @kind font */
--fs-nav:14px;--ls-nav:.06em; /* @kind font */
--fs-step:52px; /* @kind font */
/* tracking: h1 71px runs at -2.13px = -0.03em */
--ls-display:-.03em; /* @kind font */
--ls-tight:-.02em; /* @kind font */
--ls-normal:0; /* @kind font */
}

: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;
/* layout */
--container-max:1200px;--container-pad:24px;--gutter:24px;
--section-y:96px;--section-y-tight:64px;--section-y-loose:128px;
--header-h:92px;--topbar-h:62px;
--rule-w:76px;--rule-h:5px;
}

:root{--radius-xs:3px;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:16px;--radius-pill:999px;--radius-circle:50%;}

:root{
--shadow-card:0 6px 24px rgba(14,44,95,.06);
--shadow-card-hover:0 14px 34px rgba(14,44,95,.12);
--shadow-accordion:0 8px 26px rgba(14,44,95,.08);
--shadow-nav:0 2px 18px rgba(14,44,95,.07);
--shadow-button:0 6px 16px rgba(51,160,67,.24);
--shadow-arrow:0 4px 18px rgba(10,33,72,.18);
--shadow-inset-input:inset 0 1px 2px rgba(14,44,95,.04);
}

:root{
--ease-standard:cubic-bezier(.4,0,.2,1); /* @kind other */--ease-out:cubic-bezier(0,0,.2,1); /* @kind other */--ease-in-out:cubic-bezier(.65,.05,.36,1); /* @kind other */
--dur-fast:150ms; /* @kind other */--dur-base:250ms; /* @kind other */--dur-slow:400ms; /* @kind other */--dur-reveal:600ms; /* @kind other */
--transition-base:all var(--dur-base) var(--ease-standard); /* @kind other */
--hover-lift:translateY(-3px); /* @kind other */--press-scale:.98; /* @kind other */
}
