/* Styles for index.html (shared rules are in css/site.css). */

html { scroll-behavior: smooth; }
input[type=range] { accent-color: #1f6f5f; }
@keyframes gsPulse { 0%, 100% { transform: scale(1); opacity: .9; } 50% { transform: scale(1.35); opacity: .4; } }
@keyframes gsMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes gsSpin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes gsFill { 0% { transform: scaleX(0); } 60% { transform: scaleX(1); } 100% { transform: scaleX(1); } }
@keyframes gsType { 0% { clip-path: inset(0 100% 0 0); } 45% { clip-path: inset(0 0 0 0); } 100% { clip-path: inset(0 0 0 0); } }
@keyframes gsLane { 0% { transform: translateX(-6px); opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } 100% { transform: translateX(220px); opacity: 0; } }


/* hero */
.hero-div-1 { max-width: 1180px; margin: 0 auto; padding: 88px 24px 96px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); gap: 56px; align-items: center; }
.hero-div-2 { display: flex; flex-direction: column; gap: 28px; }
.hero-h1-3 { margin: 0; font-family: 'Archivo', sans-serif; font-weight: 800; font-size: clamp(46px, 7vw, 92px); line-height: .95; letter-spacing: -.035em; text-wrap: balance; }
.hero-p-4 { margin: 0; font-size: 22px; line-height: 1.45; max-width: 520px; color: #3d3831; text-wrap: pretty; }
.hero-div-5 { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.hero-a-6 { background: #1f6f5f; color: #f4efe5; font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 16px; padding: 16px 26px; border-radius: 4px; box-shadow: 4px 4px 0 #1a1713; }
.hero-a-6:hover { background: #1a1713; color: #f4efe5; transform: translate(2px, 2px); box-shadow: 2px 2px 0 #1a1713; }
.hero-a-7 { color: #1a1713; font-family: 'Archivo', sans-serif; font-weight: 600; font-size: 16px; padding: 16px 8px; border-bottom: 2px solid #1a1713; }
.hero-a-7:hover { color: #1f6f5f; border-bottom: 2px solid #1f6f5f; }
.hero-div-8 { font-family: 'IBM Plex Mono', monospace; font-size: 13px; color: #6b655a; }
.hero-div-9 { padding: 18px 18px 6px; display: flex; flex-direction: column; gap: 6px; }
.hero-div-10 { display: grid; grid-template-columns: 1fr auto auto; gap: 14px; align-items: center; padding: 10px 12px; border-radius: 4px; transition: background .6s ease; }
.hero-span-11 { font-family: 'Archivo', sans-serif; font-weight: 600; font-size: 15px; }
.hero-span-12 { font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: .1em; padding: 4px 8px; border-radius: 3px; min-width: 74px; text-align: center; transition: all .5s ease; }
.hero-div-13 { display: flex; justify-content: space-between; align-items: baseline; padding: 14px 30px 18px; border-top: 1px dashed #d8d0bf; margin-top: 10px; }
.hero-span-14 { font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #6b655a; }
.hero-span-15 { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 28px; letter-spacing: -.02em; transition: color .4s; }

/* problem */
.problem-div-1 { max-width: 1180px; margin: 0 auto; padding: 88px 24px; }
.problem-div-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 48px; align-items: end; }
.problem-div-3 { display: flex; flex-direction: column; gap: 20px; }
.problem-h2-4 { margin: 0; font-family: 'Archivo', sans-serif; font-weight: 700; font-size: clamp(34px, 4.5vw, 56px); line-height: 1; letter-spacing: -.03em; text-wrap: balance; }
.problem-p-5 { margin: 0; font-size: 19px; line-height: 1.5; color: #cfc8ba; max-width: 520px; text-wrap: pretty; }
.problem-div-6 { border: 1px solid #f4efe5; border-radius: 8px; padding: 26px 28px; display: flex; flex-direction: column; gap: 8px; }
.problem-div-7 { font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: #8fc4b5; display: flex; align-items: center; gap: 10px; }
.problem-div-8 { font-family: 'Archivo', sans-serif; font-weight: 900; font-size: clamp(44px, 6vw, 76px); letter-spacing: -.04em; line-height: 1; font-variant-numeric: tabular-nums; }
.problem-div-9 { font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: #8a8478; }
.problem-div-10 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 24%), 1fr)); gap: 0; margin-top: 64px; border: 1px solid #3a352d; border-radius: 8px; overflow: hidden; }
.problem-div-11 { padding: 24px 22px; border-right: 1px solid #3a352d; border-bottom: 1px solid #3a352d; display: flex; flex-direction: column; gap: 8px; }
.problem-div-12 { font-family: 'Archivo', sans-serif; font-weight: 900; font-size: 44px; letter-spacing: -.04em; line-height: 1; }
.problem-div-13 { font-size: 16px; line-height: 1.4; color: #cfc8ba; }
.problem-div-14 { padding: 24px 22px; border-bottom: 1px solid #3a352d; display: flex; flex-direction: column; gap: 8px; }
.problem-div-15 { grid-column: 1 / -1; padding: 12px 22px; font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: #8a8478; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.problem-a-16 { color: #8fc4b5; }
.problem-a-16:hover { color: #f4efe5; }
.problem-div-17 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 32px; margin-top: 72px; padding-top: 40px; border-top: 1px solid #3a352d; }
.problem-div-18 { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 22px; letter-spacing: -.01em; }
.problem-p-19 { margin: 0; font-size: 17px; line-height: 1.5; color: #cfc8ba; }

/* how it works */
.how-it-works-div-1 { max-width: 1180px; margin: 0 auto; padding: 72px 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 0; }
.how-it-works-div-2 { padding: 8px 28px 8px 0; border-right: 1px solid #d8d0bf; display: flex; flex-direction: column; gap: 10px; }
.how-it-works-p-3 { margin: 0; font-size: 17px; line-height: 1.5; color: #5a544a; }
.how-it-works-div-4 { padding: 8px 28px; border-right: 1px solid #d8d0bf; display: flex; flex-direction: column; gap: 10px; }
.how-it-works-div-5 { padding: 8px 0 8px 28px; display: flex; flex-direction: column; gap: 10px; }

/* platform */
.platform-div-1 { border: 1px solid #d8d0bf; border-radius: 6px; padding: 14px; background: #f4efe5; display: flex; flex-direction: column; gap: 10px; min-height: 96px; }
.platform-div-1:hover { border: 1px solid #1f6f5f; }
.platform-div-2 { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.platform-span-3 { width: 7px; height: 7px; border-radius: 50%; background: #1f6f5f; animation: gsPulse 2.4s ease-in-out infinite; }
.platform-div-4 { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 14px; line-height: 1.2; letter-spacing: -.01em; }
.platform-div-5 { height: 3px; background: #e3ddd0; border-radius: 2px; overflow: hidden; }
.platform-div-6 { height: 100%; background: #1f6f5f; transform-origin: left; animation: gsFill 5s ease-in-out infinite; }
.platform-div-7 { padding: 0 20px 18px; font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: #6b655a; }
.platform-ul-8 { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; font-family: 'Archivo', sans-serif; font-size: 15px; font-weight: 500; }
.platform-li-9 { display: flex; gap: 10px; align-items: baseline; }

/* factory */
.factory-span-1 { margin-left: auto; color: #1f6f5f; }
.factory-div-2 { display: grid; grid-template-columns: 1.3fr 1fr 1fr auto; gap: 12px; padding: 12px 18px 6px; font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: #6b655a; }
.factory-span-3 { min-width: 88px; }
.factory-div-4 { position: relative; margin: 0 18px 18px; }
.factory-div-5 { position: absolute; left: 0; right: 0; top: 0; transition: transform .9s cubic-bezier(.2,.8,.2,1); display: grid; grid-template-columns: 1.3fr 1fr 1fr auto; gap: 12px; align-items: center; height: 40px; border-top: 1px solid #e6e0d3; font-size: 14px; }
.factory-span-6 { display: flex; align-items: center; gap: 8px; }
.factory-span-7 { flex: 1; height: 6px; background: #e6e0d3; border-radius: 3px; overflow: hidden; }
.factory-span-8 { display: block; height: 100%; background: #1a1713; transition: width .9s; }
.factory-span-9 { font-family: 'IBM Plex Mono', monospace; font-size: 11px; color: #6b655a; min-width: 18px; }
.factory-span-10 { display: block; height: 100%; background: #1f6f5f; transition: width .9s; }
.factory-span-11 { font-family: 'IBM Plex Mono', monospace; font-size: 11px; color: #6b655a; min-width: 46px; text-align: right; }
.factory-span-12 { font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: .08em; padding: 4px 8px; border-radius: 3px; min-width: 88px; text-align: center; }

/* adopt or build */
.adopt-or-build-div-1 { max-width: 720px; display: flex; flex-direction: column; gap: 20px; }
.adopt-or-build-div-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 28px; }
.adopt-or-build-div-3 { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.adopt-or-build-span-4 { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 34px; letter-spacing: -.03em; }
.adopt-or-build-span-5 { font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: #1f6f5f; border: 1px solid #1f6f5f; padding: 3px 8px; border-radius: 3px; }
.adopt-or-build-div-6 { display: flex; align-items: center; gap: 10px; margin-top: 4px; }
.adopt-or-build-div-7 { height: 100%; width: 100%; background: #1f6f5f; transform-origin: left; animation: gsFill 6s ease-in-out infinite; }
.adopt-or-build-div-8 { display: flex; flex-direction: column; gap: 9px; font-family: 'IBM Plex Mono', monospace; font-size: 13px; color: #3d3831; line-height: 1.5; }
.adopt-or-build-div-9 { display: flex; gap: 12px; align-items: baseline; }
.adopt-or-build-span-10 { color: #1f6f5f; min-width: 22px; }
.adopt-or-build-span-11 { animation: gsType 9s steps(40, end) infinite; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.adopt-or-build-div-12 { display: flex; gap: 18px; font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: #6b655a; margin-top: 4px; flex-wrap: wrap; }

/* agents */
.agents-div-1 { padding: 22px; display: grid; grid-template-columns: 150px 1fr; gap: 22px; align-items: center; }
.agents-div-2 { position: relative; width: 150px; height: 150px; }
.agents-div-3 { position: absolute; inset: 0; border: 1px dashed #6b655a; border-radius: 50%; }
.agents-div-4 { position: absolute; inset: 0; animation: gsSpin 4.4s linear infinite; }
.agents-div-5 { position: absolute; top: -6px; left: 50%; margin-left: -6px; width: 12px; height: 12px; border-radius: 50%; background: #8fc4b5; box-shadow: 0 0 0 6px rgba(143,196,181,.18); }
.agents-div-6 { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 15px; letter-spacing: -.01em; color: #f4efe5; transition: opacity .3s; }
.agents-div-7 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.agents-div-8 { border-radius: 5px; padding: 10px 12px; font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: .06em; transition: all .4s ease; display: flex; flex-direction: column; gap: 3px; }
.agents-span-9 { opacity: .6; font-size: 10px; }
.agents-div-10 { padding: 0 22px 22px; display: flex; flex-direction: column; gap: 8px; }
.agents-div-11 { font-family: 'IBM Plex Mono', monospace; font-size: 12.5px; line-height: 1.5; padding: 10px 12px; border-radius: 4px; transition: all .5s ease; display: flex; gap: 10px; }
.agents-p-12 { margin: 0; font-size: 17px; line-height: 1.5; color: #a39c8e; }
.agents-a-13 { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 15px; color: #8fc4b5; border-bottom: 2px solid #8fc4b5; align-self: flex-start; }
.agents-a-13:hover { color: #8fc4b5; }  /* was inline: no hover change */

/* blueprints */
.blueprints-section-1 { border-bottom: 1px solid #d8d0bf; overflow: hidden; }
.blueprints-div-2 { max-width: 1180px; margin: 0 auto; padding: 96px 24px 40px; display: flex; justify-content: space-between; align-items: end; gap: 32px; flex-wrap: wrap; }
.blueprints-div-3 { max-width: 640px; display: flex; flex-direction: column; gap: 18px; }
.blueprints-a-4 { color: #1a1713; font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 16px; padding: 14px 22px; border: 1px solid #1a1713; border-radius: 4px; white-space: nowrap; }
.blueprints-a-4:hover { background: #1a1713; color: #f4efe5; }
.blueprints-div-5 { position: relative; padding-bottom: 96px; }
.blueprints-div-6 { display: flex; gap: 14px; width: max-content; animation: gsMarquee 46s linear infinite; padding-left: 24px; }
.blueprints-a-7 { width: 220px; border: 1px solid #1a1713; border-radius: 6px; background: #fbf8f1; padding: 16px; display: flex; flex-direction: column; gap: 12px; color: #1a1713; box-shadow: 4px 4px 0 #1a1713; flex-shrink: 0; }
.blueprints-a-7:hover { background: #e2eee8; color: #1a1713; }
.blueprints-span-8 { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 18px; letter-spacing: -.01em; }
.blueprints-span-9 { font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: #1f6f5f; letter-spacing: .15em; }

/* calculator */
.calculator-div-1 { padding: 26px; display: flex; flex-direction: column; gap: 26px; }
.calculator-span-2 { font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: #6b655a; }
.calculator-span-3 { font-family: 'Archivo', sans-serif; font-weight: 900; font-size: clamp(44px, 6vw, 72px); letter-spacing: -.04em; line-height: 1; color: #1f6f5f; font-variant-numeric: tabular-nums; }
.calculator-span-4 { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 26px; }
.calculator-div-5 { height: 10px; background: #e6e0d3; border-radius: 5px; overflow: hidden; display: flex; }
.calculator-div-6 { height: 100%; background: #1f6f5f; transition: width .5s ease; }
.calculator-div-7 { display: flex; justify-content: space-between; font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: #6b655a; }

/* comparison */
.comparison-div-1 { border: 1px solid #1a1713; border-radius: 8px; overflow: hidden; background: #fbf8f1; }
.comparison-div-2 { display: grid; grid-template-columns: 1.2fr 1fr 1fr; border-top: 1px solid #d8d0bf; font-size: 16px; line-height: 1.4; }
.comparison-div-3 { padding: 16px 18px; font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 15px; }
.comparison-div-4 { padding: 16px 18px; color: #6b655a; }
.comparison-div-5 { padding: 16px 18px; color: #1a1713; background: #eef4f0; }

/* proof */
.proof-div-1 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 28px; }
.proof-figure-2 { margin: 0; border-left: 1px solid #1a1713; padding: 4px 0 4px 24px; display: flex; flex-direction: column; gap: 18px; }
.proof-blockquote-3 { margin: 0; font-size: 22px; line-height: 1.4; font-style: italic; text-wrap: pretty; }

/* pricing */
.pricing-div-1 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 24px; align-items: stretch; }
.pricing-div-2 { border: 1px solid #1a1713; border-radius: 8px; background: #fbf8f1; padding: 30px; display: flex; flex-direction: column; gap: 22px; box-shadow: 8px 8px 0 #1a1713; }
.pricing-div-3 { font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #6b655a; }
.pricing-div-4 { display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: baseline; padding: 14px 0; border-bottom: 1px solid #d8d0bf; transition: background .3s; margin: 0 -10px; padding-left: 10px; padding-right: 10px; border-radius: 4px; }
.pricing-span-5 { display: flex; flex-direction: column; gap: 2px; }
.pricing-span-6 { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 17px; letter-spacing: -.01em; }
.pricing-span-7 { display: flex; align-items: baseline; gap: 5px; }
.pricing-span-8 { font-family: 'Archivo', sans-serif; font-weight: 900; font-size: 30px; letter-spacing: -.03em; line-height: 1; }
.pricing-ul-9 { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; font-family: 'IBM Plex Mono', monospace; font-size: 13px; color: #3d3831; }
.pricing-div-10 { border: 1px solid #1a1713; border-radius: 8px; background: #1f6f5f; color: #f4efe5; padding: 30px; display: flex; flex-direction: column; gap: 18px; box-shadow: 8px 8px 0 #1a1713; flex: 1; }
.pricing-div-11 { font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #cfe6dd; }
.pricing-strong-12 { font-weight: 500; }
.pricing-input-13 { width: 100%; accent-color: #f4efe5; }
.pricing-div-14 { font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: #cfe6dd; }
.pricing-div-15 { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.pricing-span-16 { font-family: 'Archivo', sans-serif; font-weight: 900; font-size: clamp(44px, 5vw, 64px); letter-spacing: -.04em; line-height: 1; font-variant-numeric: tabular-nums; }
.pricing-span-17 { font-family: 'IBM Plex Mono', monospace; font-size: 13px; color: #cfe6dd; }
.pricing-div-18 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: #e2eee8; border-top: 1px dashed rgba(244,239,229,.35); padding-top: 14px; }
.pricing-span-19 { color: #cfe6dd; font-size: 10px; letter-spacing: .1em; }
.pricing-p-20 { margin: 0; font-size: 15px; line-height: 1.5; color: #e2eee8; }
.pricing-a-21 { margin-top: auto; background: #f4efe5; color: #1a1713; font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 15px; padding: 14px 20px; border-radius: 4px; text-align: center; }
.pricing-a-21:hover { background: #1a1713; color: #f4efe5; }
.pricing-div-22 { border: 1px dashed #1a1713; border-radius: 8px; padding: 22px 26px; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.pricing-span-23 { font-size: 16px; line-height: 1.4; color: #3d3831; }
.pricing-a-24 { color: #1a1713; font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 15px; padding: 12px 18px; border: 1px solid #1a1713; border-radius: 4px; white-space: nowrap; }
.pricing-a-24:hover { background: #1a1713; color: #f4efe5; }

/* final cta */
.final-cta-div-1 { max-width: 1180px; margin: 0 auto; padding: 110px 24px; display: flex; flex-direction: column; gap: 30px; align-items: flex-start; }
.final-cta-p-2 { margin: 0; font-size: 20px; line-height: 1.5; color: #cfc8ba; max-width: 600px; text-wrap: pretty; }
.final-cta-form-3 { display: flex; gap: 10px; flex-wrap: wrap; width: 100%; max-width: 560px; }
.final-cta-input-4 { flex: 1; min-width: 240px; padding: 16px 18px; font-family: 'IBM Plex Mono', monospace; font-size: 15px; background: #f4efe5; color: #1a1713; border: 1px solid #f4efe5; border-radius: 4px; outline: none; }
.final-cta-button-5 { background: #1f6f5f; color: #f4efe5; border: 1px solid #1f6f5f; font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 16px; padding: 16px 26px; border-radius: 4px; cursor: pointer; }
.final-cta-button-5:hover { background: #8fc4b5; color: #1a1713; }
.final-cta-div-6 { font-family: 'IBM Plex Mono', monospace; font-size: 13px; color: #8a8478; }
