/* fonts */
/* Motiveo webfont: Manrope (Google Fonts) for display, body and numerals. */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

/* colors */
/* Hive palette. Light theme is the default; add data-theme="dark" on <html> (or any wrapper) for the dark theme.
   Primitive names (--black-*, --white-a*, --orange-*) are kept for component compatibility and are now theme-aware roles:
   --black-* = neutral surface steps, --white-a* = ink overlays, --orange-* = lime accent steps, --amber-* = warm secondary. */
:root{
/* Fixed brand colours (never change with theme) */
--slate-900:#1B1F25;--slate-800:#262B33;--slate-700:#323843;--slate-600:#4B525C;--slate-400:#6E7580;--slate-300:#A3A8AF;
--stone-200:#E4E6E1;--stone-100:#F1F2EF;--stone-50:#F7F8F5;--white:#FFFFFF;
--lime-700:#5E7A12;--lime-600:#94B22C;--lime-500:#A9C93A;--lime-400:#BCD85A;--lime-200:#DDE9B0;
--amber-600:#C9861F;--amber-500:#E9A23B;--amber-400:#F2BC67;
--green-500:#2F9E62;--red-500:#D9483B;--blue-500:#3478C6;

/* Theme-aware neutral steps (light) */
--black-1000:#E9EBE6;--black-950:#F1F2EF;--black-900:#ECEDE9;--black-850:#FFFFFF;--black-800:#FFFFFF;
--black-700:#E4E6E1;--black-600:#D6D9D2;--black-500:#C3C7BF;
--grey-400:#A3A8AF;--grey-300:#6E7580;--grey-200:#4B525C;--grey-100:#DCDFD8;

/* Accent steps: lime */
--orange-600:var(--lime-600);--orange-500:var(--lime-500);--orange-400:var(--lime-400);--orange-300:var(--lime-200);

/* Ink overlays (light theme: slate ink) */
--ink-rgb:38,43,51; /* @kind other */
--white-a04:rgba(var(--ink-rgb),0.03);--white-a08:rgba(var(--ink-rgb),0.06);--white-a12:rgba(var(--ink-rgb),0.10);
--white-a24:rgba(var(--ink-rgb),0.20);--white-a64:rgba(var(--ink-rgb),0.56);
--black-a40:rgba(27,31,37,0.28);--black-a64:rgba(27,31,37,0.45);--black-a88:rgba(27,31,37,0.75);
--orange-a16:rgba(169,201,58,0.20);--orange-a32:rgba(169,201,58,0.38);
--page-rgb:241,242,239; /* @kind other */

/* Surfaces */
--surface-page:#F1F2EF;
--surface-sunken:#E9EBE6;
--surface-card:#FFFFFF;
--surface-raised:#FFFFFF;
--surface-input:#FFFFFF;
--surface-glass:rgba(255,255,255,0.78);
--surface-inverse:#262B33;

/* Text */
--text-primary:#262B33;
--text-secondary:#4B525C;
--text-muted:#6E7580;
--text-disabled:#A3A8AF;
--text-accent:#5E7A12;
--text-on-accent:#262B33;
--text-inverse:#FFFFFF;

/* Lines */
--border-hairline:rgba(38,43,51,0.10);
--border-strong:rgba(38,43,51,0.24);
--border-accent:var(--lime-500);
--border-focus:var(--lime-600);

/* Accent roles */
--accent:var(--lime-500);
--accent-hover:var(--lime-400);
--accent-press:var(--lime-600);
--accent-soft:var(--orange-a16);
--accent-alt:var(--amber-500);

/* Status */
--status-success:var(--green-500);
--status-warning:var(--amber-500);
--status-danger:var(--red-500);
--status-info:var(--blue-500);
color-scheme:light;
}

[data-theme="dark"]{
--black-1000:#15181D;--black-950:#1B1F25;--black-900:#1F242B;--black-850:#232830;--black-800:#2B313A;
--black-700:#343B45;--black-600:#3F4752;--black-500:#4B525C;
--grey-400:#6E7580;--grey-300:#8F96A0;--grey-200:#C3C8CE;--grey-100:#E4E6E1;
--ink-rgb:255,255,255; /* @kind other */
--white-a04:rgba(255,255,255,0.04);--white-a08:rgba(255,255,255,0.08);--white-a12:rgba(255,255,255,0.12);
--white-a24:rgba(255,255,255,0.22);--white-a64:rgba(255,255,255,0.64);
--black-a40:rgba(10,12,15,0.40);--black-a64:rgba(10,12,15,0.64);--black-a88:rgba(10,12,15,0.88);
--page-rgb:27,31,37; /* @kind other */
--surface-page:#1B1F25;
--surface-sunken:#15181D;
--surface-card:#232830;
--surface-raised:#2B313A;
--surface-input:#1F242B;
--surface-glass:rgba(35,40,48,0.78);
--surface-inverse:#F1F2EF;
--text-primary:#F1F2EF;
--text-secondary:#C3C8CE;
--text-muted:#8F96A0;
--text-disabled:#6E7580;
--text-accent:#BCD85A;
--text-on-accent:#1B1F25;
--text-inverse:#1B1F25;
--border-hairline:rgba(255,255,255,0.08);
--border-strong:rgba(255,255,255,0.22);
color-scheme:dark;
}

