:root {
  --night: #15201c;
  --forest: #24483b;
  --sage: #a9c7a2;
  --sage-bright: #cde5bf;
  --warm: #f5f3ed;
  --mineral: #d9ded4;
  --ink: #1c2924;
  --muted: #627068;
  --line-dark: rgba(245, 243, 237, 0.16);
  --line-light: rgba(28, 41, 36, 0.16);
  --serif: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --display: "Aptos Display", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --container: 1240px;
  --pad: clamp(22px, 4vw, 64px);
  --radius: 12px;
  --radius-large: 24px;
  --shadow: 0 22px 70px rgba(21, 32, 28, 0.1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--warm); color: var(--ink); font-family: var(--sans); font-size: 15px; line-height: 1.55; text-rendering: optimizeLegibility; }
body, button, input, select, textarea { font-family: var(--sans); }
img, svg { max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a, select { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--sage); outline-offset: 4px; }
.container { width: min(var(--container), calc(100% - (var(--pad) * 2))); margin-inline: auto; }
.skip-link { position: fixed; z-index: 50; top: 12px; left: 14px; padding: 10px 14px; background: var(--sage); color: var(--night); transform: translateY(-150%); transition: transform 180ms ease; }
.skip-link:focus { transform: translateY(0); }

.eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--forest); font-size: 10px; font-weight: 750; letter-spacing: 0.16em; line-height: 1; text-transform: uppercase; }
.eyebrow-light { color: var(--sage); }
.eyebrow-dot, .live-dot, .mini-signal { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.eyebrow-dot { box-shadow: 0 0 0 4px rgba(169, 199, 162, 0.14); }
.section-pad { padding: clamp(88px, 10vw, 150px) 0; }
.section-heading { margin-bottom: 64px; }
.section-heading-split { display: grid; grid-template-columns: 1fr minmax(280px, 0.68fr); gap: clamp(45px, 10vw, 150px); align-items: end; }
.section-heading h2, .building-copy h2, .process-intro h2, .contact-intro h2, .about-section h2 { margin: 18px 0 0; font-family: var(--display); font-size: clamp(38px, 5.1vw, 74px); font-weight: 400; letter-spacing: -0.065em; line-height: 0.98; }
h2 em, h1 em { color: var(--forest); font-family: var(--serif); font-size: 0.94em; font-weight: 400; letter-spacing: -0.065em; }
.section-heading p, .building-copy > p, .about-copy > p, .contact-intro > p { max-width: 490px; margin: 0; color: var(--muted); font-size: 16px; }

/* Header */
.site-header { position: fixed; z-index: 20; top: 0; right: 0; left: 0; padding: 22px 0; color: var(--warm); transition: padding 220ms ease, background 220ms ease, color 220ms ease, box-shadow 220ms ease; }
.site-header.is-scrolled { padding: 13px 0; background: rgba(245, 243, 237, 0.93); box-shadow: 0 1px 0 var(--line-light); color: var(--ink); backdrop-filter: blur(14px); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 11px; flex: none; }
.brand-mark { position: relative; display: inline-block; width: 27px; height: 29px; }
.brand-mark span { position: absolute; display: block; width: 19px; height: 19px; border: 1.5px solid currentColor; border-radius: 5px 5px 5px 0; transform: rotate(45deg); }
.brand-mark span:first-child { top: 3px; left: 3px; }
.brand-mark span:nth-child(2) { top: 10px; left: 10px; border-color: var(--sage); }
.brand-mark i { position: absolute; top: 0; right: 1px; width: 6px; height: 6px; border-radius: 50%; background: var(--sage); }
.brand-copy { display: grid; gap: 1px; line-height: 1; }
.brand-copy strong { font-size: 15px; font-weight: 760; letter-spacing: 0.18em; }
.brand-copy small { font-size: 7px; font-weight: 700; letter-spacing: 0.24em; }
.site-nav { display: flex; align-items: center; gap: clamp(16px, 2.6vw, 36px); font-size: 11px; font-weight: 670; letter-spacing: 0.02em; }
.site-nav > a:not(.nav-cta) { opacity: 0.8; transition: opacity 160ms ease; }
.site-nav > a:not(.nav-cta):hover, .site-nav > a:not(.nav-cta):focus-visible { opacity: 1; }
.nav-cta { display: inline-flex; align-items: center; gap: 12px; padding: 11px 14px; border: 1px solid currentColor; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; }
.nav-cta span { color: var(--sage); font-size: 15px; }
.menu-toggle { display: none; border: 0; background: transparent; color: currentColor; cursor: pointer; }

/* Hero */
.hero { position: relative; overflow: hidden; min-height: 770px; padding: 155px 0 42px; background: var(--night); color: var(--warm); }
.hero::before { position: absolute; top: -28%; right: -8%; width: 63vw; height: 80vw; border: 1px solid rgba(169, 199, 162, 0.12); border-radius: 50%; content: ""; transform: rotate(-25deg); }
.hero::after { position: absolute; right: 7%; bottom: 2%; width: 30vw; height: 30vw; border: 1px solid rgba(169, 199, 162, 0.08); border-radius: 50%; content: ""; }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 0.87fr) minmax(480px, 1.13fr); gap: clamp(35px, 8vw, 125px); align-items: center; }
.hero-copy { padding: 20px 0 50px; }
.hero h1 { max-width: 690px; margin: 28px 0 28px; font-family: var(--display); font-size: clamp(54px, 6.1vw, 91px); font-weight: 400; letter-spacing: -0.078em; line-height: 0.92; }
.hero h1 em { display: block; color: var(--sage-bright); }
.hero-lede { max-width: 505px; margin: 0; color: rgba(245, 243, 237, 0.67); font-size: 16px; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 25px; margin-top: 39px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 24px; min-height: 49px; padding: 13px 18px; border: 1px solid transparent; cursor: pointer; font-size: 10px; font-weight: 760; letter-spacing: 0.14em; line-height: 1; text-transform: uppercase; transition: transform 180ms ease, background 180ms ease, color 180ms ease, border 180ms ease; }
.button:hover, .button:focus-visible { transform: translateY(-2px); }
.button span { font-size: 17px; font-weight: 400; }
.button-light { background: var(--sage); color: var(--night); }
.button-light:hover, .button-light:focus-visible { background: var(--sage-bright); }
.button-dark { background: var(--forest); color: var(--warm); }
.button-dark:hover, .button-dark:focus-visible { background: var(--night); }
.text-link { display: inline-flex; align-items: center; gap: 10px; font-size: 11px; font-weight: 700; }
.text-link span { font-size: 17px; font-weight: 400; }
.text-link-light { color: var(--warm); }
.hero-note { display: flex; align-items: center; gap: 10px; margin-top: 62px; color: rgba(245, 243, 237, 0.4); font-size: 11px; }
.mini-signal { width: 10px; height: 10px; border: 1px solid var(--sage); background: transparent; box-shadow: inset 0 0 0 2px var(--night); }
.hero-foot { position: relative; z-index: 2; display: flex; align-items: center; gap: 15px; padding-top: 18px; color: rgba(245, 243, 237, 0.45); font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; }
.hero-foot-line { width: 48px; height: 1px; background: var(--sage); }

