@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap");

:root {
	--color-ink: #10212b;
	--color-ink-soft: #42545c;
	--color-navy: #0d1b24;
	--color-surface: #ffffff;
	--color-surface-muted: #f3f6f4;
	--color-line: #d9e2df;
	--border-green-subtle: rgba(22,130,77,.16);
	--border-green-active: rgba(22,130,77,.5);
	--section-bg: var(--color-surface-muted);
	--section-glow: rgba(22,130,77,.07);
	--section-glow-fade: 32%;
	--section-space: var(--space-7);
	--section-intro-gap: var(--space-6);
	--container-gutters: 3rem;
	--color-green: #16824d;
	--color-green-dark: #0d6339;
	--color-green-soft: #e4f2ea;
	--color-red: #d0524c;
	--color-yellow: #b98516;
	--space-3: 1rem;
	--space-4: 1.5rem;
	--space-5: 2rem;
	--space-6: 3rem;
	--space-7: 4.5rem;
	--space-8: 6.5rem;
	--content-width: 1280px;
	--font-sans: "Manrope", "Inter", "Segoe UI", sans-serif;
	--radius-sm: 0.35rem;
	--radius-md: 0.65rem;
	--shadow-card: 0 12px 30px rgba(13, 27, 36, 0.07);
	--shadow-focus: 0 0 0 3px rgba(22, 130, 77, 0.26);
	--transition: 180ms ease;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--color-surface); color: var(--color-ink); font-family: var(--font-sans); font-size: 1rem; line-height: 1.65; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
a:focus-visible { outline: none; box-shadow: var(--shadow-focus); border-radius: var(--radius-sm); }
p, h1, h2, h3 { margin-top: 0; }
p { color: var(--color-ink-soft); }
h1, h2, h3 { color: var(--color-ink); line-height: 1.15; letter-spacing: -0.02em; }
h1 { font-size: clamp(2.75rem, 6vw, 5.25rem); margin-bottom: var(--space-4); }
h2 { font-size: clamp(2rem, 4vw, 3.25rem); margin-bottom: var(--space-3); }
h3 { font-size: 1.2rem; margin-bottom: var(--space-3); }
ul, ol { margin: 0; padding: 0; }

