:root{--color-canvas: #FAF8F5;--color-canvas-alt: #F4EFEB;--color-canvas-stone: #EDE8E1;--color-surface: #FFFFFF;--color-surface-hover: #FCFBF9;--color-border: #E5DFD7;--color-border-subtle: #EFECE6;--color-border-focus: #181A1B;--color-ink-primary: #17191A;--color-ink-secondary: #565D61;--color-ink-muted: #858E93;--color-ink-light: #B4BAC0;--color-ink-inverse: #FAF8F5;--color-ink-inverse-secondary: #A3ABB0;--color-ink-inverse-muted: #727B80;--color-dark-bg: #131617;--color-dark-surface: #1B1E20;--color-dark-surface-elevated: #24292B;--color-dark-border: #2C3235;--color-dark-border-subtle: #232729;--color-accent-forest: #253931;--color-accent-forest-hover: #1B2B24;--color-accent-forest-subtle: #EBF0ED;--color-accent-ochre: #9A8462;--color-accent-ochre-light: #F7F4EE;--color-status-active-bg: #E8F2EC;--color-status-active-text: #1E5034;--color-status-pending-bg: #F8EFE0;--color-status-pending-text: #85531B;--font-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 5.5rem;--space-5xl: 7.5rem;--container-max: 1320px;--container-narrow: 1040px;--container-wide: 1440px;--container-pad: clamp(1.25rem, 4vw, 3rem);--section-pad: clamp(4.5rem, 8vw, 8rem);--section-pad-sm: clamp(3.5rem, 5vw, 5rem);--shadow-subtle: 0 2px 8px rgba(0, 0, 0, .04);--shadow-card: 0 4px 20px rgba(18, 20, 22, .06);--shadow-card-hover: 0 12px 36px rgba(18, 20, 22, .1);--shadow-elevated: 0 24px 60px rgba(0, 0, 0, .18);--ease-editorial: cubic-bezier(.16, 1, .3, 1);--transition-fast: .18s var(--ease-editorial);--transition-base: .28s var(--ease-editorial);--transition-slow: .45s var(--ease-editorial);--radius-xs: 2px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-full: 9999px;--z-base: 1;--z-sticky: 100;--z-header: 500;--z-modal-backdrop: 900;--z-modal: 1000}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;text-rendering:optimizeLegibility;background-color:var(--color-canvas);color:var(--color-ink-primary);font-family:var(--font-sans)}body{min-height:100vh;line-height:1.6;overflow-x:hidden;position:relative;background-color:var(--color-canvas)}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none;text-align:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0}:focus-visible{outline:2px solid var(--color-accent-forest);outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.font-serif{font-family:var(--font-serif)}.font-sans{font-family:var(--font-sans)}h1,.h1{font-family:var(--font-serif);font-weight:500;line-height:1.05;letter-spacing:-.02em;color:var(--color-ink-primary)}h2,.h2{font-family:var(--font-serif);font-weight:500;line-height:1.15;letter-spacing:-.015em;color:var(--color-ink-primary)}h3,.h3{font-family:var(--font-serif);font-weight:600;line-height:1.25;letter-spacing:-.01em;color:var(--color-ink-primary)}h4,.h4{font-family:var(--font-sans);font-weight:600;line-height:1.35;letter-spacing:-.01em}.eyebrow{font-family:var(--font-sans);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent-ochre);display:inline-flex;align-items:center;gap:.5rem}.eyebrow-dark{color:var(--color-accent-ochre)}.eyebrow-forest{color:var(--color-accent-forest)}.hero-title{font-size:clamp(2.75rem,6.5vw,5.75rem);font-family:var(--font-serif);font-weight:500;line-height:1.02;letter-spacing:-.025em;color:var(--color-ink-inverse);text-transform:uppercase}.section-title{font-size:clamp(2rem,4vw,3.5rem);font-family:var(--font-serif);font-weight:500;line-height:1.1;letter-spacing:-.02em}.section-title-dark{color:var(--color-ink-inverse)}.section-subtitle{font-size:clamp(1rem,1.3vw,1.1875rem);color:var(--color-ink-secondary);font-weight:400;line-height:1.6;max-width:680px}.section-subtitle-dark{color:var(--color-ink-inverse-secondary)}.stat-number{font-family:var(--font-serif);font-variant-numeric:tabular-nums;font-size:clamp(2.5rem,5vw,4.25rem);font-weight:500;line-height:1;letter-spacing:-.03em;color:var(--color-ink-primary)}.stat-number-dark{color:var(--color-ink-inverse)}.stat-label{font-family:var(--font-sans);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-muted)}.stat-label-dark{color:var(--color-ink-inverse-secondary)}.editorial-p{font-size:clamp(1.0625rem,1.35vw,1.25rem);line-height:1.65;color:var(--color-ink-secondary);font-weight:300}.body-lead{font-size:1.125rem;line-height:1.65;color:var(--color-ink-secondary)}.body-base{font-size:1rem;line-height:1.6;color:var(--color-ink-secondary)}.body-sm{font-size:.875rem;line-height:1.55;color:var(--color-ink-muted)}.body-xs{font-size:.75rem;line-height:1.45;color:var(--color-ink-muted)}.container{width:100%;max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--container-pad);padding-right:var(--container-pad)}.container-wide{width:100%;max-width:var(--container-wide);margin-left:auto;margin-right:auto;padding-left:var(--container-pad);padding-right:var(--container-pad)}.container-narrow{width:100%;max-width:var(--container-narrow);margin-left:auto;margin-right:auto;padding-left:var(--container-pad);padding-right:var(--container-pad)}.section{padding-top:var(--section-pad);padding-bottom:var(--section-pad);position:relative}.section-alt{background-color:var(--color-canvas-alt)}.section-stone{background-color:var(--color-canvas-stone)}.section-dark{background-color:var(--color-dark-bg);color:var(--color-ink-inverse)}.divider{width:100%;height:1px;background-color:var(--color-border);border:none;margin:0}.divider-dark{background-color:var(--color-dark-border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.625rem;font-family:var(--font-sans);font-size:.8125rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.875rem 1.625rem;border-radius:var(--radius-xs);transition:var(--transition-base);text-decoration:none;white-space:nowrap;line-height:1}.btn-primary{background-color:var(--color-accent-forest);color:#fff;border:1px solid var(--color-accent-forest)}.btn-primary:hover{background-color:var(--color-accent-forest-hover);border-color:var(--color-accent-forest-hover);transform:translateY(-2px);box-shadow:0 4px 14px #25393140}.btn-secondary{background-color:transparent;color:var(--color-ink-primary);border:1px solid var(--color-ink-primary)}.btn-secondary:hover{background-color:var(--color-ink-primary);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-subtle)}.btn-light{background-color:#fff;color:var(--color-ink-primary);border:1px solid #FFFFFF}.btn-light:hover{background-color:var(--color-canvas-alt);border-color:var(--color-canvas-alt);transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.btn-outline-light{background-color:transparent;color:#fff;border:1px solid rgba(255,255,255,.35)}.btn-outline-light:hover{background-color:#fff;color:var(--color-ink-primary);border-color:#fff;transform:translateY(-2px)}.btn-link{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-sans);font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent-forest);padding:0;border:none;background:none;transition:var(--transition-fast)}.btn-link:hover{color:var(--color-accent-ochre);gap:.75rem}.btn-link-dark{color:var(--color-ink-inverse)}.btn-link-dark:hover{color:var(--color-accent-ochre);gap:.75rem}.badge{display:inline-flex;align-items:center;gap:.375rem;font-family:var(--font-sans);font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.35rem .75rem;border-radius:var(--radius-xs);line-height:1}.badge-active{background-color:var(--color-status-active-bg);color:var(--color-status-active-text);border:1px solid rgba(30,80,52,.15)}.badge-pending{background-color:var(--color-status-pending-bg);color:var(--color-status-pending-text);border:1px solid rgba(133,83,27,.15)}.badge-neutral{background-color:var(--color-canvas-alt);color:var(--color-ink-secondary);border:1px solid var(--color-border)}.badge-concept{background-color:#ffffff1a;color:var(--color-ink-inverse-secondary);border:1px solid rgba(255,255,255,.15);font-size:.625rem;letter-spacing:.18em}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,2.5vw,2.5rem)}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2vw,1.75rem)}@media(max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.card-base{background-color:var(--color-surface);border:1px solid var(--color-border);transition:var(--transition-base)}.card-base:hover{border-color:var(--color-ink-light);box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0f1213b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:1.25rem;animation:fadeIn .2s ease-out forwards}.modal-content{background-color:var(--color-surface);border:1px solid var(--color-border);width:100%;max-width:620px;max-height:90vh;overflow-y:auto;padding:clamp(1.75rem,4vw,3rem);position:relative;border-radius:var(--radius-sm);box-shadow:var(--shadow-elevated);animation:scaleUp .24s cubic-bezier(.16,1,.3,1) forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}