/* Home state dashboard */
.home-state-panel { position: relative; padding: 27px; border: 1px solid rgba(169, 199, 162, 0.27); border-radius: var(--radius-large); background: linear-gradient(143deg, rgba(45, 76, 62, 0.94), rgba(20, 32, 27, 0.97)); box-shadow: 0 34px 80px rgba(0, 0, 0, 0.21); }
.home-state-panel::before { position: absolute; top: 26px; left: -1px; width: 2px; height: 40px; background: var(--sage); content: ""; }
.panel-topline, .panel-heading, .solution-card-top, .form-header { display: flex; align-items: center; justify-content: space-between; }
.panel-kicker, .panel-time, .panel-label, .metric-label { margin: 0; color: rgba(245, 243, 237, 0.56); font-size: 9px; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; }
.panel-kicker { display: flex; align-items: center; gap: 8px; }
.live-dot { width: 6px; height: 6px; color: var(--sage-bright); box-shadow: 0 0 0 4px rgba(169, 199, 162, 0.13); }
.panel-time { color: var(--sage); font-variant-numeric: tabular-nums; }
.panel-time span { color: rgba(245, 243, 237, 0.42); font-size: 8px; }
.panel-heading { margin-top: 20px; }
.panel-label { color: rgba(245, 243, 237, 0.42); }
.panel-heading h2 { margin: 3px 0 0; color: var(--warm); font-family: var(--display); font-size: clamp(36px, 3.6vw, 52px); font-weight: 400; letter-spacing: -0.07em; line-height: 1; }
.panel-heading h2 span { color: var(--sage); font-family: var(--sans); font-size: 22px; letter-spacing: 0; vertical-align: 8px; }
.state-ring { position: relative; display: grid; width: 53px; height: 53px; place-items: center; border: 1px solid rgba(169, 199, 162, 0.52); border-radius: 50%; }
.state-ring::before, .state-ring::after { position: absolute; border: 1px solid rgba(169, 199, 162, 0.25); border-radius: inherit; content: ""; }
.state-ring::before { inset: 6px; }
.state-ring::after { inset: -5px; border-style: dashed; }
.state-ring i { width: 8px; height: 8px; border-radius: 50%; background: var(--sage-bright); box-shadow: 0 0 13px var(--sage); }
.status-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 22px; }
.status-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border: 1px solid rgba(169, 199, 162, 0.22); border-radius: 50px; color: rgba(245, 243, 237, 0.73); font-size: 9px; }
.status-chip b { display: inline-grid; width: 13px; height: 13px; place-items: center; border-radius: 50%; background: rgba(169, 199, 162, 0.16); color: var(--sage-bright); font-size: 9px; }
.home-visual { position: relative; min-height: 245px; margin-top: 23px; overflow: hidden; border: 1px solid rgba(169, 199, 162, 0.13); background: rgba(11, 23, 19, 0.24); }
.home-visual svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.plan-grid { fill: none; stroke: rgba(169, 199, 162, 0.055); stroke-width: 1; }
.plan-route { fill: none; stroke: rgba(205, 229, 191, 0.57); stroke-dasharray: 2 4; stroke-width: 1; }
.plan-room { fill: rgba(169, 199, 162, 0.035); stroke: rgba(169, 199, 162, 0.38); stroke-width: 1; }
.plan-door { fill: none; stroke: rgba(245, 243, 237, 0.35); stroke-width: 1; }
.signal-line { fill: none; stroke-width: 1; stroke-dasharray: 4 5; }
.signal-node { animation: signal-pulse 3.8s ease-in-out infinite; transform-origin: center; transform-box: fill-box; }
.signal-node circle { fill: var(--sage-bright); }
.home-node { fill: var(--night); stroke: var(--sage-bright); stroke-width: 1.5; }
.home-node-inner { fill: var(--sage-bright); animation: center-pulse 2.8s ease-in-out infinite; transform-origin: center; transform-box: fill-box; }
.plan-label { position: absolute; z-index: 1; color: rgba(205, 229, 191, 0.67); font-size: 8px; letter-spacing: 0.1em; text-transform: uppercase; }
.plan-label::before { display: inline-block; width: 4px; height: 4px; margin: 0 6px 2px 0; border-radius: 50%; background: var(--sage); content: ""; }
.plan-label-climate { top: 11px; left: 13px; }.plan-label-air { top: 11px; right: 13px; }.plan-label-energy { right: 13px; bottom: 10px; }.plan-label-water { bottom: 10px; left: 13px; }
.plan-center-label { position: absolute; top: 50%; left: 50%; z-index: 2; color: rgba(245, 243, 237, 0.45); font-size: 9px; line-height: 1.25; text-align: center; transform: translate(-50%, -50%); }
.plan-center-label b { color: var(--sage-bright); font-weight: 600; }
.metric-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-top: 13px; }
.metric { min-height: 66px; padding: 10px 11px; border: 1px solid rgba(169, 199, 162, 0.13); background: rgba(245, 243, 237, 0.035); }
.metric-label { display: block; white-space: nowrap; font-size: 7px; letter-spacing: 0.09em; }
.metric strong { display: block; margin-top: 7px; color: var(--warm); font-family: var(--display); font-size: 22px; font-weight: 400; letter-spacing: -0.05em; line-height: 1; }
.metric strong small { color: var(--sage); font-family: var(--sans); font-size: 9px; letter-spacing: 0; }
.metric > small { color: rgba(169, 199, 162, 0.7); font-size: 8px; }.metric > small i { color: var(--sage-bright); font-size: 11px; font-style: normal; }