.site-header { position: sticky; top: 0; z-index: 10; background: rgba(255,255,255,.92); border-bottom: 1px solid rgba(16,33,43,.07); backdrop-filter: blur(14px); }
.container { width: min(100% - var(--container-gutters),var(--content-width)); margin-inline: auto; }
.site-navigation { display: flex; align-items: center; justify-content: space-between; min-height: 4.875rem; gap: var(--space-5); }
.brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.brand img { display: block; width: clamp(185px, 15vw, 205px); height: auto; }
.navigation-list { display: flex; align-items: center; gap: 1.875rem; list-style: none; }
.navigation-list a { position: relative; color: var(--color-ink-soft); font-size: .875rem; font-weight: 600; transition: color var(--transition); }
.navigation-list a::after { position: absolute; right: 0; bottom: -.45rem; left: 0; height: 2px; background: var(--color-green); content: ""; transform: scaleX(0); transform-origin: right; transition: transform var(--transition); }
.navigation-list a:hover, .navigation-list a:focus-visible { color: var(--color-green-dark); }
.navigation-list a:hover::after, .navigation-list a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.header-cta { display: inline-flex; align-items: center; gap: .55rem; height: 44px; padding: .55rem 1.1rem; border-radius: 8px; background: var(--color-green); color: #fff; font-size: .86rem; font-weight: 700; box-shadow: 0 8px 16px rgba(22,130,77,.12); transition: background var(--transition), transform var(--transition), box-shadow var(--transition); }
.header-cta:hover, .header-cta:focus-visible { background: var(--color-green-dark); transform: translateY(-2px); box-shadow: 0 10px 20px rgba(22,130,77,.18); }

.hero { position: relative; isolation: isolate; overflow: clip; padding-top: 90px; padding-bottom: 110px; background: radial-gradient(circle at 78% 42%, rgba(22,130,77,.13) 0%, rgba(22,130,77,.055) 27%, transparent 52%), linear-gradient(180deg,#fff 0%,#fbfdfc 65%,#f5faf7 100%); }
.hero-inner { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: clamp(2.5rem,4vw,4rem); }
.hero::before { position: absolute; top: 8%; right: 0; z-index: -1; width: 58%; height: 70%; background-image: linear-gradient(rgba(22,130,77,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(22,130,77,.06) 1px,transparent 1px); background-size: 30px 30px; opacity: .25; content: ""; pointer-events: none; }
.hero-eyebrow { display: flex; align-items: center; gap: .5rem; width: fit-content; margin-bottom: 20px; padding: 8px 13px; border: 1px solid rgba(22,130,77,.15); border-radius: 999px; background: rgba(22,130,77,.08); color: var(--color-green-dark); font-size: 12px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.eyebrow-dot { color: var(--color-green); font-size: .65rem; }
.hero-content { position: relative; z-index: 2; min-width: 0; }
.hero-title { max-width: none; margin-bottom: 0; font-size: clamp(3.7rem,4.7vw,4.8rem); font-weight: 800; line-height: .98; letter-spacing: -.05em; }
.hero-title-line { display: block; white-space: nowrap; }
.hero-title em { font-style: normal; }
.text-risk { color: #d0524c; }
.text-greenflag { color: var(--color-green); }
.hero-description { max-width: 560px; margin-top: 26px; margin-bottom: 0; color: #53636b; font-size: 18px; font-weight: 400; line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.button { display: inline-flex; align-items: center; justify-content: center; height: 54px; min-height: 54px; padding: 0 25px; border: 1px solid transparent; border-radius: 8px; font-size: .94rem; font-weight: 700; transition: background var(--transition),border-color var(--transition),color var(--transition),transform var(--transition),box-shadow var(--transition); }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--color-green); color: #fff; box-shadow: 0 8px 16px rgba(22,130,77,.16); }
.button-primary:hover, .button-primary:focus-visible { background: var(--color-green-dark); }
.button-secondary { border-color: var(--color-line); background: rgba(255,255,255,.8); color: var(--color-ink); }
.button-secondary:hover, .button-secondary:focus-visible { border-color: var(--color-green); color: var(--color-green-dark); }
.hero-benefits { display: grid; grid-template-columns: repeat(2,minmax(130px,1fr)); gap: 12px 16px; max-width: 380px; margin-top: 35px; }
.hero-benefit { display: flex; align-items: center; gap: .55rem; min-width: 0; color: var(--color-ink); font-size: 14px; font-weight: 600; line-height: 1.3; }
.benefit-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 18px; width: 18px; height: 18px; color: var(--color-green); font-size: 18px; font-weight: 900; }
.hero-dashboard-wrap { position: relative; display: flex; align-items: center; justify-content: center; min-width: 0; }
.hero-dashboard-wrap::before { position: absolute; top: 50%; left: 50%; z-index: -1; width: 75%; height: 75%; border-radius: 50%; background: rgba(22,130,77,.15); filter: blur(80px); content: ""; transform: translate(-50%,-50%); }
.hero-dashboard { display: block; position: relative; z-index: 1; min-width: 0; width: min(100%,690px); max-width: none; height: auto; margin-inline: auto; filter: drop-shadow(0 32px 50px rgba(13,27,36,.18)); transform: perspective(1400px) rotateY(-2deg) rotateX(.5deg); transition: filter var(--transition),transform var(--transition); }
.hero-dashboard:hover { filter: drop-shadow(0 34px 54px rgba(13,27,36,.21)); transform: perspective(1400px) rotateY(0) rotateX(0); }

.section-spacing { padding-block: var(--section-space); }
.section-atmosphere { position: relative; background: radial-gradient(circle at var(--section-glow-position,18% 12%),var(--section-glow),transparent var(--section-glow-fade)),var(--section-bg); }
.section-atmosphere > .container { position: relative; z-index: 1; }
/* Adjacent content sections share one gap instead of two full paddings. */
.section-spacing:has(+ .section-spacing) { padding-bottom: calc(var(--section-space) / 2); }
.section-spacing + .section-spacing { padding-top: calc(var(--section-space) / 2); }
.philosophy { --section-glow-position: 76% 66%; position: relative; overflow: hidden; }
.philosophy::before { position: absolute; top: 18%; right: -8%; width: 44%; height: 55%; background-image: radial-gradient(rgba(22,130,77,.12) .7px, transparent .7px); background-size: 24px 24px; opacity: .22; content: ""; pointer-events: none; }
/* Shared introduction rhythm from eyebrow through the start of content. */
.section-header { margin: 0 auto var(--section-intro-gap); text-align: center; }
.section-eyebrow { width: fit-content; margin: 0 auto 18px; padding: 9px 15px; border: 1px solid var(--border-green-subtle); border-radius: 999px; background: rgba(22,130,77,.07); color: var(--color-green); font-size: 14px; font-weight: 800; line-height: 1; letter-spacing: .16em; text-transform: uppercase; }
.section-heading { margin: 0 0 18px; color: var(--color-ink); font-family: var(--font-sans); font-size: clamp(2.4rem,3vw,3.2rem); font-weight: 800; line-height: 1.06; letter-spacing: -.04em; }
.section-summary { max-width: 650px; margin: 0 auto; color: var(--color-ink-soft); font-size: 18px; line-height: 1.7; }
@media (max-width: 600px) {
	.section-heading { font-size: clamp(2.3rem,10vw,3rem); }
	.section-summary { font-size: 16px; }
}
.philosophy-introduction { position: relative; z-index: 1; max-width: 650px; }
.release-pipeline { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr 1fr 1fr 1fr 1.05fr; align-items: start; gap: clamp(1rem,2vw,2rem); max-width: 1240px; margin-inline: auto; }
.pipeline-track { position: absolute; top: 5.4rem; right: 9%; left: 9%; height: 4px; background: linear-gradient(90deg, #d9b0ad 0%, #d6524c 23%, #d6a52b 52%, var(--color-green) 82%, #52b879 100%); box-shadow: 0 0 0 1px rgba(22,130,77,.04); }
.pipeline-chevron { position: absolute; top: -4px; width: 12px; height: 12px; border-top: 2px solid rgba(13,99,57,.55); border-right: 2px solid rgba(13,99,57,.55); transform: rotate(45deg); }
.pipeline-chevron-one { left: 22%; }.pipeline-chevron-two { left: 45%; }.pipeline-chevron-three { left: 68%; }.pipeline-chevron-four { left: 89%; }
.pipeline-entry, .pipeline-output { position: relative; z-index: 2; align-self: start; margin-top: 2.25rem; text-align: center; }
.software-window { position: relative; width: 4.4rem; height: 3.25rem; margin: 0 auto .85rem; border: 1px solid var(--color-line); border-radius: 10px; background: #fff; box-shadow: 0 10px 22px rgba(13,27,36,.07); }
.software-window > span { display: inline-block; width: 5px; height: 5px; margin: 7px 1px 0; border-radius: 50%; background: #b9c7c5; }.software-window > span:first-child { margin-left: 8px; background: #d9a7a3; }.software-window b, .software-window i { position: absolute; display: block; left: 10px; width: 2.7rem; height: 3px; border-radius: 2px; background: #dce6e3; content: ""; }.software-window b { top: 1.25rem; }.software-window i { top: 1.75rem; width: 1.8rem; }.software-window i:last-child { top: 2.25rem; width: 2.3rem; }
.pipeline-entry > strong, .pipeline-output > strong { display: block; color: var(--color-ink); font-size: 1rem; letter-spacing: .06em; text-transform: uppercase; }.pipeline-entry > p, .pipeline-output > p { margin: .45rem 0 0; color: var(--color-ink-soft); font-size: .78rem; line-height: 1.45; }
.quality-gate { position: relative; z-index: 2; min-width: 0; text-align: center; }.gate-number { display: block; margin-bottom: .7rem; color: #78888b; font-size: .72rem; font-weight: 800; letter-spacing: .12em; }.gate-circle { display: flex; align-items: center; justify-content: center; width: 6.2rem; height: 6.2rem; margin: 0 auto 1.25rem; border: 9px solid rgba(214,82,76,.13); border-radius: 50%; background: #d6524c; color: #fff; font-size: 2.5rem; font-weight: 500; box-shadow: 0 0 0 1px rgba(214,82,76,.25), 0 12px 24px rgba(214,82,76,.16); }.quality-gate-yellow .gate-circle { border-color: rgba(214,165,43,.16); background: #d6a52b; box-shadow: 0 0 0 1px rgba(214,165,43,.26), 0 12px 24px rgba(214,165,43,.14); }.quality-gate-green .gate-circle { border-color: var(--border-green-subtle); background: var(--color-green); box-shadow: 0 0 0 1px rgba(22,130,77,.25), 0 0 28px rgba(22,130,77,.2), 0 12px 24px rgba(22,130,77,.15); }
.gate-copy { max-width: 205px; margin-inline: auto; }.philosophy-label { margin: 0 0 .35rem; color: var(--color-green-dark); font-size: 13px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }.quality-gate-red .philosophy-label { color: #b74742; }.quality-gate-yellow .philosophy-label { color: #a77c11; }.gate-copy h3 { margin-bottom: .55rem; font-size: 1.35rem; font-weight: 800; line-height: 1.1; }.gate-copy > p:last-child { margin: 0; color: var(--color-ink-soft); font-size: .86rem; line-height: 1.6; }
.pipeline-output { padding: 1rem 1.15rem; border: 1px solid var(--border-green-subtle); border-radius: 14px; background: rgba(228,242,234,.7); box-shadow: 0 10px 24px rgba(13,27,36,.05); }.output-mark { display: flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; margin: 0 auto .55rem; border-radius: 50%; background: var(--color-green); color: #fff; font-size: 1rem; }.pipeline-output > strong { color: var(--color-green-dark); }.pipeline-output > p { margin-top: .35rem; }
.philosophy-conclusion { display: flex; align-items: center; justify-content: center; gap: .75rem; width: fit-content; margin: 60px auto 0; padding: .8rem 1.5rem; border: 1px solid var(--border-green-subtle); border-radius: 999px; background: rgba(255,255,255,.7); color: var(--color-ink); font-size: 1.15rem; font-weight: 800; }.philosophy-conclusion span:first-child { color: var(--color-red); }.philosophy-conclusion b { color: var(--color-ink-soft); }.philosophy-conclusion span:last-child strong { color: var(--color-green); }
.services { --section-glow-position: 18% 12%; overflow: hidden; }
.services::before { position: absolute; right: -8%; bottom: 4%; width: 38%; height: 58%; background-image: radial-gradient(rgba(22,130,77,.1) .7px, transparent .7px); background-size: 24px 24px; opacity: .18; content: ""; pointer-events: none; }
.services-introduction { max-width: 720px; }
.services-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.service-card { display: flex; min-width: 0; height: auto; flex-direction: column; padding: 24px 28px; border: 1px solid var(--color-line); border-radius: 16px; background: #fff; transition: border-color var(--transition), transform var(--transition), box-shadow var(--transition); }
.service-card:hover { border-color: var(--border-green-active); box-shadow: 0 10px 24px rgba(13,27,36,.06); transform: translateY(-3px); }
.service-card h3 { margin: 18px 0 10px; font-size: 21px; font-weight: 800; line-height: 1.2; letter-spacing: -.025em; }.service-card p { margin: 0; color: var(--color-ink-soft); font-size: 15px; font-weight: 400; line-height: 1.6; }
.service-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; min-height: 94px; }.service-icon { display: flex; align-items: center; justify-content: center; flex: 0 0 52px; width: 52px; height: 52px; border-radius: 13px; background: var(--color-green-soft); color: var(--color-green); }.service-icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.service-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 18px; padding-top: 0; }.service-tags span { padding: 5px 9px; border: 1px solid var(--border-green-subtle); border-radius: 999px; color: var(--color-green-dark); font-size: 12px; line-height: 1; font-weight: 650; }
.service-micro { position: relative; width: 150px; height: 90px; min-height: 90px; padding: 9px 10px; border: 1px solid var(--border-green-subtle); border-radius: 9px; background: #f8fbf9; color: var(--color-ink-soft); font-size: 11px; line-height: 1.45; }.service-micro span { display: block; }.checklist-micro { padding-top: 20px; }.checklist-micro i { position: absolute; top: 7px; left: 10px; width: 5px; height: 5px; border-radius: 50%; background: #d9a7a3; box-shadow: 10px 0 #d6c67e, 20px 0 #9dccaa; }.checklist-micro span { color: var(--color-green-dark); }.checklist-micro b { position: absolute; right: 7px; bottom: 6px; display: flex; align-items: center; justify-content: center; width: 25px; height: 25px; border-radius: 50%; background: var(--color-green); color: #fff; font-size: 14px; }.code-micro { border-color: rgba(13,27,36,.12); background: var(--color-navy); color: #b9d8c5; }.code-micro::after { position: absolute; right: 10px; bottom: 10px; width: 55px; height: 3px; background: var(--color-green); box-shadow: -25px -10px rgba(120,219,154,.6), -40px -20px rgba(120,219,154,.3); content: ""; }.code-micro b { display: block; margin-top: .25rem; color: #78db9a; font-size: .68rem; }.api-micro b { color: var(--color-green); margin-right: .35rem; }.api-micro strong { display: block; color: var(--color-green-dark); }.performance-micro { display: flex; align-items: end; gap: 9px; position: relative; padding: 14px 12px 10px; }.performance-micro::after { position: absolute; right: 12px; bottom: 25px; width: 80px; height: 2px; background: var(--color-green); content: ""; transform: rotate(-24deg); }.performance-micro i { display: block; width: 17px; border-radius: 3px 3px 0 0; background: var(--color-green); }.performance-micro i:nth-child(1) { height: 24%; opacity: .35; }.performance-micro i:nth-child(2) { height: 43%; opacity: .55; }.performance-micro i:nth-child(3) { height: 65%; opacity: .75; }.performance-micro i:nth-child(4) { height: 82%; }.security-micro { display: flex; align-items: center; justify-content: space-between; padding: 12px; }.shield-rings { display: flex; align-items: center; justify-content: center; width: 58px; height: 58px; border: 1px solid var(--border-green-subtle); border-radius: 50%; }.shield-rings::before { width: 38px; height: 38px; border: 1px solid var(--border-green-active); border-radius: 50%; content: ""; }.shield-rings span { position: absolute; color: var(--color-green); font-size: 18px; }.security-micro p { margin: 0; color: var(--color-green-dark); font-size: 10px; line-height: 1.55; }.strategy-micro { display: flex; align-items: end; justify-content: center; gap: 8px; padding: 12px; }.strategy-micro::before { position: absolute; top: 8px; left: 10px; color: var(--color-green-dark); content: "QUALITY"; font-size: 9px; font-weight: 800; letter-spacing: .08em; }.strategy-micro i { display: block; width: 16px; border-radius: 3px 3px 0 0; background: var(--color-green); }.strategy-micro i:nth-child(1) { height: 25%; opacity: .35; }.strategy-micro i:nth-child(2) { height: 45%; opacity: .55; }.strategy-micro i:nth-child(3) { height: 68%; opacity: .75; }.strategy-micro i:nth-child(4) { height: 88%; }
.ai-quality-panel { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); align-items: center; gap: 2rem; margin-top: 20px; padding: 28px 32px; border: 1px solid var(--border-green-subtle); border-radius: 16px; background: rgba(228,242,234,.72); }.ai-eyebrow { margin: 0 0 .35rem; color: var(--color-green-dark); font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }.ai-quality-copy h3 { margin: .35rem 0 .5rem; font-size: 1.45rem; font-weight: 800; }.ai-quality-copy p:last-child { max-width: 590px; margin: 0; font-size: .9rem; line-height: 1.6; }.ai-capabilities { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }.ai-capabilities > div { display: flex; align-items: center; gap: .55rem; color: var(--color-green-dark); font-size: .7rem; line-height: 1.35; }.ai-icon { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 9px; background: #fff; color: var(--color-green); font-size: .95rem; }.ai-capabilities strong { font-weight: 800; }
/* How We Work: an open process line, ending in release confidence. */
.approach { --section-glow-position: 80% 55%; scroll-margin-top: 7rem; }
.approach-introduction { max-width: 760px; }
.approach-journey { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 140px; }
.approach-journey::before { position: absolute; top: 58px; right: 70px; left: 28px; height: 1px; background: linear-gradient(90deg,#d6b6b2,var(--color-line) 28%,#a3c6b2 60%,var(--color-green)); content: ""; }
.approach-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); list-style: none; }
.approach-step { position: relative; min-width: 0; padding-right: var(--space-5); }
.approach-step::after { position: absolute; top: 55px; right: 20px; width: 7px; height: 7px; border-top: 1px solid #85ad96; border-right: 1px solid #85ad96; transform: rotate(45deg); content: ""; }
.approach-number { display: block; width: 56px; margin-bottom: 12px; color: var(--color-ink-soft); font-size: 12px; font-weight: 800; line-height: 18px; letter-spacing: .12em; text-align: center; }
.approach-marker, .approach-finish { position: relative; display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border: 1px solid var(--color-line); border-radius: 50%; background: #f3f6f4; color: #507061; }
.approach-marker { margin-bottom: var(--space-4); }
.approach-marker svg, .approach-finish svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.approach-step:first-child .approach-marker { border-color: #e2c9c5; background: #fcf7f6; color: #ad6b63; }
.approach-step:nth-child(3) .approach-marker { border-color: var(--border-green-subtle); background: #f0f8f3; color: var(--color-green); }
.approach-step:last-child .approach-marker { border-color: var(--color-green); background: var(--color-green-soft); color: var(--color-green-dark); }
.approach-step h3 { margin-bottom: 12px; font-size: 1.2rem; font-weight: 800; line-height: 1.25; letter-spacing: -.025em; }
.approach-step p { max-width: 255px; margin-bottom: 16px; font-size: 15px; line-height: 1.65; }
.approach-status { display: inline-flex; align-items: center; gap: 7px; color: var(--color-green-dark); font-size: 10px; font-weight: 800; line-height: 1.5; letter-spacing: .14em; text-transform: uppercase; }
.approach-status::before { width: 12px; height: 1px; background: currentColor; content: ""; }
.approach-step:first-child .approach-status { color: var(--color-ink-soft); }
.approach-destination { position: relative; align-self: start; display: flex; flex-direction: column; align-items: center; gap: 16px; margin-top: 30px; text-align: center; }
.approach-finish { flex: 0 0 56px; border-color: var(--color-green); background: var(--color-green); color: #fff; }
.approach-destination strong { display: block; color: var(--color-green-dark); font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.approach-destination div > span { display: block; margin-top: 3px; color: var(--color-ink-soft); font-size: 11px; }
.approach-note { margin: var(--space-5) 0 0; padding-top: var(--space-4); border-top: 1px solid var(--color-line); color: var(--color-ink-soft); font-size: .85rem; text-align: center; }
@media (min-width: 601px) and (max-width: 960px) {
	.approach-journey { display: block; }
	.approach-journey::before { display: none; }
	.approach-steps { position: relative; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: repeat(2,1fr); row-gap: var(--space-5); }
	.approach-steps::before { position: absolute; top: 58px; right: 0; left: 28px; height: calc(50% + 16px); border: 1px solid var(--border-green-active); border-left: 0; border-radius: 0 20px 20px 0; content: ""; }
	.approach-step { padding-right: var(--space-6); }
	.approach-step:nth-child(3) { grid-column: 2; grid-row: 2; }
	.approach-step:nth-child(4) { grid-column: 1; grid-row: 2; }
	.approach-step:nth-child(3)::after { right: auto; left: -20px; transform: rotate(-135deg); }
	.approach-step:nth-child(2)::after { top: auto; right: -3px; bottom: -20px; transform: rotate(135deg); }
	.approach-step:nth-child(4)::after { display: none; }
	.approach-destination { flex-direction: row; gap: 16px; margin-top: var(--space-4); text-align: left; }
	.approach-destination::before { position: absolute; left: 28px; bottom: 56px; height: 24px; width: 1px; background: var(--color-green); content: ""; }
}
@media (max-width: 600px) {
	.approach-introduction { text-align: left; }
	.approach-introduction .section-eyebrow { margin-inline: 0; }
	.approach-journey { display: block; }
	.approach-journey::before { top: 28px; right: auto; bottom: 28px; left: 28px; width: 1px; height: auto; background: linear-gradient(180deg,#d6b6b2,var(--color-line) 25%,var(--color-green)); }
	.approach-steps { display: block; }
	.approach-step { padding: 0 0 var(--space-5) 80px; }
	.approach-number { width: auto; margin-bottom: 8px; text-align: left; }
	.approach-marker { position: absolute; top: 0; left: 0; margin: 0; }
	.approach-step::after { top: auto; bottom: 16px; right: auto; left: 25px; transform: rotate(135deg); }
	.approach-step p { max-width: none; margin-bottom: 12px; }
	.approach-destination { flex-direction: row; gap: 24px; margin: 0; text-align: left; }
	.approach-note { text-align: left; }
}
/* About: company-led editorial copy with restrained founder credibility. */
.about { --section-glow-position: 12% 85%; }
.about-content { --about-divider-space: clamp(3rem,4vw,4rem); display: grid; grid-template-columns: minmax(0,1.65fr) minmax(0,1fr); align-items: start; gap: var(--about-divider-space); }
.about-label { margin: 0 0 18px; color: var(--color-green-dark); font-size: .78rem; font-weight: 800; line-height: 1.5; letter-spacing: .12em; text-transform: uppercase; }
.about-company > p { max-width: 620px; margin: 0 0 16px; font-size: 18px; line-height: 1.7; }
.about-company > .about-company-lead { color: var(--color-ink); font-size: clamp(1.25rem,1.7vw,1.5rem); font-weight: 500; line-height: 1.55; letter-spacing: -.015em; }
.about-company > p:last-child { margin-bottom: 0; }
.about-founder { min-width: 0; padding-left: var(--about-divider-space); border-left: 1px solid var(--color-line); }
.about-founder h3 { margin: 0 0 20px; font-size: clamp(1.625rem,2.2vw,2rem); font-weight: 800; line-height: 1.2; }
.about-experience { margin: 0 0 18px; }
.about-experience-number { display: block; margin-bottom: 12px; color: var(--color-green); font-size: 2.5rem; font-weight: 700; line-height: 1; letter-spacing: -.035em; }
.about-experience-label { display: block; color: var(--color-ink-soft); font-size: .7rem; font-weight: 700; line-height: 1.4; letter-spacing: .1em; text-transform: uppercase; }
.about-founder-summary { max-width: 330px; margin: 0; font-size: 15px; line-height: 1.7; }
@media (max-width: 720px) {
	.about-content { grid-template-columns: 1fr; gap: var(--space-5); }
	.about-founder { padding: var(--space-5) 0 0; border-left: 0; border-top: 1px solid var(--color-line); }
	.about-company > p { font-size: 16px; }
	.about-company > .about-company-lead { font-size: 1.25rem; }
	.about-experience-number { font-size: 2rem; }
}
.contact { --section-glow-position: 65% 72%; scroll-margin-top: 7rem; }
.contact-introduction { max-width: 800px; }
.contact-layout { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.5fr); align-items: start; gap: var(--space-6); }
.contact-context { padding-top: var(--space-4); }
.contact-label { margin-bottom: 18px; color: var(--color-green-dark); font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.contact-context h3 { max-width: 390px; margin-bottom: 18px; font-size: 1.625rem; font-weight: 800; line-height: 1.25; }
.contact-context > p:not(.contact-label) { max-width: 390px; margin-bottom: var(--space-4); }
.contact-link, .footer-linkedin { color: var(--color-green-dark); font-size: .9rem; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; text-decoration-color: var(--border-green-subtle); }
.contact-link:hover, .footer-linkedin:hover { text-decoration-color: currentColor; }
.contact-form { min-width: 0; padding: var(--space-5); border: 1px solid var(--color-line); border-radius: 18px; background: var(--color-surface); box-shadow: var(--shadow-card); }
.contact-honeypot { display: none; }
.contact-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-bottom: var(--space-4); }
.contact-field { min-width: 0; }
.contact-field label { display: block; margin-bottom: 8px; color: var(--color-ink); font-size: .7rem; font-weight: 800; line-height: 1.5; letter-spacing: .055em; text-transform: uppercase; }
.contact-field input, .contact-field select, .contact-field textarea { display: block; width: 100%; min-width: 0; height: 50px; padding: 12px; border: 1px solid var(--color-line); border-radius: 8px; background: var(--color-surface); color: var(--color-ink); font: inherit; font-size: 16px; line-height: 1.5; }
.contact-field textarea { min-height: 132px; height: 132px; resize: vertical; }
.contact-field textarea::placeholder { color: var(--color-ink-soft); opacity: 1; }
.contact-field-message { grid-column: 1 / -1; }
.contact-field input:focus-visible, .contact-field select:focus-visible, .contact-field textarea:focus-visible, .contact-form .button:focus-visible { outline: 2px solid var(--color-green); outline-offset: 2px; box-shadow: var(--shadow-focus); }
.contact-form .button { gap: .55rem; font-family: inherit; cursor: pointer; }
.contact-form .button:disabled { opacity: .7; cursor: wait; transform: none; }
.contact-status { margin: 16px 0 0; font-size: .9rem; line-height: 1.6; }
.contact-status:empty { margin: 0; }
.contact-status[data-state="success"] { color: var(--color-green-dark); }
.contact-status[data-state="error"] { color: var(--color-ink); }
.contact-status + .contact-link { font-size: .85rem; }
@media (max-width: 850px) {
	.contact-layout { grid-template-columns: 1fr; gap: var(--space-5); }
	.contact-context { padding-top: 0; }
	.contact-context h3, .contact-context > p:not(.contact-label) { max-width: 600px; }
}
@media (max-width: 720px) {
	.contact { scroll-margin-top: 9rem; }
}
@media (max-width: 600px) {
	.contact-fields { grid-template-columns: 1fr; }
	.contact-form { padding: var(--space-4); }
	.contact-form .button { width: 100%; padding-inline: 12px; }
}
@media (max-width: 420px) {
	.contact { scroll-margin-top: 14rem; }
}
.site-footer { display: grid; grid-template-columns: 1.5fr 1fr auto; align-items: end; gap: var(--space-5); padding-block: var(--space-6); border-top: 1px solid var(--color-line); }
.footer-brand p { margin-bottom: .35rem; font-size: .88rem; }
.footer-brand .brand { color: var(--color-ink); font-size: 1.05rem; }
.footer-navigation .navigation-list { justify-content: flex-end; gap: var(--space-3); flex-wrap: wrap; }
.copyright { margin: 0; color: var(--color-ink-soft); font-size: .78rem; text-align: right; }

@media (max-width: 1099px) {
	.hero-inner { gap: var(--space-4); }
	.hero-title { font-size: clamp(3.4rem,4.7vw,4.5rem); }
	.hero-dashboard { width: 110%; transform: none; }
}
@media (max-width: 960px) {
	:root { --section-space: 4rem; --section-intro-gap: 2.5rem; }
	.services-grid { grid-template-columns: repeat(2, 1fr); grid-template-rows: auto; }
	.ai-quality-panel { grid-template-columns: 1fr; }
	.ai-capabilities { max-width: 620px; }
	.site-footer { grid-template-columns: 1fr 1fr; }
	.copyright { grid-column: 1 / -1; text-align: left; }
}
@media (max-width: 850px) {
	.hero { padding-block: 70px 90px; }
	.hero-inner { grid-template-columns: 1fr; }
	.hero-content { max-width: 680px; }
	.hero-dashboard-wrap { margin-top: 1rem; }
	.hero-dashboard { width: min(100%,690px); transform: none; }
	.hero-dashboard:hover { transform: none; }
}
@media (max-width: 720px) {
	:root { --container-gutters: 2rem; }
	.navigation-list { gap: .8rem; }
	.navigation-list a { font-size: .78rem; }
	.site-footer { grid-template-columns: 1fr; align-items: start; }
	.footer-navigation .navigation-list { justify-content: flex-start; }
	.copyright { grid-column: auto; }
}
@media (min-width: 421px) and (max-width: 720px) {
	.site-navigation { flex-wrap: wrap; gap: .8rem; padding-block: .75rem; }
	.site-navigation > .navigation-list { order: 3; width: 100%; justify-content: space-between; }
}
@media (max-width: 600px) {
	:root { --section-space: var(--space-6); --section-intro-gap: var(--space-5); }
	.services-introduction h2 br { display: none; }
	.services-grid { display: flex; flex-direction: column; gap: 16px; }
	.service-card { min-height: 0; padding: 26px; }
	.service-card-top { min-height: 74px; }
	.service-micro { width: 130px; }
	.ai-quality-panel { display: block; padding: 26px; }
	.ai-capabilities { grid-template-columns: repeat(2,1fr); gap: 16px 10px; margin-top: 1.5rem; }
}
@media (max-width: 800px) {
	.release-pipeline { display: flex; align-items: center; flex-direction: column; gap: 2.25rem; }
	.pipeline-track { top: 4.5rem; right: auto; bottom: 4.5rem; left: 50%; width: 4px; height: auto; background: linear-gradient(180deg, #d9b0ad 0%, #d6524c 24%, #d6a52b 52%, var(--color-green) 80%, #52b879 100%); transform: translateX(-50%); }
	.pipeline-chevron { left: 50%; border-color: rgba(13,99,57,.55); transform: rotate(135deg) translateX(3px); }
	.pipeline-chevron-one { top: 24%; }.pipeline-chevron-two { top: 46%; }.pipeline-chevron-three { top: 68%; }.pipeline-chevron-four { top: 89%; }
	.pipeline-entry, .pipeline-output { margin-top: 0; }
	.quality-gate { width: min(100%, 280px); }
	.gate-copy { max-width: 280px; }
	.philosophy-conclusion { margin-top: 48px; text-align: center; }
}
@media (max-width: 600px) {
	.hero { padding-block: 55px 75px; }
	.hero-title { font-size: clamp(2.7rem,12vw,3.5rem); }
	.hero-title-line { white-space: normal; }
	.hero-actions, .hero-actions .button { width: 100%; }
	.hero-benefits { grid-template-columns: repeat(2,1fr); }
	.hero-dashboard { width: 110%; max-width: none; margin-left: -5%; }
	.philosophy-conclusion { border-radius: 18px; font-size: 1rem; }
}
@media (max-width: 420px) {
	.site-navigation { align-items: stretch; flex-wrap: wrap; gap: .65rem; padding-block: 1rem; }
	.brand img { width: 185px; }
	.navigation-list { width: 100%; justify-content: space-between; }
	.header-cta { justify-content: center; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
