:root{--ink:#172d2a;--muted:#64716b;--paper:#fafbf7;--line:#dce2d9;--lime:#d9f275;--green:#34594f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}.wrap{max-width:1240px;margin:auto;padding-left:48px;padding-right:48px}.header{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:26px;font-weight:800;letter-spacing:-1px;display:flex;align-items:center;gap:10px;position:relative;padding-bottom:15px}.brand-caption{position:absolute;bottom:0;left:45px;font-size:8px;letter-spacing:1.2px;white-space:nowrap}.brand-icon{font-size:27px;background:var(--ink);color:var(--lime);border-radius:7px;padding:3px 7px;position:relative}.brand-icon span{font-size:13px}nav{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:600}.button{display:inline-flex;gap:30px;align-items:center;justify-content:center;padding:18px 23px;background:var(--ink);color:white;border:0;border-radius:5px;font-size:14px;font-weight:700;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:var(--green);transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.button.small{padding:13px 17px;font-size:12px;gap:16px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:54px;padding-top:65px;padding-bottom:77px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.4px;line-height:1.7}.dot{display:inline-block;width:7px;height:7px;background:#78a143;border-radius:50%;margin-right:6px}.hero h1{font-size:43px;line-height:1.13;letter-spacing:-1.9px;margin:24px 0 20px;max-width:560px}.intro{font-size:25px;line-height:1.25;font-weight:600;letter-spacing:-.7px;margin:0 0 18px}.hero-description{font-size:15px;color:var(--muted);line-height:1.7;max-width:460px}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:26px}.text-link{font-size:13px;font-weight:700;display:flex;gap:16px}.quiet{font-size:11px;color:var(--muted);margin-top:17px}.concept{align-self:center;background:#e8eddf;border:1px solid #d7dfcf;border-radius:12px;padding:20px;box-shadow:0 22px 48px #263a2810;transform:rotate(1deg)}.concept-top{display:flex;align-items:center;gap:9px;font-size:8px;font-weight:700;letter-spacing:1px;padding-bottom:17px}.mini-brand{background:var(--ink);color:var(--lime);border-radius:4px;padding:7px;font-size:13px;letter-spacing:-1px}.concept-badge{margin-left:auto;border:1px solid #b5c1a8;border-radius:4px;padding:4px 6px;font-size:7px}.concept-body{background:var(--paper);border-radius:7px;padding:25px 22px}.board-heading{display:flex;align-items:center;justify-content:space-between}.board-heading .eyebrow{font-size:7px;letter-spacing:1.2px;margin:0}.board-heading h2{font-size:25px;margin:8px 0 20px;letter-spacing:-1px}.board-symbol{font-size:35px;color:#90a580}.board-stats{display:grid;grid-template-columns:1fr 1fr 1.3fr;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:25px}.board-stats div{display:flex;flex-direction:column;gap:5px;padding-left:12px;border-left:1px solid var(--line)}.board-stats div:first-child{padding-left:0;border-left:0}.board-stats b{font-size:24px;letter-spacing:-1px}.board-stats span{font-size:9px;color:var(--muted)}.job{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:6px;padding:15px 10px;background:white}.job-icon{font-size:19px;background:#eef1e9;border-radius:5px;padding:5px}.job strong{display:block;font-size:11px}.job div>span{display:block;font-size:9px;color:var(--muted);margin-top:5px}.tag{margin-left:auto;background:#eef1e9;color:var(--green);font-size:7px;white-space:nowrap;padding:5px;border-radius:3px}.job.active{background:var(--ink);color:white;border-color:var(--ink)}.job.active .job-icon{background:#39514a;color:var(--lime)}.job.active div>span{color:#bbc9bc}.job.active .tag{background:var(--lime)}.flow-line{height:16px;width:1px;background:#b3c49d;margin-left:24px}.concept-foot{font-size:7px;letter-spacing:1px;font-weight:700;margin-top:22px}.concept-foot .dot{height:5px;width:5px}.concept-note{text-align:center;font-size:9px;color:#61705b;margin:16px 0 0}.principles{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.principles>.wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.principles span{font-size:8px;letter-spacing:1px;color:var(--muted)}.principles b{font-size:12px}.section{padding-top:82px;padding-bottom:82px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:38px}h2{font-size:39px;line-height:1.13;letter-spacing:-1.5px;margin:14px 0 0}.section-heading>p{font-size:13px;line-height:1.8;color:var(--muted);max-width:310px;margin:0}.planned-label{display:block;margin-top:9px;font-size:11px;font-weight:700;color:var(--green)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature{padding:28px;border:1px solid var(--line);border-radius:7px;background:#f1f3ec;position:relative;display:flex;flex-direction:column}.feature:first-child{background:#e9efdf}.number{font-size:9px;font-weight:700;letter-spacing:1.2px}.feature h3{font-size:23px;letter-spacing:-.7px;line-height:1.2;margin:28px 0 13px}.feature p{font-size:13px;line-height:1.75;color:var(--muted);margin:0}.feature ul{list-style:none;padding:0;margin:23px 0 27px;font-size:11px;font-weight:600;line-height:1.65}.feature li{padding:9px 0;border-top:1px solid #d7dfcd}.feature li:before{content:'↗';color:#65854b;margin-right:8px}.status{display:inline-block;font-size:9px;border:1px solid #c9d4bc;color:#476040;border-radius:4px;padding:5px 8px;font-weight:700;letter-spacing:.3px;align-self:flex-start}.feature .status{margin-top:auto}.approach{background:var(--ink);color:#f7faee;padding:67px 0}.approach-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.approach .eyebrow{color:var(--lime)}.approach-intro{font-size:14px;line-height:1.8;max-width:380px;color:#bdcec4;margin:25px 0}.status.dark{border-color:#617568;color:var(--lime)}.foundation-list article{display:flex;gap:21px;padding:23px 0;border-bottom:1px solid #3a5149}.foundation-list article:first-child{padding-top:0}.foundation-list article:last-child{border-bottom:0;padding-bottom:0}.foundation-list article>span{font-size:28px;color:var(--lime);min-width:25px}.foundation-list h3{font-size:19px;letter-spacing:-.4px;margin:0 0 10px}.foundation-list p{font-size:12px;line-height:1.8;color:#bdcec4;margin:0}.development-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.development-details{display:grid;grid-template-columns:1fr 1fr;gap:25px}.development-details p{font-size:12px;color:var(--muted);line-height:1.8}.status.available{background:#e9efdf}.interest{background:var(--lime);border-radius:10px;padding-top:44px;padding-bottom:44px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px}.interest h2{font-size:37px;margin:12px 0 18px}.interest>div>p:last-child{font-size:13px}.interest label{display:block;font-size:11px;font-weight:700;margin-bottom:10px}.input-row{display:flex;gap:8px}.input-row input{min-width:0;flex:1;border:1px solid #9fb558;background:#faffeb;border-radius:4px;padding:15px;font-size:12px;color:var(--ink)}.input-row .button{font-size:11px;padding:15px;gap:13px;white-space:nowrap}#form-note{font-size:10px;line-height:1.7;max-width:400px;color:#4a6030}.form-result{font-size:12px;font-weight:600;line-height:1.7;min-height:20px;margin-bottom:0}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:40px;padding-bottom:40px}footer .brand{font-size:21px}footer .brand-caption{left:0;font-size:6px}footer p,footer>span{font-size:10px;color:var(--muted)}.skip{position:absolute;left:10px;top:-70px;background:var(--ink);color:white;padding:14px;z-index:10}.skip:focus{top:10px}:focus-visible{outline:3px solid #6d922d;outline-offset:5px}
@media(min-width:1440px){.hero{padding-top:90px;padding-bottom:100px}.hero h1{font-size:49px}}
@media(max-width:1000px){.wrap{padding-left:30px;padding-right:30px}.hero{gap:28px}.hero h1{font-size:35px}.concept{padding:14px}.concept-body{padding:20px 14px}.feature{padding:22px}.approach-layout,.development-layout{gap:40px}.interest{gap:30px}.input-row{flex-direction:column}.input-row .button{align-self:flex-start}}
@media(max-width:720px){.wrap{padding-left:23px;padding-right:23px}.header{min-height:90px}nav{gap:10px}nav>a:not(.button){display:none}.brand{font-size:23px}.brand-caption{font-size:7px}.hero{grid-template-columns:1fr;padding-top:30px;padding-bottom:46px;gap:32px}.hero h1{font-size:40px;max-width:540px}.hero .eyebrow{font-size:8px}.hero-description{max-width:490px}.concept{transform:none;max-width:500px;width:100%;justify-self:center}.concept-body{padding:22px}.concept-top{font-size:7px}.job strong{font-size:12px}.job div>span{font-size:10px}.tag{font-size:8px}.principles>.wrap{flex-wrap:wrap;justify-content:flex-start;gap:13px 23px;padding-top:20px;padding-bottom:20px}.principles span{width:100%}.principles b{font-size:10px}.section{padding-top:50px;padding-bottom:50px}.section-heading{display:block}.section-heading>p{margin-top:22px}h2{font-size:34px}.feature-grid{grid-template-columns:1fr}.feature{padding:25px}.feature h3{margin-top:20px}.feature ul{margin-bottom:18px}.approach{padding:45px 0}.approach-layout,.development-layout{grid-template-columns:1fr;gap:30px}.foundation-list h3{font-size:18px}.development-details{gap:18px}.interest{margin:0 16px;padding:30px 23px;grid-template-columns:1fr;gap:16px}.interest h2{font-size:34px}.input-row{flex-direction:row}.input-row .button{padding:15px 12px;gap:8px}footer{flex-wrap:wrap;gap:18px}footer p{margin:0}footer>span{width:100%}.hero-actions{gap:18px}.hero-actions .button{font-size:12px;gap:19px}.text-link{font-size:12px}}
@media(max-width:380px){.hero h1{font-size:34px}.brand-caption{display:none}.header .brand{padding-bottom:0}.input-row{flex-direction:column}.development-details{grid-template-columns:1fr}.job{gap:6px;padding:12px 7px}.job strong{font-size:10px}.job div>span{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.solutions{border-top:1px solid var(--line)}.comparison-notice{display:flex;align-items:center;gap:20px;margin-bottom:24px;padding:16px 20px;background:#eef2e6;border:1px solid var(--line);border-radius:6px}.comparison-notice .status{white-space:nowrap;align-self:center}.comparison-notice p{font-size:11px;line-height:1.7;color:var(--muted);margin:0}.comparison-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px;line-height:1.65}.comparison-table thead{background:var(--ink);color:white}.comparison-table thead th{text-align:left;padding:20px 24px;font-size:15px;line-height:1.4}.comparison-table thead th:first-child{width:29%}.comparison-table thead th:nth-child(2){width:37%;color:var(--lime)}.comparison-table thead th:nth-child(3){width:34%}.comparison-table thead th span{font-weight:400}.comparison-table small{display:block;font-size:9px;font-weight:400;margin-top:6px;letter-spacing:.3px}.comparison-table tbody th,.comparison-table td{padding:22px 24px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.comparison-table tbody th{font-size:14px;line-height:1.4;font-weight:700}.comparison-table tbody th span{display:block;font-size:11px;font-weight:400;line-height:1.7;color:var(--muted);margin-top:8px}.comparison-table tbody tr:nth-child(even){background:#f2f4ed}.comparison-table td:nth-child(2){background:#e9efdf80}.comparison-table td strong{font-size:13px}.comparison-table td p{color:var(--muted);margin:7px 0 0;font-size:11px}.comparison-table td:last-child p{margin:0}.comparison-cta{margin-top:24px;display:inline-flex}.comparison-table th,.comparison-table td{overflow-wrap:break-word}@media(max-width:720px){.comparison-notice{align-items:flex-start;flex-direction:column;gap:12px}.comparison-notice .status{align-self:flex-start}.comparison-table,.comparison-table tbody{display:block}.comparison-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.comparison-table tbody tr{display:block;border:1px solid var(--line);border-radius:7px;margin-bottom:18px;overflow:hidden}.comparison-table tbody th,.comparison-table td{display:block;width:100%;padding:18px 20px}.comparison-table tbody th:before{content:'Problem';display:block;font-size:9px;color:var(--green);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.comparison-table tbody td:before{content:attr(data-label);display:block;font-size:9px;color:var(--green);font-weight:700;letter-spacing:.6px;margin-bottom:8px}.comparison-table tbody th{font-size:18px}.comparison-table td:last-child{border-bottom:0}.comparison-table td strong{font-size:14px}.comparison-table td p,.comparison-table tbody th span{font-size:12px}}


.comparison-table thead th:first-child{width:22%}.comparison-table thead th:nth-child(2){width:30%}.comparison-table thead th:nth-child(n+3){width:16%}.comparison-table thead th{padding:18px 15px;font-size:13px}.comparison-table tbody th,.comparison-table td{padding:20px 15px}.comparison-table td p{margin:0}.comparison-table td:nth-child(2) p{margin-top:7px}@media(min-width:721px) and (max-width:1000px){.comparison-table thead th{font-size:11px;padding:15px 10px}.comparison-table tbody th,.comparison-table td{padding:18px 10px}.comparison-table td p{font-size:10px}.comparison-table td strong{font-size:11px}.comparison-table tbody th{font-size:12px}}@media(max-width:720px){.comparison-table tbody th,.comparison-table td{padding:18px 20px}.comparison-table td p{font-size:12px}.comparison-table td strong{font-size:14px}}

.capability-status{margin-bottom:9px;font-size:8px;letter-spacing:0;line-height:1.4;max-width:100%}.status.integrated{background:#e5edda;border-color:#bfceae;color:#36502d}.status.uncertain{background:#f3f1e9;border-color:#d7d1bd;color:#71664a}.release-status{display:table;margin:8px 0 10px;font-size:8px;background:#eef4df}.comparison-table td .status+p{margin-top:0}@media(max-width:720px){.capability-status,.release-status{font-size:10px}}

.gdpr-note{font-size:11px;line-height:1.8;color:var(--muted);padding:18px 20px;background:#eef2e6;border-radius:5px;margin:20px 0}.gdpr-note a{text-decoration:underline;text-underline-offset:3px;color:var(--green)}

/* Comparison availability and cost guide */
.status-legend{display:flex;flex-wrap:wrap;gap:14px 24px;margin:20px 0 28px;padding:22px;border:1px solid var(--line,#dce2d7);border-radius:12px;background:#f4f6ef}.status-legend>div{flex:1 1 180px;font-size:.82rem;line-height:1.5}.status-legend>div>span:last-child{display:block;margin-top:7px}.status-legend p{flex-basis:100%;font-size:.8rem;margin:0;line-height:1.5}.extra-cost{background:#f4e5bf!important;color:#684c12!important;border-color:#e5cea0!important}.unavailable,.removed{background:#f2e4df!important;color:#7a4236!important}.comparison-table td>.status+.status{margin-top:6px;margin-left:0}.feature-scope .status{margin:0 5px 5px 0}.feature-scope{font-size:.85rem!important;line-height:1.6!important}

/* GTGMS green; competitor traffic-light statuses retain their text meanings. */
.status.integrated,.release-status,.feature>.status,.development .status,.comparison-notice>.status,.status.dark,.foundation-list .status{background:#dcfce7!important;border-color:#86c99b!important;color:#166534!important}
.comparison-table td:nth-child(n+3) .status.uncertain,.status.extra-cost{background:#fff0c2!important;border-color:#e5b94e!important;color:#854d0e!important}
.status.unavailable,.status.removed{background:#fee2e2!important;border-color:#ef9a9a!important;color:#991b1b!important}
.comparison-table td:nth-child(2){background:#e7f5e980}

/* GTGMS optional-cost badges stay green; the cost wording stays explicit. */
.comparison-table td:nth-child(2) .status.extra-cost{background:#dcfce7!important;border-color:#86c99b!important;color:#166534!important}

.newsletter-consent{display:flex!important;align-items:flex-start;gap:9px;margin:15px 0 10px!important;font-weight:400!important;line-height:1.6}.newsletter-consent input{flex-shrink:0;accent-color:#166534;margin-top:3px}

/* The founder's own Grumpy Technician artwork and story. */
.brand-avatar{width:48px;height:48px;object-fit:cover;border-radius:12px;margin-right:10px;flex-shrink:0;border:1px solid var(--line)}
.header .brand{padding-bottom:0}.header .brand-caption{bottom:1px;left:58px}.header nav{gap:24px}
.founder{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:64px;align-items:center;border-bottom:1px solid var(--line)}
.founder-portrait{margin:0;max-width:410px;position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--ink)}
.founder-portrait img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.founder-portrait figcaption{display:flex;justify-content:space-between;gap:15px;padding:17px 20px;color:#f7faee;font-size:11px;line-height:1.5}
.founder-portrait figcaption span:first-child{font-weight:700}.founder-portrait figcaption span:last-child{color:#bdcec4}
.founder-copy h2{font-size:35px;line-height:1.18;margin-bottom:25px}
.founder-copy blockquote{margin:0 0 23px;padding-left:21px;border-left:3px solid #9fb558;font-size:23px;line-height:1.45;letter-spacing:-.5px;font-weight:600}
.founder-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 16px}.founder-copy .founder-intent{font-size:12px!important}.founder-copy>.text-link{margin-top:8px;display:inline-block;line-height:1.6}
footer .brand-avatar{width:40px;height:40px}footer .brand{padding-bottom:0}footer .brand-caption{left:50px;bottom:0}
@media(max-width:1000px){.header nav{gap:16px}.header nav>a{font-size:11px}.founder{gap:35px}.founder-copy h2{font-size:30px}.founder-copy blockquote{font-size:21px}}
@media(max-width:720px){.header .story-link{display:inline!important}.header nav{gap:14px}.brand-avatar{width:40px;height:40px;margin-right:8px}.header .brand-caption{left:48px;bottom:-4px}.founder{grid-template-columns:1fr;gap:28px}.founder-portrait{max-width:340px;width:100%;justify-self:center}.founder-copy h2{font-size:32px}.founder-copy blockquote{font-size:22px}.founder-copy>p:not(.eyebrow){font-size:13px}}
@media(max-width:450px){.header{flex-wrap:wrap;justify-content:space-between;gap:18px;padding-top:20px;padding-bottom:20px}.header nav{gap:15px}.header .button{font-size:10px;padding:11px 12px}.header .brand-caption{display:none}.founder-copy h2{font-size:29px}.founder-portrait figcaption{font-size:10px;padding:15px}.founder-copy blockquote{font-size:20px}}