/* Signal strip */
.signal-strip { padding: 30px 0; background: var(--sage); color: var(--night); }
.signal-strip-grid { display: grid; grid-template-columns: minmax(230px, 1.2fr) repeat(3, 1fr); gap: 18px; align-items: center; }
.signal-intro p { max-width: 240px; margin: 8px 0 0; font-family: var(--display); font-size: 17px; letter-spacing: -0.04em; line-height: 1.1; }
.signal-item { display: grid; grid-template-columns: auto 1fr auto; gap: 13px; align-items: center; min-height: 55px; padding-left: 22px; border-left: 1px solid rgba(21, 32, 28, 0.23); }
.signal-number, .solution-index, .card-index { font-size: 9px; font-weight: 750; letter-spacing: 0.12em; }
.signal-item strong, .signal-item span:not(.signal-number):not(.signal-arrow) { display: block; }
.signal-item strong { font-size: 12px; }.signal-item div > span { margin-top: 2px; color: rgba(21, 32, 28, 0.58); font-size: 10px; }
.signal-arrow { font-size: 18px; }

/* Core areas */
.core-section { background: var(--warm); }
.core-grid { display: grid; grid-template-columns: 1.16fr 1fr 1fr; gap: 1px; background: var(--line-light); border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.core-card { min-height: 405px; padding: 28px 30px 30px; background: var(--warm); }
.core-card-featured { background: var(--forest); color: var(--warm); }
.card-index { display: flex; align-items: center; gap: 10px; color: var(--muted); }.core-card-featured .card-index { color: var(--sage); }
.card-index span { width: 32px; height: 1px; background: currentColor; opacity: 0.6; }
.core-icon { display: grid; width: 47px; height: 47px; margin: 62px 0 24px; place-items: center; border: 1px solid currentColor; border-radius: 50%; color: var(--forest); opacity: 0.74; }
.core-card-featured .core-icon { color: var(--sage); }.core-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.3; }
.core-card h3 { margin: 0; font-family: var(--display); font-size: clamp(27px, 2.4vw, 38px); font-weight: 400; letter-spacing: -0.065em; line-height: 0.98; }
.core-card p { max-width: 285px; min-height: 83px; margin: 17px 0 23px; color: var(--muted); font-size: 12px; line-height: 1.55; }.core-card-featured p { color: rgba(245, 243, 237, 0.68); }
.arrow-link { display: inline-flex; align-items: center; gap: 10px; border-bottom: 1px solid currentColor; padding-bottom: 4px; color: var(--forest); font-size: 10px; font-weight: 750; letter-spacing: 0.1em; text-transform: uppercase; }.core-card-featured .arrow-link { color: var(--sage); }.arrow-link span { font-size: 17px; font-weight: 400; }

/* Solutions */
.solutions-section { background: #ecece4; }
.solution-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line-light); border: 1px solid var(--line-light); }
.solution-card { position: relative; min-height: 292px; padding: 25px 25px 23px; background: var(--warm); transition: transform 180ms ease, box-shadow 180ms ease; }.solution-card:hover, .solution-card:focus-within { z-index: 1; box-shadow: var(--shadow); transform: translateY(-4px); }
.solution-card-wide { grid-column: span 2; background: var(--forest); color: var(--warm); }.solution-card-dark { background: var(--night); color: var(--warm); }.solution-card-accent { background: var(--sage); color: var(--night); }
.solution-card-top { color: var(--muted); }.solution-card-wide .solution-card-top, .solution-card-dark .solution-card-top { color: var(--sage); }.solution-card-accent .solution-card-top { color: rgba(21, 32, 28, 0.65); }
.solution-icon { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 17px; line-height: 1; }
.solution-card h3 { max-width: 410px; margin: 45px 0 10px; font-family: var(--display); font-size: clamp(24px, 2.5vw, 36px); font-weight: 400; letter-spacing: -0.06em; line-height: 0.98; }.solution-card:not(.solution-card-wide) h3 { font-size: 26px; }
.solution-card p { max-width: 405px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }.solution-card-wide p, .solution-card-dark p { color: rgba(245, 243, 237, 0.63); }.solution-card-accent p { color: rgba(21, 32, 28, 0.67); }
.solution-tags { position: absolute; right: 25px; bottom: 22px; left: 25px; display: flex; flex-wrap: wrap; gap: 6px; }.solution-tags span { padding: 5px 8px; border: 1px solid rgba(28, 41, 36, 0.16); color: var(--muted); font-size: 9px; }.solution-card-wide .solution-tags span, .solution-card-dark .solution-tags span { border-color: rgba(245, 243, 237, 0.2); color: rgba(245, 243, 237, 0.6); }.solution-card-accent .solution-tags span { border-color: rgba(21, 32, 28, 0.24); color: rgba(21, 32, 28, 0.65); }

