:root {
  --ink: #17201d;
  --muted: #63706b;
  --paper: #f6f5ef;
  --white: #fffefb;
  --line: #dfe3dc;
  --green: #153e32;
  --green-2: #276953;
  --mint: #d8eee5;
  --lime: #d8f076;
  --orange: #ee7d51;
  --shadow: 0 24px 70px rgba(23, 43, 35, .13);
  --radius: 18px;
  color: var(--ink);
  background: var(--white);
  font: 16px/1.55 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  scroll-behavior: smooth;
  scroll-padding-top: 132px;
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: var(--white); }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.skip-link { position: fixed; left: 16px; top: -60px; z-index: 100; padding: 10px 14px; border-radius: 9px; color: white; background: var(--green); }
.skip-link:focus { top: 16px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.site-header { position: sticky; top: 0; z-index: 30; height: 76px; border-bottom: 1px solid var(--line); background: rgba(255,254,251,.94); backdrop-filter: blur(16px); }
.header-inner { max-width: 1220px; height: 100%; margin: auto; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.site-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--green); font-size: 1.08rem; letter-spacing: -.025em; }
.brand-icon { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 11px; color: var(--green); background: var(--lime); font-weight: 900; box-shadow: inset 0 0 0 1px rgba(21,62,50,.06); }
.site-header nav { display: flex; align-items: center; gap: 22px; color: var(--muted); font-size: .84rem; font-weight: 700; }
.site-header nav a:hover, .site-header nav a[aria-current="location"] { color: var(--green); }
.site-header nav a[aria-current="location"] { text-decoration: underline; text-decoration-color: var(--lime); text-decoration-thickness: 3px; text-underline-offset: 8px; }
.site-header nav a:focus-visible, .button:focus-visible { outline: 3px solid rgba(39,105,83,.28); outline-offset: 4px; border-radius: 7px; }
.login-link { padding: 8px 0; border-bottom: 1px solid #a7b2ac; }
.nav-cta { padding: 10px 14px; border-radius: 10px; color: white !important; background: var(--green); }
.menu-button { display: none; padding: 8px; border: 0; background: transparent; cursor: pointer; }
.menu-button > span:not(.visually-hidden) { display: block; width: 23px; height: 2px; margin: 4px; background: var(--green); }

.kicker { margin: 0 0 14px; color: var(--green-2); font-size: .72rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.hero { max-width: 1220px; margin: auto; padding: 82px 24px 92px; display: grid; grid-template-columns: minmax(0,.9fr) minmax(500px,1.1fr); align-items: center; gap: 72px; }
.hero h1 { max-width: 620px; margin: 0; color: var(--green); font-size: clamp(2.8rem,4.7vw,4.5rem); line-height: .99; letter-spacing: -.057em; }
.lead { max-width: 590px; margin: 25px 0 0; color: var(--muted); font-size: 1.06rem; line-height: 1.72; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 28px; }
.button { display: inline-flex; align-items: center; justify-content: center; padding: 12px 18px; border: 1px solid var(--line); border-radius: 10px; font-weight: 780; transition: transform .15s ease, box-shadow .15s ease; }
.button:hover { transform: translateY(-1px); box-shadow: 0 9px 25px rgba(23,43,35,.13); }
.button.primary { color: white; border-color: var(--green); background: var(--green); }
.button.secondary { color: var(--green); border-color: #cbd4ce; background: white; }
.button.light { color: var(--green); border-color: white; background: white; }
.hero-note { max-width: 530px; margin: 22px 0 0; color: #728078; font-size: .78rem; }

.discovery-visual { position: relative; min-height: 590px; isolation: isolate; }
.visual-glow { position: absolute; inset: 40px 20px 10px 35px; z-index: -2; border-radius: 50%; background: radial-gradient(circle at center, rgba(216,240,118,.3), rgba(216,238,229,.1) 52%, transparent 72%); filter: blur(10px); }
.browser-card { position: absolute; left: 0; top: 24px; width: min(520px,91%); overflow: hidden; border: 1px solid #d7ded9; border-radius: 17px; background: white; box-shadow: var(--shadow); transform: rotate(-1deg); }
.browser-top { height: 43px; display: flex; align-items: center; gap: 6px; padding: 0 15px; color: var(--green); background: #eef1ed; border-bottom: 1px solid #dfe3df; }
.browser-top span { width: 8px; height: 8px; border-radius: 50%; background: #bdc7c0; }
.browser-top span:first-child { background: #e59a80; }
.browser-top span:nth-child(2) { background: #e5c36d; }
.browser-top span:nth-child(3) { background: #89ba99; }
.browser-top strong { margin-left: 8px; font-size: .73rem; }
.search-bar { display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: 8px; margin: 17px 19px; padding: 9px 9px 9px 12px; border: 1px solid #cfd7d1; border-radius: 10px; color: #45534d; font-size: .79rem; }
.search-bar i { font-size: 1.15rem; font-style: normal; color: var(--green-2); }
.search-bar b { padding: 7px 10px; border-radius: 7px; color: white; background: var(--green); font-size: .68rem; }
.search-result { display: grid; gap: 5px; margin: 0 20px 12px; padding: 15px 16px; border: 1px solid #e1e5e2; border-radius: 12px; }
.search-result small { color: var(--green-2); font-size: .65rem; }
.search-result strong { color: var(--green); font-size: .91rem; }
.search-result p { margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.muted-result { margin-bottom: 20px; opacity: .68; }
.mail-card { position: absolute; right: 0; top: 335px; z-index: 3; width: min(430px,80%); display: grid; grid-template-columns: 43px 1fr; gap: 14px; padding: 18px; border: 1px solid #d6ded8; border-radius: 15px; background: rgba(255,254,251,.97); box-shadow: 0 18px 55px rgba(23,43,35,.18); transform: rotate(1.4deg); }
.mail-symbol { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 12px; color: white; background: var(--green-2); }
.mail-card div { display: grid; gap: 4px; }
.mail-card small { color: var(--green-2); font-size: .66rem; }
.mail-card strong { color: var(--green); font-size: .9rem; }
.mail-card p { margin: 2px 0 0; color: var(--muted); font-size: .73rem; line-height: 1.45; }
.impact-card { position: absolute; left: 35px; bottom: 1px; z-index: 2; width: 340px; padding: 18px 20px; border-radius: 14px; color: white; background: var(--green); box-shadow: 0 20px 48px rgba(21,62,50,.28); }
.impact-card > small { color: var(--lime); font-size: .63rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.impact-card > strong { display: block; margin: 6px 0 14px; font-size: .92rem; }
.impact-card div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 11px; border-top: 1px solid rgba(255,255,255,.14); color: #d7e2dc; font-size: .68rem; }
.impact-card div b { color: white; }

.section { padding: 92px max(24px,calc((100vw - 1172px)/2)); }
.section-intro { max-width: 790px; }
.section-intro.centered { margin: 0 auto 46px; text-align: center; }
.section h2, .closing h2, .legal-main h1 { margin: 0 0 21px; color: var(--green); font-size: clamp(2.05rem,3.4vw,3.2rem); line-height: 1.08; letter-spacing: -.045em; }
.section-intro > p:not(.kicker) { color: var(--muted); font-size: 1.02rem; line-height: 1.72; }
.section-intro strong { color: var(--ink); }

.context { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.84fr); gap: 78px; align-items: center; background: var(--paper); }
.outcome-list { margin: 0; padding: 0; border-top: 1px solid #cdd5cf; list-style: none; }
.outcome-list li { display: grid; grid-template-columns: 115px 1fr; gap: 20px; padding: 21px 0; border-bottom: 1px solid #cdd5cf; }
.outcome-list strong { color: var(--green); }
.outcome-list span { color: var(--muted); font-size: .88rem; line-height: 1.55; }

.product-showcase > .section-intro { margin-bottom: 42px; }
.product-window { overflow: hidden; border: 1px solid #d7ded9; border-radius: 18px; background: white; box-shadow: var(--shadow); }
.window-bar { height: 48px; display: flex; align-items: center; gap: 7px; padding: 0 18px; border-bottom: 1px solid var(--line); color: #68756f; background: #eef1ed; }
.window-bar > span { width: 9px; height: 9px; border-radius: 50%; background: #c3ccc6; }
.window-bar > span:first-child { background: #e19a82; }
.window-bar > span:nth-child(2) { background: #e5c670; }
.window-bar > span:nth-child(3) { background: #86b497; }
.window-bar strong { margin-left: 9px; font-size: .72rem; }
.window-bar em { margin-left: auto; font-size: .68rem; font-style: normal; }
.window-body { min-height: 450px; display: grid; grid-template-columns: 78px 165px 285px 1fr; }
.preview-dock { display: grid; grid-template-rows: auto auto auto 1fr; align-content: start; justify-items: center; gap: 22px; padding: 20px 9px; color: white; background: var(--green); }
.preview-dock > b { width: 31px; height: 31px; display: grid; place-items: center; margin-bottom: 11px; border-radius: 9px; color: var(--green); background: var(--lime); }
.preview-dock > span { position: relative; width: 58px; display: grid; justify-items: center; gap: 4px; padding: 10px 4px; border-radius: 12px; color: rgba(255,255,255,.65); font-size: 1rem; }
.preview-dock span.active { color: white; background: rgba(255,255,255,.11); }
.preview-dock small { font-size: .56rem; }
.preview-dock i { position: absolute; right: 8px; top: 3px; width: 15px; height: 15px; display: grid; place-items: center; border-radius: 50%; color: var(--green); background: var(--lime); font-size: .52rem; font-style: normal; font-weight: 850; }
.preview-folders { display: flex; flex-direction: column; gap: 6px; padding: 23px 12px; border-right: 1px solid #d6ddd8; color: var(--muted); background: #eaf0eb; }
.preview-folders > strong { margin: 0 10px 18px; color: var(--green); }
.preview-folders > span { display: flex; justify-content: space-between; padding: 9px 10px; border-radius: 8px; font-size: .68rem; }
.preview-folders > span.active { color: var(--green); background: white; box-shadow: 0 2px 10px rgba(21,62,50,.06); }
.preview-folders b { min-width: 19px; padding: 2px 5px; border-radius: 10px; color: white; background: var(--green-2); text-align: center; }
.preview-folders p { margin: auto 10px 0; font-size: .58rem; line-height: 1.5; }
.preview-list { padding: 24px 10px; border-right: 1px solid #dce2de; background: #f8faf8; }
.preview-list > small { color: var(--green-2); font-size: .58rem; font-weight: 800; letter-spacing: .1em; }
.preview-list > h3 { margin: 5px 8px 18px; color: var(--green); font-size: 1.15rem; }
.preview-list article { display: grid; gap: 4px; margin: 4px 0; padding: 13px; border-radius: 10px; }
.preview-list article.selected { background: #dcebe4; }
.preview-list b { color: var(--green); font-size: .72rem; }
.preview-list span { font-size: .67rem; font-weight: 720; }
.preview-list p { margin: 2px 0 0; color: var(--muted); font-size: .61rem; line-height: 1.4; }
.preview-message { padding: 32px clamp(25px,4vw,55px); background: #f5f7f5; }
.message-meta { display: flex; align-items: center; gap: 11px; }
.message-meta > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--green-2); font-weight: 850; }
.message-meta div { display: grid; }
.message-meta strong { color: var(--green); font-size: .75rem; }
.message-meta small { color: var(--muted); font-size: .6rem; }
.preview-message h3 { margin: 24px 0 17px; color: var(--green); font-size: 1.35rem; letter-spacing: -.03em; }
.preview-message > p { color: #44524c; font-size: .72rem; line-height: 1.6; }
.message-warning { display: grid; gap: 5px; margin: 20px 0; padding: 14px; border-left: 4px solid var(--orange); border-radius: 8px; background: #fff5ef; }
.message-warning small { color: #9a4d2f; font-size: .6rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.message-warning strong { color: #713824; font-size: .7rem; }
.preview-message button { padding: 9px 12px; border: 0; border-radius: 8px; color: white; background: var(--green); font-size: .67rem; font-weight: 750; }
.account-preview { display: grid; grid-template-columns: 245px 1fr; gap: 28px; align-items: center; margin: 18px 0 0; padding: 22px 25px; border-radius: 14px; color: white; background: var(--green); }
.account-preview > div:first-child { display: grid; }
.account-preview small { color: var(--lime); font-size: .6rem; font-weight: 800; letter-spacing: .1em; }
.account-preview strong { margin: 3px 0; font-size: 1.55rem; }
.account-preview span { color: #d3dfd8; font-size: .68rem; }
.account-flow { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.account-flow span { padding: 8px 10px; border: 1px solid rgba(255,255,255,.15); border-radius: 8px; color: white; }
.account-flow i { color: var(--lime); font-style: normal; }
.product-benefits { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 18px; }
.product-benefits article { padding: 23px; border: 1px solid var(--line); border-radius: 13px; }
.card-index { display: inline-flex; margin: 0; padding: 5px 8px; border-radius: 6px; color: var(--green-2); background: var(--mint); font-size: .65rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.product-benefits h3, .evidence-grid h3 { margin: 13px 0 8px; color: var(--green); font-size: 1rem; }
.product-benefits article > p:last-child, .evidence-grid article > p:last-child { margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.62; }
.preview-note { margin: 13px 0 0; color: #78857e; font-size: .7rem; text-align: right; }

.principle { overflow: hidden; background: var(--paper); }
.learning-loop { max-width: 1050px; margin: auto; display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid #d4dcd6; border-radius: 16px; overflow: hidden; background: white; }
.learning-loop article { min-height: 195px; padding: 25px 23px; border-right: 1px solid #dbe1dd; }
.learning-loop article:last-child { border: 0; }
.learning-loop span { color: var(--green-2); font-size: .68rem; font-weight: 850; }
.learning-loop h3 { margin: 18px 0 9px; color: var(--green); font-size: 1.02rem; }
.learning-loop p { margin: 0; color: var(--muted); font-size: .81rem; line-height: 1.6; }
.tradeoff-strip { max-width: 1050px; margin: 16px auto 0; display: flex; flex-wrap: wrap; align-items: center; gap: 9px; padding: 14px 16px; border-radius: 11px; color: white; background: var(--green); }
.tradeoff-strip strong { margin-right: auto; font-size: .76rem; }
.tradeoff-strip span { padding: 7px 9px; border-radius: 7px; color: #e4ebe7; background: rgba(255,255,255,.08); font-size: .66rem; }

.classroom-flow { color: white; background: var(--green); }
.classroom-flow .kicker { color: var(--lime); }
.classroom-flow h2 { color: white; }
.classroom-flow .section-intro > p:not(.kicker) { color: #cedbd4; }
.flow-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; margin: 43px 0 0; padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; background: rgba(255,255,255,.16); list-style: none; }
.flow-steps li { min-height: 215px; padding: 25px; background: #1b493b; }
.flow-steps > li > span { color: var(--lime); font-size: .67rem; font-weight: 850; }
.flow-steps h3 { margin: 38px 0 9px; font-size: .98rem; }
.flow-steps p { margin: 0; color: #cedbd4; font-size: .8rem; line-height: 1.6; }
.teacher-console { display: grid; grid-template-columns: .8fr 1.2fr; gap: 35px; align-items: center; margin-top: 20px; padding: 22px 25px; border-radius: 12px; color: var(--green); background: var(--lime); }
.teacher-console div { display: grid; }
.teacher-console small { font-size: .61rem; font-weight: 850; letter-spacing: .1em; }
.teacher-console strong { margin-top: 4px; font-size: .96rem; }
.teacher-console ul { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin: 0; padding: 0; list-style: none; }
.teacher-console li { padding: 6px 8px; border-radius: 7px; background: rgba(21,62,50,.08); font-size: .65rem; }

.ecosystem { background: white; }
.ecosystem .section-intro a, .complete-action a { color: var(--green-2); font-weight: 750; text-decoration: underline; text-decoration-color: #a9cdbf; text-underline-offset: 4px; }
.ecosystem .section-intro a:hover, .complete-action a:hover { text-decoration-color: var(--green-2); }
.ecosystem-flow { display: grid; grid-template-columns: minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr); align-items: stretch; margin-top: 42px; }
.ecosystem-card { min-width: 0; padding: 27px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
.ecosystem-card.current-product { color: white; border-color: var(--green); background: var(--green); box-shadow: 0 18px 40px rgba(21,62,50,.16); }
.ecosystem-card.planned-product { border-style: dashed; background: #fbfaf5; }
.ecosystem-meta { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.ecosystem-meta > span { width: 36px; height: 36px; display: grid; flex: none; place-items: center; border-radius: 10px; color: var(--green); background: var(--lime); font-size: .69rem; font-weight: 900; }
.ecosystem-meta small { color: var(--green-2); font-size: .61rem; font-weight: 850; letter-spacing: .065em; text-align: right; text-transform: uppercase; }
.current-product .ecosystem-meta small { color: var(--lime); }
.ecosystem-card h3 { margin: 25px 0 11px; color: var(--green); font-size: 1.16rem; letter-spacing: -.025em; }
.ecosystem-card h3 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.current-product h3 { color: white; }
.ecosystem-card > p { min-height: 116px; margin: 0; color: var(--muted); font-size: .81rem; line-height: 1.65; }
.current-product > p { color: #d6e2dc; }
.ecosystem-card ul { display: grid; gap: 7px; margin: 20px 0 0; padding: 16px 0 0; border-top: 1px solid #d9dfda; list-style: none; }
.current-product ul { border-top-color: rgba(255,255,255,.16); }
.ecosystem-card li { position: relative; padding-left: 17px; color: #47554f; font-size: .72rem; }
.ecosystem-card li::before { position: absolute; left: 0; content: "✓"; color: var(--green-2); font-weight: 900; }
.current-product li { color: white; }
.current-product li::before { color: var(--lime); }
.ecosystem-connector { align-self: center; justify-self: center; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid #cfd8d1; border-radius: 50%; color: var(--green-2); background: white; font-size: .78rem; font-weight: 900; }
.guided-layer { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(360px,.85fr); gap: 55px; align-items: center; margin-top: 20px; padding: 37px 40px; border-radius: 17px; background: var(--paper); }
.guided-layer .kicker { margin-bottom: 10px; }
.guided-layer h3, .complete-action h3 { margin: 0 0 12px; color: var(--green); font-size: 1.42rem; line-height: 1.2; letter-spacing: -.035em; }
.guided-layer-copy > p:last-child { margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.65; }
.layer-stack { display: grid; gap: 9px; }
.layer-stack > div { display: grid; gap: 2px; padding: 17px 19px; border: 1px solid #bcd5ca; border-radius: 11px; color: var(--green); background: var(--mint); box-shadow: 0 7px 18px rgba(21,62,50,.06); }
.layer-stack > div:last-child { margin: -2px 17px 0; color: white; border-color: var(--green); background: var(--green); }
.layer-stack small { font-size: .57rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.layer-stack strong { font-size: .85rem; }
.layer-stack span { color: var(--muted); font-size: .65rem; }
.layer-stack > div:last-child span { color: #cbd9d2; }
.complete-action { margin-top: 20px; padding: 34px 35px 30px; border: 1px solid var(--line); border-radius: 17px; }
.complete-action-head { display: grid; grid-template-columns: .9fr 1.1fr; gap: 65px; align-items: end; }
.complete-action-head .kicker { margin-bottom: 9px; }
.complete-action-head > p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.65; }
.action-cycle { display: grid; grid-template-columns: repeat(6,1fr); margin: 27px 0 0; padding: 0; overflow: hidden; border: 1px solid #d5ddd7; border-radius: 12px; background: white; list-style: none; }
.action-cycle li { min-width: 0; display: grid; align-content: start; gap: 5px; padding: 17px 14px; border-right: 1px solid #d5ddd7; }
.action-cycle li:last-child { border: 0; }
.action-cycle li:nth-child(-n+3) { background: #f3f8f5; }
.action-cycle span { color: var(--green-2); font-size: .59rem; font-weight: 900; }
.action-cycle strong { color: var(--green); font-size: .76rem; }
.action-cycle small { color: var(--muted); font-size: .61rem; line-height: 1.45; }
.scope-note { margin: 18px 0 0; padding: 14px 17px; border-left: 4px solid var(--orange); border-radius: 8px; color: var(--muted); background: #fff7f2; font-size: .79rem; }
.scope-note strong { color: #80462f; }

.trust-grid article > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; color: var(--green); background: var(--mint); font-weight: 850; }
.trust-grid h3 { margin: 18px 0 8px; color: var(--green); font-size: .96rem; }
.trust-grid p { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.58; }

.evidence { background: var(--paper); }
.evidence-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 15px; }
.evidence-grid article { padding: 27px; border: 1px solid var(--line); border-radius: 14px; background: white; }
.source-details { max-width: 930px; margin: 26px auto 0; padding: 16px 0; border-top: 1px solid #cfd7d1; border-bottom: 1px solid #cfd7d1; color: var(--muted); font-size: .79rem; }
.source-details summary { cursor: pointer; color: var(--green); font-weight: 750; }
.source-details li { margin: 8px 0; }
.source-details a { text-decoration: underline; text-underline-offset: 3px; }

.faq-section { background: white; }
.faq-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 13px; margin-top: 38px; }
.faq-grid article { padding: 25px 26px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); }
.faq-grid h3 { margin: 0 0 9px; color: var(--green); font-size: 1rem; }
.faq-grid p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.62; }

.trust-section { color: white; background: var(--green); }
.trust-section .kicker { color: var(--lime); }
.trust-section h2 { color: white; }
.trust-section .section-intro > p:not(.kicker) { color: #cedbd4; }
.trust-hero { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 39px; overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 15px; background: rgba(255,255,255,.14); }
.trust-hero > div { min-height: 128px; display: grid; align-content: center; gap: 4px; padding: 22px 24px; color: var(--green); background: var(--lime); }
.trust-hero small { font-size: .6rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.trust-hero strong { font-size: 1.02rem; }
.trust-hero span { color: #486356; font-size: .72rem; }
.trust-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 13px; margin-top: 38px; }
.trust-grid article { padding: 22px; border: 1px solid rgba(255,255,255,.13); border-radius: 13px; background: #1b493b; }
.trust-grid article > span { color: var(--lime); background: rgba(216,240,118,.1); }
.trust-grid h3 { color: white; }
.trust-grid p { color: #cedbd4; }
.trust-footer { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.13); }
.trust-note { max-width: 790px; margin: 0; color: #aebfb6; font-size: .73rem; }
.privacy-detail-link { flex: none; color: var(--lime); font-size: .76rem; font-weight: 800; }
.privacy-detail-link:hover { color: white; text-decoration: underline; text-underline-offset: 4px; }

.closing { padding: 104px max(24px,calc((100vw - 940px)/2)); text-align: center; color: white; background: var(--green); }
.closing .kicker { color: var(--lime); }
.closing h2 { color: white; }
.closing > div > p:not(.kicker):not(.closing-note) { max-width: 700px; margin: 0 auto 28px; color: #d3dfd8; font-size: 1.03rem; }
.closing-actions { display: flex; align-items: center; justify-content: center; gap: 20px; }
.text-link { color: #dce6e1; font-size: .78rem; font-weight: 700; }
.text-link:hover { color: white; text-decoration: underline; }
.closing-note { margin: 28px 0 0; color: #9eb3a8; font-size: .7rem; }
.site-footer { max-width: 1220px; margin: auto; padding: 39px 24px 50px; display: flex; justify-content: space-between; gap: 30px; color: var(--muted); }
.site-footer p { font-size: .78rem; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 21px; font-size: .79rem; }
.site-footer nav a:hover { color: var(--green); text-decoration: underline; }

.legal-nav { display: flex !important; }
.legal-main { max-width: 900px; min-height: calc(100vh - 200px); margin: auto; padding: 82px 24px 110px; }
.legal-main h1 { margin-bottom: 22px; }
.legal-main h2 { margin: 32px 0 10px; color: var(--green); font-size: 1.2rem; }
.legal-main p, .legal-main li { color: var(--muted); }
.legal-notice { margin: 24px 0 39px; padding: 18px 20px; border-left: 4px solid var(--orange); border-radius: 9px; background: #fff5ef; }
.legal-notice strong { color: #813f27; }
.legal-notice p { margin-bottom: 0; }
.legal-placeholder { display: inline-block; margin: 2px 0; padding: 2px 7px; border-radius: 5px; color: #76520b; background: #fff0c9; font-weight: 700; }
.legal-checklist { margin-top: 42px; padding: 22px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); }
.legal-checklist h2 { margin-top: 0; }
.privacy-promise { display: grid; gap: 4px; margin: 26px 0 34px; padding: 24px 26px; border-radius: 14px; color: white; background: var(--green); }
.privacy-promise small { color: var(--lime); font-size: .64rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.privacy-promise strong { font-size: 1.18rem; }
.privacy-promise p { margin: 5px 0 0; color: #cedbd4; }
.privacy-main code { padding: 2px 5px; border-radius: 5px; color: var(--green); background: var(--mint); }
.privacy-facts { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin: 16px 0 30px; }
.privacy-facts article { padding: 19px; border: 1px solid var(--line); border-radius: 11px; background: var(--paper); }
.privacy-facts strong { color: var(--green); }
.privacy-facts p { margin: 7px 0 0; font-size: .84rem; line-height: 1.58; }
.privacy-version { margin-top: 48px; padding-top: 16px; border-top: 1px solid var(--line); font-size: .78rem; }

@media (prefers-reduced-motion: reduce) {
  :root { scroll-behavior: auto; }
  .button { transition: none; }
}

@media (max-width: 1080px) {
  .site-header nav { gap: 13px; }
  .site-header nav > a:not(.nav-cta) { font-size: .77rem; }
  .hero { grid-template-columns: 1fr; gap: 35px; }
  .hero-copy { max-width: 760px; }
  .discovery-visual { width: min(650px,100%); margin: auto; }
  .context { grid-template-columns: 1fr; gap: 38px; }
  .product-benefits { grid-template-columns: 1fr; }
  .window-body { grid-template-columns: 72px 155px 250px 1fr; }
  .ecosystem-flow { grid-template-columns: repeat(3,1fr); gap: 13px; }
  .ecosystem-connector { display: none; }
  .ecosystem-card > p { min-height: 142px; }
  .action-cycle { grid-template-columns: repeat(3,1fr); }
  .action-cycle li:nth-child(3) { border-right: 0; }
  .action-cycle li:nth-child(-n+3) { border-bottom: 1px solid #d5ddd7; }
  .trust-grid { grid-template-columns: repeat(2,1fr); }
  .flow-steps { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 790px) {
  .site-header { height: 68px; }
  .header-inner { padding: 0 18px; }
  .menu-button { display: block; }
  .site-header nav:not(.legal-nav) { display: none; position: absolute; left: 14px; right: 14px; top: 68px; padding: 17px; align-items: stretch; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: var(--shadow); }
  .site-header nav.open { display: grid; }
  .site-header nav a { padding: 8px; }
  .nav-cta { text-align: center; }
  .hero { padding: 64px 20px 76px; }
  .hero h1 { font-size: clamp(2.6rem,11vw,3.6rem); }
  .discovery-visual { min-height: 540px; }
  .mail-card { top: 315px; }
  .impact-card { left: 10px; }
  .section { padding: 68px 20px; }
  .window-body { grid-template-columns: 64px 1fr; }
  .preview-folders, .preview-list { display: none; }
  .preview-message { padding: 28px; }
  .account-preview { grid-template-columns: 1fr; }
  .account-flow { justify-content: flex-start; flex-wrap: wrap; }
  .learning-loop { grid-template-columns: repeat(2,1fr); }
  .learning-loop article:nth-child(2) { border-right: 0; }
  .learning-loop article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .teacher-console { grid-template-columns: 1fr; }
  .teacher-console ul { justify-content: flex-start; }
  .ecosystem-flow, .guided-layer, .complete-action-head { grid-template-columns: 1fr; }
  .ecosystem-card > p { min-height: auto; }
  .guided-layer, .complete-action-head { gap: 28px; }
  .guided-layer { padding: 30px; }
  .evidence-grid { grid-template-columns: 1fr; }
  .faq-grid { grid-template-columns: 1fr; }
  .site-footer { display: grid; }
}

@media (max-width: 500px) {
  .hero-actions { display: grid; }
  .discovery-visual { min-height: 525px; }
  .browser-card { width: 100%; }
  .mail-card { width: 90%; top: 310px; }
  .impact-card { width: 92%; }
  .account-flow i { display: none; }
  .learning-loop, .flow-steps, .trust-grid, .trust-hero { grid-template-columns: 1fr; }
  .guided-layer, .complete-action { padding: 25px 22px; }
  .layer-stack > div:last-child { margin-left: 8px; margin-right: 8px; }
  .action-cycle { grid-template-columns: repeat(2,1fr); }
  .action-cycle li:nth-child(3) { border-right: 1px solid #d5ddd7; }
  .action-cycle li:nth-child(2n) { border-right: 0; }
  .action-cycle li:nth-child(-n+4) { border-bottom: 1px solid #d5ddd7; }
  .trust-hero > div { min-height: 105px; }
  .trust-footer { align-items: flex-start; flex-direction: column; gap: 15px; }
  .learning-loop article { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .learning-loop article:nth-child(3) { border-bottom: 1px solid var(--line); }
  .learning-loop h3 { margin-top: 18px; }
  .outcome-list li { grid-template-columns: 1fr; gap: 5px; }
  .closing-actions { align-items: stretch; flex-direction: column; }
  .legal-nav a:first-child { display: none; }
  .privacy-facts { grid-template-columns: 1fr; }
}