/* typography */
:root{
--font-display:'Manrope','Helvetica Neue',sans-serif;
--font-body:'Manrope','Helvetica Neue',sans-serif;
--font-mono:'Manrope','Helvetica Neue',sans-serif; /* numerals and labels: Manrope with tabular figures */

/* Display: Manrope ExtraBold, tight */
--display-1:800 clamp(44px,5.4vw,80px)/1.0 var(--font-display);
--display-2:800 clamp(34px,3.8vw,56px)/1.04 var(--font-display);
--display-3:800 clamp(26px,2.6vw,38px)/1.1 var(--font-display);
--heading-1:800 26px/1.15 var(--font-display);
--heading-2:700 21px/1.2 var(--font-display);
--heading-3:700 17px/1.25 var(--font-display);

/* Body */
--body-lg:400 18px/1.6 var(--font-body);
--body-md:400 16px/1.6 var(--font-body);
--body-sm:400 14px/1.55 var(--font-body);
--body-xs:400 13px/1.5 var(--font-body);
--label-md:700 14px/1.2 var(--font-body);
--label-sm:700 12px/1.2 var(--font-body);

/* Eyebrow, numerals */
--eyebrow:700 12px/1.2 var(--font-mono);
--mono-sm:600 13px/1.4 var(--font-mono);
--mono-num:700 15px/1.2 var(--font-mono);

--tracking-display:-0.02em; /* @kind other */
--tracking-tight:-0.01em; /* @kind other */
--tracking-normal:0em; /* @kind other */
--tracking-wide:0.04em; /* @kind other */
--tracking-eyebrow:0.14em; /* @kind other */
--tracking-button:0.04em; /* @kind other */
}

/* spacing */
:root{
--space-0:0px;--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:1240px; /* @kind spacing */
--container-wide:1440px; /* @kind spacing */
--gutter-desktop:var(--space-8);
--gutter-mobile:var(--space-5);
--section-y:var(--space-24);
--section-y-tight:var(--space-16);
--grid-gap:var(--space-6);

/* Control sizing */
--control-h-sm:36px;/* @kind spacing */ --control-h-md:44px;/* @kind spacing */ --control-h-lg:54px; /* @kind spacing */
--nav-h:76px; /* @kind spacing */
}

/* effects */
:root{
/* Corners: Hive is a little softer than before */
--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--radius-pill:999px;

--shadow-none:none;
--shadow-card:0 1px 2px rgba(27,31,37,0.04);
--shadow-raised:0 8px 24px rgba(27,31,37,0.10);
--shadow-overlay:0 24px 64px rgba(27,31,37,0.22);
--shadow-accent:0 8px 24px rgba(148,178,44,0.32);
--shadow-accent-press:0 2px 8px rgba(148,178,44,0.26);
--ring-focus:0 0 0 2px var(--surface-page),0 0 0 4px var(--lime-600); /* @kind shadow */

/* Image protection fades to the page colour, so it flips with the theme */
--scrim-bottom:linear-gradient(to top,rgba(var(--page-rgb),0.96) 0%,rgba(var(--page-rgb),0.78) 38%,rgba(var(--page-rgb),0) 78%); /* @kind other */
--scrim-left:linear-gradient(to right,rgba(var(--page-rgb),0.95) 0%,rgba(var(--page-rgb),0.6) 45%,rgba(var(--page-rgb),0) 85%); /* @kind other */
--scrim-hero:linear-gradient(105deg,rgb(var(--page-rgb)) 0%,rgba(var(--page-rgb),0.88) 42%,rgba(var(--page-rgb),0.1) 100%); /* @kind other */
--accent-sweep:linear-gradient(90deg,var(--lime-600) 0%,var(--lime-400) 100%); /* @kind color */

--blur-glass:blur(14px); /* @kind other */
--blur-heavy:blur(28px); /* @kind other */

/* Photography: full colour */
--filter-photo:none; /* @kind other */
--filter-photo-hover:brightness(1.04) saturate(1.05); /* @kind other */
}
[data-theme="dark"]{
--shadow-card:0 1px 0 rgba(255,255,255,0.03) inset;
--shadow-raised:0 8px 24px rgba(0,0,0,0.45);
--shadow-overlay:0 24px 64px rgba(0,0,0,0.6);
}

/* motion */
:root{
--dur-instant:80ms;/* @kind other */ --dur-fast:140ms;/* @kind other */ --dur-base:220ms;/* @kind other */ --dur-slow:420ms;/* @kind other */ --dur-reveal:700ms; /* @kind other */
--ease-out:cubic-bezier(0.22,0.61,0.36,1); /* @kind other */
--ease-in-out:cubic-bezier(0.65,0,0.35,1); /* @kind other */
--ease-drive:cubic-bezier(0.16,0.84,0.44,1); /* @kind other */
--transition-control:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out); /* @kind other */
--transition-media:filter var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out); /* @kind other */
--press-scale:0.985; /* @kind other */
}

/* base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-primary);font:var(--body-md);letter-spacing:var(--tracking-normal);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);letter-spacing:var(--tracking-display);color:var(--text-primary)}
p{margin:0}
a{color:var(--text-accent);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}
a:hover{color:var(--text-primary)}
img,video{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:none;box-shadow:var(--ring-focus)}
::selection{background:var(--orange-a32);color:var(--text-primary)}
.fw-eyebrow{font:var(--eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-accent)}