/* Buildings */
.buildings-section { background: var(--warm); }
.building-grid { display: grid; grid-template-columns: minmax(330px, 0.95fr) 1fr; gap: clamp(50px, 10vw, 155px); align-items: center; }
.building-visual { position: relative; min-height: 480px; overflow: hidden; background: var(--forest); }
.building-sun { position: absolute; top: 42px; right: 42px; width: 142px; height: 142px; border: 1px solid rgba(205, 229, 191, 0.29); border-radius: 50%; }.building-sun::before, .building-sun::after { position: absolute; inset: 19px; border: 1px solid rgba(205, 229, 191, 0.16); border-radius: 50%; content: ""; }.building-sun::after { inset: 39px; border-style: dotted; }
.building-silhouette { position: absolute; right: 14%; bottom: 0; left: 14%; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; height: 76%; padding: 32px 24px 0; border: 1px solid rgba(205, 229, 191, 0.55); border-bottom: 0; background: linear-gradient(180deg, rgba(21, 32, 28, 0.16), rgba(21, 32, 28, 0.45)); }
.building-silhouette::before { position: absolute; top: -27px; left: -1px; width: calc(100% + 2px); height: 54px; border: 1px solid rgba(205, 229, 191, 0.55); border-bottom: 0; background: var(--forest); clip-path: polygon(50% 0, 100% 100%, 0 100%); content: ""; }
.building-silhouette span { height: 43px; margin-top: 12px; border: 1px solid rgba(205, 229, 191, 0.45); background: rgba(169, 199, 162, 0.18); }.building-silhouette span:nth-child(2n) { margin-top: 45px; background: rgba(169, 199, 162, 0.05); }.building-ground { position: absolute; right: 7%; bottom: 22px; left: 7%; height: 1px; background: rgba(205, 229, 191, 0.47); }
.building-signal { position: absolute; z-index: 1; display: flex; align-items: center; gap: 8px; color: var(--sage-bright); font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; }.building-signal i { display: block; width: 7px; height: 7px; border: 1px solid var(--sage-bright); border-radius: 50%; background: var(--forest); box-shadow: 0 0 0 5px rgba(169, 199, 162, 0.1); }.building-signal-one { top: 190px; left: 11%; }.building-signal-two { top: 295px; right: 7%; }.building-signal-three { bottom: 74px; left: 5%; }
.building-copy h2 { max-width: 540px; margin-bottom: 30px; }.building-copy > p + p { margin-top: 18px; }.building-copy .button { margin-top: 35px; }
.property-list { display: grid; grid-template-columns: 1fr 3fr; gap: 30px; margin-top: 87px; padding-top: 21px; border-top: 1px solid var(--line-light); }.property-label { color: var(--forest); font-size: 10px; font-weight: 750; letter-spacing: 0.13em; text-transform: uppercase; }.property-items { display: flex; flex-wrap: wrap; gap: 10px 30px; }.property-items span { color: var(--muted); font-size: 11px; }.property-items span::before { display: inline-block; width: 4px; height: 4px; margin: 0 8px 2px 0; border-radius: 50%; background: var(--sage); content: ""; }

/* Sustainability */
.sustainability-section { background: #e9ebe4; }
.sustainability-loop { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); gap: 15px; padding: 23px 0 15px; }.loop-line { position: absolute; top: 41px; right: 9%; left: 9%; display: flex; height: 1px; background: var(--line-light); }.loop-line span { position: absolute; top: -3px; width: 7px; height: 7px; border: 1px solid var(--forest); border-radius: 50%; background: #e9ebe4; }.loop-line span:nth-child(1) { left: 0; }.loop-line span:nth-child(2) { left: 25%; }.loop-line span:nth-child(3) { left: 50%; }.loop-line span:nth-child(4) { left: 75%; }.loop-line span:nth-child(5) { right: 0; }
.loop-step { position: relative; z-index: 1; padding-top: 0; }.loop-number { display: grid; width: 37px; height: 37px; place-items: center; border: 1px solid var(--line-light); border-radius: 50%; background: #e9ebe4; color: var(--muted); font-size: 9px; }.loop-step.is-active .loop-number { border-color: var(--forest); background: var(--forest); color: var(--sage-bright); }.loop-step h3 { margin: 30px 0 8px; font-family: var(--display); font-size: 25px; font-weight: 400; letter-spacing: -0.05em; }.loop-step p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.35; }
.impact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 72px; background: var(--line-light); border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }.impact-grid > div { display: grid; grid-template-columns: auto 1fr; column-gap: 11px; padding: 22px 5px; }.impact-mark { grid-row: span 2; color: var(--forest); font-family: var(--serif); font-size: 27px; line-height: 1; }.impact-grid strong { font-size: 12px; }.impact-grid div > span:last-child { color: var(--muted); font-size: 10px; }

/* Process */
.process-section { overflow: hidden; background: var(--night); color: var(--warm); }.process-section::after { position: absolute; content: ""; }
.process-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: end; }.process-intro h2 { margin: 18px 0 0; }.process-intro h2 em { color: var(--sage-bright); }.process-intro p { max-width: 330px; margin: 0; color: rgba(245, 243, 237, 0.6); font-size: 15px; }
.process-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; margin-top: 80px; background: var(--line-dark); border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }.process-steps article { min-height: 212px; padding: 20px 20px 22px 0; }.process-steps article + article { padding-left: 20px; }.process-steps article > span { color: var(--sage); font-size: 10px; font-weight: 700; letter-spacing: 0.13em; }.process-steps h3 { margin: 33px 0 8px; font-family: var(--display); font-size: 25px; font-weight: 400; letter-spacing: -0.05em; }.process-steps p { margin: 0; color: rgba(245, 243, 237, 0.55); font-size: 11px; line-height: 1.45; }

