:root {
  --ink: #13241f;
  --muted: #63706a;
  --line: #d7dfd9;
  --paper: #f7f8f3;
  --lime: #cff359;
  --aqua: #d5fff3;
  --coral: #ff8a70;
  --lavender: #ded5ff;
  --font: "Manrope", Arial, sans-serif;
  --mono: "DM Mono", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font); overflow-x: hidden; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
.noise { position: fixed; z-index: 10; inset: 0; pointer-events: none; opacity: .13; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.19'/%3E%3C/svg%3E"); }

.site-header { width: min(1360px, calc(100% - 72px)); min-height: 88px; display: flex; align-items: center; justify-content: space-between; margin: auto; position: relative; z-index: 2; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 800; letter-spacing: -1px; }
.brand-dot { color: #7cab00; }
.brand-mark { display: inline-flex; align-items: end; gap: 2px; height: 19px; width: 20px; }
.brand-mark i { display:block; width: 5px; border-radius: 5px; background: var(--ink); }
.brand-mark i:nth-child(1) { height: 8px; }.brand-mark i:nth-child(2) { height: 14px; background: #8bbb00; }.brand-mark i:nth-child(3) { height: 19px; }
nav { display: flex; gap: 29px; margin-left: 90px; }
nav a { color: #53615b; font-size: 13px; font-weight: 700; transition: color .2s; }
nav a:hover { color: var(--ink); }
.header-action, .button { border: 0; border-radius: 99px; cursor: pointer; font-weight: 800; transition: transform .2s, box-shadow .2s, background .2s; }
.header-action { padding: 11px 16px; background: transparent; color: var(--ink); font-size: 12px; border: 1px solid var(--line); }
.header-action span { color: #82aa0a; font-size: 17px; vertical-align: -1px; margin-right: 4px; }.header-action:hover { background: #fff; }
.header-tools { display: flex; align-items: center; gap: 15px; }.access-chip { color: #607068; font: 9px var(--mono); letter-spacing: .25px; text-transform: uppercase; white-space: nowrap; }.access-chip i { display: inline-block; width: 6px; height: 6px; margin: 0 5px 1px 0; border-radius: 50%; background: #82b305; }

main { overflow: hidden; }
.hero { max-width: 1360px; margin: 0 auto; min-height: 555px; padding: 81px 0 72px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 74px; align-items: center; }
.eyebrow { margin: 0 0 18px; color: #60716a; font: 500 10px/1 var(--mono); letter-spacing: 1.2px; text-transform: uppercase; }.eyebrow span { display: inline-block; width: 17px; height: 6px; margin: 0 8px 1px 0; border-radius: 6px; background: #96c818; }
h1, h2, h3, p { margin-top: 0; } h1, h2 { font-weight: 800; letter-spacing: -4px; line-height: .99; } h1 { font-size: clamp(54px, 6.25vw, 93px); margin-bottom: 27px; } h1 em, h2 em { color: #7ca900; font-style: normal; }
.hero-lede { max-width: 460px; color: #5a6962; font-size: 16px; line-height: 1.7; }.hero-actions { display: flex; align-items: center; gap: 27px; margin-top: 35px; }
.button { display: inline-flex; gap: 18px; align-items: center; padding: 15px 19px 15px 22px; background: var(--ink); color: white; font-size: 13px; }.button b { font-size: 20px; line-height: 10px; font-weight: 400; }.button:hover { transform: translateY(-2px); box-shadow: 0 8px 20px #13241f22; }.button-primary { background: var(--ink); }.text-button { padding: 0; border: 0; background: transparent; color: #526159; cursor: pointer; font-size: 12px; font-weight: 800; }.text-button span { color: #87ae10; font-size: 17px; margin-left: 4px; }
.hero-panel { background: var(--ink); color: white; border-radius: 4px; padding: 25px 28px 22px; height: 319px; position: relative; box-shadow: 18px 18px 0 var(--lime); }.panel-topline { display: flex; justify-content: space-between; color: #a9b7b1; font: 10px var(--mono); letter-spacing: .7px; }.live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 5px #c9f45a15; }.pulse-graphic { height: 142px; position: relative; }.pulse-graphic svg { position: absolute; inset: 0; width: 100%; height: 100%; }.pulse-graphic path { fill: none; stroke: var(--lime); stroke-width: 2; vector-effect: non-scaling-stroke; }.pulse-point { position: absolute; width: 8px; height: 8px; border: 2px solid var(--lime); background: var(--ink); border-radius: 50%; }.point-a { left: 43%; top: 36px; }.point-b { left: 67.5%; top: 61px; }.point-c { right: 0; top: 96px; }.panel-stats { display: flex; gap: 51px; }.panel-stats strong { display: block; color: var(--lime); font-size: 28px; letter-spacing: -1.5px; }.panel-stats span { color: #abb8b3; font-size: 10px; }.panel-note { position: absolute; bottom: 7px; right: 18px; color: #a0ada8; font-size: 9px; }.panel-note b { color: white; font-weight: 500; }

.tool-section { background: #fff; padding: 101px max(36px, calc((100% - 1360px) / 2)) 109px; }.section-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 39px; }.section-heading h2, .results-intro h2, .workflow-heading h2, .cta-section h2 { margin-bottom: 0; font-size: clamp(36px, 3.4vw, 52px); }.filter-group { display: flex; padding: 4px; gap: 3px; background: #f0f3ef; border-radius: 99px; }.filter { background: transparent; border: 0; border-radius: 99px; padding: 8px 13px; color: #647169; font-size: 11px; font-weight: 800; cursor: pointer; }.filter.is-active { background: var(--ink); color: white; }
.tool-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }.tool-card { display: flex; flex-direction: column; min-height: 286px; padding: 20px; border: 1px solid var(--line); border-radius: 4px; background: #fff; transition: transform .23s, border-color .23s, box-shadow .23s; }.tool-card.is-clickable { cursor: pointer; }.tool-card.is-clickable:focus-visible { outline: 3px solid #6f9f00; outline-offset: 4px; }.tool-card:hover { transform: translateY(-5px); border-color: transparent; box-shadow: 0 12px 25px #13241f16; }.tool-card.card-accent-aqua { background: var(--aqua); border-color: var(--aqua); }.tool-card.card-accent-lime { background: var(--lime); border-color: var(--lime); }.tool-card.card-accent-lavender { background: var(--lavender); border-color: var(--lavender); }.card-top { display: flex; justify-content: space-between; align-items: start; }.tool-icon { position: relative; width: 40px; height: 40px; border: 1.5px solid var(--ink); border-radius: 50%; }.tool-icon::after { content: ""; position: absolute; inset: 10px; border-radius: 50%; background: var(--ink); }.tool-icon.icon-spark::before { content:"✦"; position: absolute; z-index: 1; top: 4px; left: 11px; color: #fff; font-size: 15px; }.tool-icon.icon-house::before { content:"⌂"; position: absolute; z-index:1; top:3px; left:10px; color:#fff; font-size: 21px; line-height: 20px; }.tool-icon.icon-chart::before { content:"↗"; position:absolute; z-index:1; top:6px; left:9px; color:#fff; font-size: 18px; }.tool-icon.icon-bulb::before { content:"·"; position:absolute; z-index:1; top:-6px; left:15px; color:#fff; font-size: 29px; }.tool-icon.icon-doc::before { content:"≡"; position:absolute; z-index:1; top:3px; left:13px; color:#fff; font-size:20px; }.tool-icon.icon-plus::before { content:"+"; position:absolute; z-index:1; top:3px; left:11px; color:#fff; font-size:20px; }.status { padding: 6px 8px; border: 1px solid #a5b5ad; border-radius: 99px; color: #526159; font: 9px var(--mono); letter-spacing: .4px; text-transform: uppercase; }.status.building { border-color: #9c8fc8; color: #635691; }.card-copy { margin-top: auto; }.card-copy h3 { margin-bottom: 8px; font-size: 18px; letter-spacing: -1px; }.card-copy p { margin-bottom: 17px; color: #5b6a63; font-size: 12px; line-height: 1.55; }.card-link { display: flex; justify-content: space-between; align-items: center; padding-top: 13px; border-top: 1px solid #13241f22; font-size: 11px; font-weight: 800; }.card-link span { color: #6f9f00; font-size: 17px; }.card-link.is-disabled { opacity: .55; cursor: default; }.tool-card.is-hidden { display: none; }

.results-section { max-width: 1360px; padding: 115px 0 111px; margin: auto; display: grid; grid-template-columns: .85fr 1.15fr; gap: 84px; align-items: center; }.results-intro > p:not(.eyebrow) { max-width: 375px; margin: 26px 0; color: #637069; font-size: 14px; line-height: 1.65; }.inline-link { color: #4c5d54; border-bottom: 1px solid #b7c2bb; padding-bottom: 4px; font-size: 11px; font-weight: 800; }.inline-link span { margin-left: 7px; color: #83ac0a; font-size: 17px; }.metric-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.metric-card { min-height: 174px; padding: 21px; position: relative; border: 1px solid var(--line); border-radius: 4px; background: #fff; }.metric-primary { background: var(--coral); border-color: var(--coral); }.metric-label { color: #516158; font: 9px var(--mono); letter-spacing: .65px; }.metric-card strong { display: block; margin: 18px 0 3px; font-size: 49px; letter-spacing: -3px; }.metric-card p { color: #526159; font-size: 11px; }.metric-decoration { position: absolute; right: 19px; bottom: 14px; font-size: 47px; line-height: 1; }.metric-badge { display: inline-block; margin-top: 2px; padding: 5px 7px; border-radius: 3px; background: #eaf0e9; color: #708078; font: 8px var(--mono); }.metric-wide { grid-column: 1 / -1; min-height: 134px; }.milestone-line { margin: 25px 0 13px; height: 7px; background: #e7ece8; border-radius: 10px; overflow: hidden; }.milestone-line span { display: block; width: 38%; height: 100%; border-radius: inherit; background: #97c923; }.milestone-row { display: flex; justify-content: space-between; align-items: center; }.milestone-row strong { margin: 0; font-size: 13px; letter-spacing: -.5px; }.milestone-row span { color: #6c7972; font-size: 10px; }

.workflow-section { background: #eaf2e8; padding: 110px max(36px, calc((100% - 1360px) / 2)); display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; }.workflow-list { margin: 0; padding: 0; list-style: none; }.workflow-list li { display: grid; grid-template-columns: 64px 1fr; gap: 19px; padding: 4px 0 28px; margin-bottom: 27px; border-bottom: 1px solid #bdcfc3; }.workflow-list span { color: #86b500; font: 11px var(--mono); }.workflow-list h3 { margin-bottom: 5px; font-size: 17px; letter-spacing: -.8px; }.workflow-list p { color: #5e6e64; font-size: 12px; line-height: 1.6; }
.cta-section { max-width: 1360px; margin: 0 auto; padding: 90px 79px; background: var(--ink); display: flex; align-items: center; justify-content: space-between; color: white; }.cta-section .eyebrow { color: #b1c1b8; }.cta-section .eyebrow span { background: var(--lime); }.cta-section h2 { font-size: clamp(40px, 4.1vw, 62px); }.button-light { background: var(--lime); color: var(--ink); white-space: nowrap; }
footer { max-width: 1360px; min-height: 104px; margin: auto; display: flex; align-items: center; justify-content: space-between; color: #65736b; font-size: 10px; } footer .brand { color: var(--ink); font-size: 15px; }

.project-dialog { width: min(550px, calc(100% - 38px)); padding: 0; color: var(--ink); border: 0; border-radius: 5px; box-shadow: 0 24px 70px #0005; }.project-dialog::backdrop { background: #12231dcc; backdrop-filter: blur(3px); }.dialog-close-row { position: absolute; right: 17px; top: 13px; z-index: 1; }.dialog-close-row button { width: 34px; height: 34px; border: 0; border-radius: 50%; background: #eef1ed; color: var(--ink); cursor: pointer; font-size: 24px; line-height: 1; }.dialog-content { padding: 49px 48px 43px; }.dialog-content h2 { margin-bottom: 16px; font-size: 38px; }.dialog-lede { max-width: 400px; color: #627069; font-size: 12px; line-height: 1.6; }.dialog-content form { display: grid; gap: 14px; margin-top: 27px; }.dialog-content label { display: grid; gap: 7px; color: #45554c; font-size: 11px; font-weight: 800; }.dialog-content small { color: #7b8982; font-weight: 500; }.dialog-content input, .dialog-content textarea, .dialog-content select { width: 100%; padding: 11px 12px; color: var(--ink); border: 1px solid #cad4ce; border-radius: 3px; outline-color: #86b400; background: #fff; font-size: 13px; font-weight: 500; resize: vertical; }.dialog-content input::placeholder, .dialog-content textarea::placeholder { color: #a0aaa5; }.dialog-submit { justify-content: center; margin-top: 8px; }
.dialog-form-status { min-height: 18px; margin: 0; color: #a33f51; font-size: 11px; line-height: 1.45; }
.empty-tools { grid-column: 1 / -1; padding: 26px; border: 1px dashed #c7d2cb; color: #68756e; background: #ffffff99; text-align: center; }

@media (max-width: 1450px) { .site-header, .hero, .results-section, .cta-section, footer { width: min(1180px, calc(100% - 72px)); }.hero { gap: 55px; } }
@media (max-width: 800px) { .site-header { width: calc(100% - 40px); min-height: 72px; } nav, .access-chip { display:none; }.header-action { padding: 9px 12px; font-size: 10px; }.hero { width: calc(100% - 40px); min-height: auto; padding: 62px 0 71px; grid-template-columns: 1fr; gap: 53px; }.hero h1 { font-size: clamp(51px, 15.4vw, 72px); }.hero-lede { font-size: 14px; }.hero-actions { flex-wrap: wrap; gap: 20px; }.hero-panel { height: 292px; padding: 22px; box-shadow: 12px 12px 0 var(--lime); }.tool-section { padding: 77px 20px; }.section-heading { display: block; }.section-heading h2 { font-size: 42px; }.filter-group { display: inline-flex; margin-top: 25px; }.tool-grid { grid-template-columns: 1fr; }.tool-card { min-height: 230px; }.results-section { width: calc(100% - 40px); padding: 80px 0; grid-template-columns: 1fr; gap: 40px; }.results-intro h2, .workflow-heading h2 { font-size: 44px; }.metric-grid { grid-template-columns: 1fr; }.metric-wide { grid-column: auto; }.workflow-section { padding: 77px 20px; grid-template-columns: 1fr; gap: 42px; }.cta-section { width: calc(100% - 40px); padding: 54px 29px; display: block; }.cta-section h2 { font-size: 47px; margin-bottom: 29px; } footer { width: calc(100% - 40px); min-height: 126px; align-items: flex-start; padding: 31px 0; flex-wrap: wrap; gap: 12px 20px; } footer p { margin: 0; font-size: 9px; }.dialog-content { padding: 43px 25px 30px; }.dialog-content h2 { font-size: 34px; letter-spacing: -2px; } }

.auth-pending .site-header, .auth-pending main, .auth-pending footer,
.auth-locked .site-header, .auth-locked main, .auth-locked footer { visibility: hidden; }
.auth-gate { position: fixed; z-index: 30; inset: 0; display: grid; place-items: center; padding: 24px; background: var(--paper); }
.auth-gate[hidden] { display: none; }
.auth-gate-card { width: min(100%, 470px); padding: 42px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 24px 60px rgb(20 35 31 / 10%); }
.auth-gate-card .access-mark { display: block; margin-bottom: 26px; color: #6d7b74; font: 10px var(--mono); letter-spacing: 1px; text-transform: uppercase; }
.auth-gate-card h1 { margin: 0 0 15px; font-size: clamp(38px, 8vw, 52px); letter-spacing: -2.6px; }
.auth-gate-card p { margin-bottom: 28px; color: var(--muted); line-height: 1.65; }
.auth-gate-card .text-button { display: block; margin-top: 18px; }
.header-action#header-sign-out { display: none; }
.authenticated .header-action#header-sign-out { display: inline-block; }
.admin-static { width: min(900px, calc(100% - 48px)); margin: 0 auto; padding: 72px 0; }
.admin-static-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
.admin-static-header h1 { margin: 0 0 12px; font-size: clamp(40px, 6vw, 62px); }
.admin-static-header > div > p:not(.eyebrow) { max-width: 560px; color: var(--muted); line-height: 1.65; }
.admin-static-panel { margin-top: 20px; padding: 28px; border: 1px solid var(--line); border-radius: 5px; background: #fff; box-shadow: 0 15px 40px rgb(20 35 31 / 7%); }
.admin-static-panel h2 { margin: 0 0 7px; font-size: 23px; letter-spacing: -.8px; }.admin-static-panel > p { color: var(--muted); line-height: 1.6; }
.admin-static-form { display: grid; grid-template-columns: 1fr auto; gap: 12px; margin-top: 18px; }.admin-static-form input { min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 4px; outline-color: #86b400; }
.admin-static-notice { min-height: 20px; margin: 12px 0 0 !important; color: #4f7600 !important; font-size: 12px; }.admin-static-notice.is-error { color: #b13526 !important; }
.member-list { display: grid; gap: 11px; margin-top: 18px; }.member-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 0; border-top: 1px solid #e5eae6; }.member-email, .member-meta { display: block; }.member-email { font-weight: 800; font-size: 14px; }.member-meta { margin-top: 4px; color: var(--muted); font-size: 11px; }.member-state { display: flex; align-items: center; gap: 12px; }.state-badge { padding: 5px 8px; border-radius: 99px; background: #e4f4cc; color: #4b7000; font: 9px var(--mono); text-transform: uppercase; }.state-badge.off { background: #f0e3de; color: #a54c39; }.member-toggle { border: 0; background: transparent; color: #53645c; cursor: pointer; font-size: 11px; font-weight: 800; text-decoration: underline; }.member-toggle:disabled { opacity: .45; }
@media (max-width: 600px) { .admin-static { width: min(100% - 32px, 900px); padding: 44px 0; }.admin-static-header { display: block; }.admin-static-header .inline-link { display: inline-block; margin-top: 15px; }.admin-static-panel { padding: 20px; }.admin-static-form { grid-template-columns: 1fr; }.member-row { align-items: flex-start; flex-direction: column; }.member-state { width: 100%; justify-content: space-between; } }