/* Audience and about */
.audience-section { background: var(--warm); }.audience-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--line-light); border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }.audience-grid article { position: relative; min-height: 224px; padding: 22px 18px 20px; background: var(--warm); }.audience-icon { display: block; color: var(--forest); font-family: var(--serif); font-size: 26px; line-height: 1; }.audience-grid h3 { margin: 29px 0 8px; font-family: var(--display); font-size: 20px; font-weight: 400; letter-spacing: -0.05em; line-height: 1; }.audience-grid p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.45; }.audience-grid article > a { position: absolute; right: 18px; bottom: 18px; color: var(--forest); font-size: 18px; }
.about-section { background: #e9ebe4; }.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px, 12vw, 190px); }.about-section h2 { max-width: 470px; }.about-copy > p { max-width: 510px; }.about-lede { color: var(--ink) !important; font-family: var(--display); font-size: 22px !important; letter-spacing: -0.04em; line-height: 1.15; }.about-detail { display: grid; grid-template-columns: 100px 1fr; gap: 20px; margin-top: 38px; padding-top: 17px; border-top: 1px solid var(--line-light); }.about-detail span { color: var(--forest); font-size: 10px; font-weight: 750; letter-spacing: 0.12em; text-transform: uppercase; }.about-detail strong { max-width: 370px; font-size: 12px; font-weight: 500; }

/* Contact and footer */
.contact-section { background: var(--forest); color: var(--warm); }.contact-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(48px, 10vw, 145px); align-items: start; }.contact-intro h2 { margin-bottom: 27px; }.contact-intro h2 em { color: var(--sage-bright); }.contact-intro > p { color: rgba(245, 243, 237, 0.65); }.contact-address { display: grid; gap: 3px; margin-top: 45px; color: rgba(245, 243, 237, 0.55); font-size: 10px; }.contact-address span:first-child { margin-bottom: 7px; color: var(--sage-bright); font-size: 11px; }
.consultation-form { padding: 29px; background: var(--night); }.form-header { margin-bottom: 29px; color: var(--sage); font-size: 9px; font-weight: 750; letter-spacing: 0.14em; text-transform: uppercase; }.form-header span:last-child { color: rgba(245, 243, 237, 0.45); }.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 21px 18px; }.form-field { display: grid; gap: 7px; }.form-field-wide { grid-column: 1 / -1; }.form-field label { color: rgba(245, 243, 237, 0.63); font-size: 10px; font-weight: 650; }.form-field label sup { color: var(--sage-bright); font-size: 11px; }.form-field label span { color: rgba(245, 243, 237, 0.36); font-weight: 400; }.form-field input, .form-field select, .form-field textarea { width: 100%; min-height: 42px; padding: 10px 11px; border: 1px solid rgba(245, 243, 237, 0.18); border-radius: 0; outline: none; background: rgba(245, 243, 237, 0.04); color: var(--warm); font-size: 12px; transition: border-color 160ms ease, background 160ms ease; }.form-field select { cursor: pointer; }.form-field select option { color: var(--ink); }.form-field textarea { min-height: 102px; resize: vertical; }.form-field input::placeholder, .form-field textarea::placeholder { color: rgba(245, 243, 237, 0.3); }.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: var(--sage); background: rgba(169, 199, 162, 0.08); }.form-field.is-invalid input, .form-field.is-invalid select, .form-field.is-invalid textarea { border-color: #e9987d; }.field-error { min-height: 13px; color: #f5b19a; font-size: 10px; }.form-actions { display: flex; align-items: center; gap: 18px; margin-top: 20px; }.form-note { color: rgba(245, 243, 237, 0.4); font-size: 10px; }.form-status { min-height: 20px; margin: 16px 0 0; color: var(--sage-bright); font-size: 12px; }.form-status:empty { display: none; }.consultation-form.is-submitted .button { opacity: 0.55; cursor: not-allowed; transform: none; }
.site-footer { padding: 54px 0 25px; background: var(--night); color: var(--warm); }.footer-top { display: grid; grid-template-columns: 1.15fr 0.85fr 1fr; gap: 50px; padding-bottom: 57px; }.brand-footer { align-self: start; }.footer-top p, .footer-address { margin: 0; color: rgba(245, 243, 237, 0.46); font-size: 10px; line-height: 1.65; }.footer-address { display: grid; align-content: start; gap: 2px; }.footer-address span:first-child { color: var(--sage); }.footer-bottom { display: grid; grid-template-columns: auto 1fr auto; gap: 28px; align-items: center; padding-top: 17px; border-top: 1px solid var(--line-dark); }.footer-links, .footer-legal { display: flex; flex-wrap: wrap; gap: 16px; }.footer-links a, .footer-legal a, .copyright { color: rgba(245, 243, 237, 0.45); font-size: 9px; }.footer-links a:hover, .footer-legal a:hover { color: var(--sage-bright); }.footer-legal { justify-content: center; }.copyright { text-align: right; }

@keyframes signal-pulse { 0%, 100% { opacity: 0.68; } 50% { opacity: 1; } }
@keyframes center-pulse { 0%, 100% { opacity: 0.72; transform: scale(0.85); } 50% { opacity: 1; transform: scale(1.45); } }

@media (max-width: 1050px) {
  :root { --pad: 32px; }
  .hero-grid { grid-template-columns: 1fr minmax(390px, 0.9fr); gap: 45px; }.hero h1 { font-size: clamp(52px, 6.8vw, 76px); }
  .signal-strip-grid { grid-template-columns: 1.1fr repeat(3, 1fr); }.signal-item { padding-left: 14px; }
  .core-card { padding-inline: 22px; }.core-card h3 { font-size: 31px; }
  .solution-card-wide { grid-column: span 1; }.solution-card h3, .solution-card:not(.solution-card-wide) h3 { font-size: 25px; }
  .audience-grid { grid-template-columns: repeat(3, 1fr); }.audience-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line-light); }
  .footer-bottom { grid-template-columns: 1fr 1fr; }.copyright { grid-column: 1 / -1; text-align: left; }
}

@media (max-width: 760px) {
  :root { --pad: 21px; --radius-large: 18px; }
  .site-header { padding: 17px 0; }.site-header.is-scrolled { padding: 12px 0; }.menu-toggle { display: grid; gap: 6px; width: 44px; height: 44px; padding: 12px 8px; place-content: center; }.menu-toggle span { display: block; width: 26px; height: 1px; background: currentColor; transition: transform 160ms ease; }.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .site-nav { position: absolute; top: calc(100% + 1px); right: 0; left: 0; display: grid; gap: 0; padding: 11px var(--pad) 20px; background: rgba(245, 243, 237, 0.97); color: var(--ink); box-shadow: 0 15px 30px rgba(21, 32, 28, 0.1); transform: translateY(-12px); visibility: hidden; opacity: 0; transition: opacity 170ms ease, transform 170ms ease, visibility 170ms ease; }.site-nav.is-open { transform: translateY(0); visibility: visible; opacity: 1; }.site-nav > a { padding: 13px 0; border-bottom: 1px solid var(--line-light); }.site-nav .nav-cta { justify-content: space-between; margin-top: 13px; padding: 14px; border: 1px solid var(--forest); }
  .hero { min-height: auto; padding: 132px 0 32px; }.hero::before { top: 14%; right: -55%; width: 125vw; height: 130vw; }.hero::after { right: -32%; bottom: 12%; width: 80vw; height: 80vw; }.hero-grid { grid-template-columns: 1fr; gap: 18px; }.hero-copy { padding: 20px 0 20px; }.hero h1 { margin-top: 23px; font-size: clamp(54px, 16.5vw, 82px); }.hero-lede { font-size: 14px; }.hero-actions { gap: 19px; margin-top: 29px; }.hero-note { margin-top: 35px; }.home-state-panel { padding: 20px; }.home-visual { min-height: 210px; }.metric-row { gap: 5px; }.metric { padding: 8px 7px; }.metric-label { white-space: normal; line-height: 1.2; }.metric strong { font-size: 19px; }.hero-foot { padding-top: 18px; }
  .section-pad { padding: 83px 0; }.section-heading { margin-bottom: 42px; }.section-heading-split { grid-template-columns: 1fr; gap: 25px; }.section-heading h2, .building-copy h2, .process-intro h2, .contact-intro h2, .about-section h2 { font-size: clamp(43px, 13.3vw, 64px); }
  .signal-strip { padding: 23px 0; }.signal-strip-grid { grid-template-columns: 1fr; gap: 0; }.signal-intro { padding-bottom: 19px; }.signal-intro p { max-width: 300px; }.signal-item { min-height: 51px; padding: 13px 0; border-top: 1px solid rgba(21, 32, 28, 0.23); border-left: 0; }
  .core-grid, .solution-grid { grid-template-columns: 1fr; }.core-card { min-height: 340px; padding: 24px 20px; }.core-card-featured { min-height: 370px; }.core-card p { min-height: auto; }.core-icon { margin-top: 45px; }.solution-card, .solution-card-wide { grid-column: auto; min-height: 280px; padding: 20px; }.solution-card h3, .solution-card:not(.solution-card-wide) h3 { margin-top: 38px; font-size: 28px; }.solution-tags { right: 20px; bottom: 19px; left: 20px; }
  .building-grid, .about-grid, .contact-grid { grid-template-columns: 1fr; gap: 48px; }.building-visual { min-height: 390px; }.building-copy h2 { margin-bottom: 25px; }.property-list { grid-template-columns: 1fr; gap: 15px; margin-top: 55px; }.property-items { gap: 8px 20px; }
  .sustainability-loop { grid-template-columns: 1fr; gap: 25px; padding: 0 0 0 17px; }.loop-line { top: 18px; right: auto; bottom: 18px; left: 35px; width: 1px; height: auto; display: block; }.loop-line span { left: -3px !important; right: auto !important; }.loop-line span:nth-child(1) { top: 0; }.loop-line span:nth-child(2) { top: 25%; }.loop-line span:nth-child(3) { top: 50%; }.loop-line span:nth-child(4) { top: 75%; }.loop-line span:nth-child(5) { top: auto; bottom: 0; }.loop-step { display: grid; grid-template-columns: 37px 1fr; column-gap: 18px; align-items: center; }.loop-step h3 { margin: 0 0 2px; font-size: 25px; }.loop-step p { grid-column: 2; }.impact-grid { grid-template-columns: 1fr; margin-top: 55px; }.impact-grid > div { padding: 17px 0; }
  .process-intro { grid-template-columns: 1fr; gap: 23px; }.process-steps { grid-template-columns: 1fr; gap: 0; margin-top: 55px; }.process-steps article, .process-steps article + article { min-height: auto; padding: 20px 0; border-bottom: 1px solid var(--line-dark); }.process-steps article:last-child { border-bottom: 0; }.process-steps h3 { margin: 16px 0 5px; }
  .audience-grid { grid-template-columns: repeat(2, 1fr); }.audience-grid article { min-height: 215px; }.audience-grid article:nth-child(3) { border-bottom: 1px solid var(--line-light); }
  .about-lede { font-size: 21px !important; }.about-detail { grid-template-columns: 1fr; gap: 9px; }
  .contact-grid { gap: 44px; }.consultation-form { padding: 20px; }.form-grid { grid-template-columns: 1fr; gap: 16px; }.form-field-wide { grid-column: auto; }.form-actions { display: grid; align-items: start; }.form-note { line-height: 1.35; }
  .footer-top { grid-template-columns: 1fr; gap: 28px; padding-bottom: 38px; }.footer-bottom { grid-template-columns: 1fr; gap: 17px; }.footer-legal { justify-content: flex-start; }.copyright { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 0.001ms !important; }
}

/* Clarity refresh: fewer rules, softer surfaces, stronger reading rhythm. */
:root {
  --warm: #f7f7f2;
  --mineral: #e5ebe1;
  --ink: #20332b;
  --muted: #64746b;
  --line-light: rgba(32, 51, 43, 0.1);
  --line-dark: rgba(247, 247, 242, 0.14);
  --radius: 16px;
  --radius-large: 22px;
  --shadow: 0 18px 40px rgba(32, 51, 43, 0.08);
}

body { font-size: 16px; line-height: 1.7; }
.hero h1, .section-heading h2, .building-copy h2, .process-intro h2, .contact-intro h2, .about-section h2, .core-card h3, .solution-card h3, .loop-step h3, .process-steps h3, .audience-grid h3, .panel-heading h2 { letter-spacing: -0.025em; }
h1 em, h2 em { letter-spacing: -0.015em; }
.hero-lede, .section-heading p, .building-copy > p, .about-copy > p, .contact-intro > p, .core-card p, .solution-card p, .process-steps p, .audience-grid p { letter-spacing: 0.01em; }
.section-heading { margin-bottom: 52px; }
.section-heading-split { gap: clamp(35px, 8vw, 100px); }
.section-heading h2, .building-copy h2, .process-intro h2, .contact-intro h2, .about-section h2 { font-size: clamp(38px, 4.5vw, 66px); line-height: 1.02; }
.section-heading p, .building-copy > p, .about-copy > p, .contact-intro > p { font-size: 16px; line-height: 1.65; }

.site-header { padding: 18px 0; }
.site-header.is-scrolled { padding: 11px 0; box-shadow: 0 8px 25px rgba(32, 51, 43, 0.06); }
.site-nav > a:not(.nav-cta) { opacity: 0.9; }
.nav-cta { border: 0; border-radius: 50px; background: var(--sage); color: var(--night); }
.nav-cta span[aria-hidden], .button span[aria-hidden], .text-link span[aria-hidden], .panel-heading h2 span[aria-hidden], .metric i { display: none; }

.hero { min-height: 700px; padding: 138px 0 36px; background: #18352b; }
.hero::before, .hero::after { display: none; }
.hero-grid { gap: clamp(35px, 7vw, 95px); }
.hero h1 { margin: 23px 0 25px; font-size: clamp(50px, 5.6vw, 82px); line-height: 0.98; }
.hero-lede { color: rgba(247, 247, 242, 0.8); font-size: 16px; line-height: 1.65; }
.hero-note { margin-top: 42px; color: rgba(247, 247, 242, 0.57); }
.home-state-panel { padding: 25px; border: 0; border-radius: var(--radius-large); background: #24493a; box-shadow: 0 24px 55px rgba(0, 0, 0, 0.14); }
.home-state-panel::before { display: none; }
.status-chip { border: 0; background: rgba(205, 229, 191, 0.1); }
.home-visual { min-height: 0; margin: 23px 0 0; border: 0; border-radius: 14px; background: rgba(11, 23, 19, 0.17); }
.home-visual img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; opacity: 0.94; }
.home-visual figcaption { position: absolute; right: 12px; bottom: 12px; left: 12px; width: fit-content; padding: 6px 9px; background: rgba(21, 32, 28, 0.72); color: rgba(247, 247, 242, 0.83); font-size: 10px; line-height: 1.2; }
.home-visual::after { position: absolute; top: 0; bottom: 0; left: -60%; width: 55%; background: linear-gradient(90deg, transparent, rgba(205, 229, 191, 0.06), rgba(205, 229, 191, 0.32), rgba(205, 229, 191, 0.06), transparent); content: ""; mix-blend-mode: screen; pointer-events: none; animation: image-scan 8s ease-in-out infinite; }
.plan-grid, .plan-route, .plan-room, .plan-door, .signal-line { opacity: 0.42; }
.plan-grid { opacity: 0.16; }
.state-ring { width: 45px; height: 45px; border: 0; background: rgba(205, 229, 191, 0.14); }
.state-ring::before, .state-ring::after { display: none; }
.metric { border: 0; border-radius: 10px; background: rgba(247, 247, 242, 0.08); }
.status-chip::before { width: 5px; height: 5px; border-radius: 50%; background: var(--sage-bright); content: ""; box-shadow: 0 0 0 rgba(205, 229, 191, 0.55); animation: status-breathe 2.8s ease-in-out infinite; }
.status-chip:nth-child(2)::before { animation-delay: 0.45s; }
.status-chip:nth-child(3)::before { animation-delay: 0.9s; }
.hero-foot { opacity: 0.72; }

.signal-strip { padding: 25px 0; background: #c8ddbf; }
.signal-strip-grid { gap: 26px; }
.signal-item { grid-template-columns: 1fr; padding-left: 0; border: 0; }
.signal-number { color: rgba(32, 51, 43, 0.52); }
.signal-arrow { opacity: 0.65; }

.core-section, .buildings-section, .audience-section { background: var(--warm); }
.solutions-section, .sustainability-section, .about-section { background: #edf1e9; }
.core-grid, .solution-grid, .audience-grid { gap: 18px; background: transparent; border: 0; }
.core-card, .solution-card, .audience-grid article { min-height: 0; border-radius: var(--radius); background: #ffffff; }
.core-card { padding: 28px; box-shadow: 0 12px 28px rgba(32, 51, 43, 0.05); }
.core-card-featured { background: var(--forest); box-shadow: none; }
.core-icon { margin-top: 48px; border: 0; background: rgba(36, 72, 59, 0.08); }
.core-card-featured .core-icon { background: rgba(169, 199, 162, 0.14); }
.core-card p { min-height: 0; font-size: 13px; line-height: 1.6; }
.arrow-link { border-bottom: 0; }

.solution-grid { grid-template-columns: repeat(3, 1fr); }
.solution-card, .solution-card-wide { grid-column: auto; padding: 26px; }
.solution-card-wide { grid-column: span 2; background: var(--forest); color: var(--warm); }
.solution-card-dark { background: var(--night); color: var(--warm); }
.solution-card-accent { background: #c8ddbf; color: var(--ink); }
.solution-card h3, .solution-card:not(.solution-card-wide) h3 { margin-top: 0; }
.solution-card { overflow: hidden; }
.solution-card::after { position: absolute; top: 0; left: 0; width: 48%; height: 2px; background: linear-gradient(90deg, transparent, var(--sage-bright), transparent); content: ""; opacity: 0; transform: translateX(-120%); }
.solution-card:hover::after, .solution-card:focus-within::after { opacity: 1; animation: card-sweep 850ms ease-out; }
.solution-card:hover, .solution-card:focus-within { box-shadow: 0 18px 38px rgba(32, 51, 43, 0.1); transform: translateY(-3px); }
.solution-card h3, .solution-card:not(.solution-card-wide) h3 { margin-top: 40px; line-height: 1.04; }
.solution-card p { font-size: 13px; line-height: 1.6; }
.solution-tags { position: static; margin-top: 28px; }
.solution-tags span { border: 0; border-radius: 50px; background: rgba(32, 51, 43, 0.06); }
.solution-card-wide .solution-tags span, .solution-card-dark .solution-tags span { border: 0; background: rgba(247, 247, 242, 0.1); }

.building-visual { border-radius: var(--radius-large); background: #c9dec1; }
.building-sun { border: 0; background: rgba(247, 247, 242, 0.2); }
.building-sun::before, .building-sun::after { display: none; }
.building-silhouette { border: 0; background: rgba(36, 72, 59, 0.18); }
.building-silhouette::before { display: none; }
.building-silhouette span { border: 0; background: rgba(247, 247, 242, 0.28); }
.building-signal i { border: 0; background: var(--forest); box-shadow: none; }
.building-ground { height: 2px; background: rgba(36, 72, 59, 0.25); }
.property-list { margin-top: 63px; border: 0; }

.sustainability-loop { gap: 22px; }
.sustainability-loop::before { position: absolute; top: 18px; right: 6%; left: 0; height: 1px; background: linear-gradient(90deg, rgba(36, 72, 59, 0.05), rgba(36, 72, 59, 0.18), rgba(169, 199, 162, 0.05)); content: ""; }
.sustainability-loop::after { position: absolute; top: 15px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--forest); content: ""; box-shadow: 0 0 0 5px rgba(169, 199, 162, 0.18); animation: loop-signal 6s ease-in-out infinite; }
.loop-line { background: rgba(32, 51, 43, 0.12); }
.loop-line span { border: 0; background: var(--forest); }
.loop-number { border: 0; background: rgba(32, 51, 43, 0.07); }
.loop-step.is-active .loop-number { background: var(--forest); }
.loop-step { display: block; padding: 0; }
.loop-step h3 { margin-top: 0; }
.impact-grid { gap: 18px; margin-top: 58px; background: transparent; border: 0; }
.impact-grid > div { padding: 20px; border-radius: var(--radius); background: #ffffff; }
.impact-mark { width: 8px; height: 8px; margin-top: 5px; border-radius: 50%; background: var(--sage); }

.process-section { background: #18352b; }
.process-steps { gap: 18px; background: transparent; border: 0; }
.process-steps article, .process-steps article + article { min-height: 0; padding: 24px 20px; border: 0; border-radius: var(--radius); background: rgba(247, 247, 242, 0.07); }
.process-steps h3 { margin-top: 30px; }
.process-steps p { font-size: 12px; line-height: 1.55; }

.audience-grid { grid-template-columns: repeat(5, 1fr); }
.audience-grid article { min-height: 255px; padding: 30px 22px 27px; box-shadow: 0 10px 24px rgba(32, 51, 43, 0.04); }
.audience-grid article > a { position: static; display: inline-block; width: auto; height: auto; margin-top: 22px; border-radius: 0; background: none; color: var(--forest); font-size: 9px; font-weight: 750; letter-spacing: 0.08em; text-transform: uppercase; }
.about-detail { border: 0; border-radius: var(--radius); background: #ffffff; padding: 20px; }

.contact-section { background: #245240; }
.contact-address, .footer-address { display: none !important; }
.consultation-form { border-radius: var(--radius-large); background: #173229; }
.form-header span:last-child { display: none; }
.form-field input, .form-field select, .form-field textarea { border: 0; border-radius: 9px; background: rgba(247, 247, 242, 0.07); }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border: 0; background: rgba(169, 199, 162, 0.15); }
.form-field.is-invalid input, .form-field.is-invalid select, .form-field.is-invalid textarea { border: 1px solid #e9987d; }
.site-footer { background: #10241d; }
.footer-bottom { border: 0; }

@media (max-width: 1050px) {
  .solution-card-wide { grid-column: auto; }
  .audience-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 760px) {
  .hero { min-height: auto; padding-top: 122px; }
  .home-state-panel { padding: 20px; }
  .section-heading { margin-bottom: 36px; }
  .core-card, .solution-card, .solution-card-wide { padding: 23px 20px; }
  .solution-grid, .core-grid { grid-template-columns: 1fr; gap: 12px; }
  .audience-grid { grid-template-columns: repeat(2, 1fr); }
  .audience-grid article { min-height: 230px; padding: 24px 19px; }
  .audience-grid article > a { margin-top: 18px; }
  .process-steps { gap: 10px; }
  .process-steps article, .process-steps article + article { padding: 20px; }
  .about-detail { padding: 18px; }
  .sustainability-loop::before, .sustainability-loop::after { display: none; }
}

@keyframes image-scan { 0%, 20% { transform: translateX(0); opacity: 0; } 30% { opacity: 1; } 75%, 100% { transform: translateX(310%); opacity: 0; } }
@keyframes status-breathe { 0%, 100% { box-shadow: 0 0 0 0 rgba(205, 229, 191, 0); } 50% { box-shadow: 0 0 0 4px rgba(205, 229, 191, 0.18); } }
@keyframes card-sweep { from { transform: translateX(-120%); } to { transform: translateX(270%); } }
@keyframes loop-signal { 0%, 8% { left: 0; opacity: 0; } 16% { opacity: 1; } 78% { left: 94%; opacity: 1; } 88%, 100% { left: 94%; opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
  .home-visual::after, .status-chip::before, .solution-card::after, .sustainability-loop::after { animation: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
}
