:root {
  --ink: #171a2c;
  --ink-soft: #4f5366;
  --paper: #f7f5ef;
  --paper-warm: #efebe1;
  --white: #fffefa;
  --indigo: #2f3ac4;
  --indigo-dark: #232b87;
  --indigo-soft: #e6e8ff;
  --pine: #176c50;
  --pine-soft: #dceee6;
  --amber: #a66305;
  --amber-soft: #fff0cf;
  --coral: #b43b2e;
  --coral-soft: #fde8e3;
  --line: #d9d6ce;
  --line-dark: #c6c2b7;
  --shadow: 0 24px 70px rgba(34, 38, 61, 0.12);
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 32px;
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.1; letter-spacing: -0.035em; text-wrap: balance; }
h1 { font-size: clamp(2.75rem, 6vw, 5.4rem); }
h2 { font-size: clamp(2.1rem, 4vw, 3.75rem); }
h3 { font-size: clamp(1.35rem, 2vw, 1.75rem); }
p { text-wrap: pretty; }

.container { width: min(calc(100% - 40px), var(--container)); margin: 0 auto; }
.section { padding: clamp(76px, 9vw, 132px) 0; }
.section-intro { max-width: 760px; margin-bottom: 54px; }
.section-intro.compact { margin-bottom: 42px; }
.section-intro h2 { margin-bottom: 20px; }
.section-intro > p:last-child { color: var(--ink-soft); font-size: 1.15rem; max-width: 680px; }
.eyebrow {
  margin-bottom: 16px;
  color: var(--indigo);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
}

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 100;
  padding: 12px 16px;
  border-radius: 10px;
  background: var(--ink);
  color: white;
  transform: translateY(-150%);
}
.skip-link:focus { transform: translateY(0); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid rgba(23, 26, 44, 0.1);
  background: rgba(247, 245, 239, 0.94);
  backdrop-filter: blur(14px);
}
.nav { display: flex; min-height: 74px; align-items: center; gap: 24px; }
.brand { display: inline-flex; min-height: 48px; align-items: center; gap: 10px; font-weight: 850; text-decoration: none; }
.brand-icon { width: 34px; height: 34px; border-radius: 9px; box-shadow: 0 4px 12px rgba(47, 58, 196, 0.2); }
.links { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.links a, .foot a {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 9px;
  color: var(--ink-soft);
  font-size: 0.9rem;
  font-weight: 650;
  text-decoration: none;
}
.links a:hover, .links a:focus-visible, .links a[aria-current="page"] { color: var(--ink); background: var(--paper-warm); }
.lang { position: relative; display: flex; }
.lang-toggle { display: flex; align-items: center; justify-content: center; min-width: 48px; min-height: 48px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); color: var(--ink-soft); cursor: pointer; }
.lang-toggle[aria-expanded="true"] { color: white; background: var(--indigo); border-color: var(--indigo); }
.lang-menu { position: absolute; top: calc(100% + 6px); right: 0; z-index: 60; min-width: 150px; padding: 4px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); box-shadow: 0 14px 34px rgba(23, 26, 44, 0.16); }
.lang-option { display: block; width: 100%; min-height: 48px; padding: 10px 14px; border: 0; border-radius: 8px; background: transparent; color: var(--ink-soft); text-align: left; font-size: 0.92rem; font-weight: 700; cursor: pointer; }
.lang-option:hover { background: var(--paper, #f4f3ee); }
.lang-option[aria-checked="true"] { color: white; background: var(--indigo); }
.lang-icon { flex: none; color: currentColor; }
.nav-cta { display: inline-flex; min-height: 46px; align-items: center; padding: 8px 15px; border-radius: 10px; background: var(--ink); color: white; font-size: 0.86rem; font-weight: 750; text-decoration: none; }
.menu-btn { display: none; min-height: 48px; align-items: center; padding: 8px 13px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: var(--white); cursor: pointer; font-size: 0.86rem; font-weight: 800; }
.menu-btn[aria-expanded="true"] { border-color: var(--indigo); color: var(--indigo-dark); background: var(--indigo-soft); }
.mobile-menu-panel { display: none; border-top: 1px solid var(--line); background: var(--white); box-shadow: 0 18px 30px rgba(23,26,44,0.1); }
.mobile-menu-panel[hidden] { display: none; }
.mobile-menu-links { padding-top: 10px; padding-bottom: 14px; }
.mobile-menu-links a { display: flex; min-height: 48px; align-items: center; padding: 9px 12px; border-radius: 9px; color: var(--ink-soft); font-weight: 700; text-decoration: none; }
.mobile-menu-links a:hover, .mobile-menu-links a:focus-visible, .mobile-menu-links a[aria-current="page"] { color: var(--ink); background: var(--paper-warm); }
.mobile-menu-links .mobile-menu-cta { justify-content: center; margin-top: 8px; color: white; background: var(--ink); }
.mobile-menu-links .mobile-menu-cta:hover, .mobile-menu-links .mobile-menu-cta:focus-visible { color: white; background: var(--indigo-dark); }


.hero { padding: 32px 0 70px; }
.hero-photo {
  position: relative;
  display: flex;
  min-height: min(760px, calc(100vh - 120px));
  align-items: center;
  overflow: hidden;
  padding: clamp(44px, 7vw, 92px);
  border-radius: 30px;
  background-color: #5b4434;
  background-image: linear-gradient(90deg, rgba(21, 21, 28, 0.82) 0%, rgba(21, 21, 28, 0.62) 36%, rgba(21, 21, 28, 0.12) 72%), url("hero-community.jpg");
  background-position: center;
  background-size: cover;
  color: white;
}
.hero-copy h1 { max-width: 760px; margin-bottom: 28px; }
.hero-copy { position: relative; z-index: 2; max-width: 700px; }
.hero-photo .eyebrow { color: #cdd1ff; }
.hero-lead { max-width: 640px; margin-bottom: 32px; color: var(--ink-soft); font-size: clamp(1.1rem, 2vw, 1.28rem); line-height: 1.65; }
.hero-photo .hero-lead { color: rgba(255, 255, 255, 0.88); }
.cta-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.cta-row.centered { justify-content: center; }
.btn {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  padding: 13px 20px;
  border: 1px solid transparent;
  border-radius: 12px;
  cursor: pointer;
  font-weight: 780;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: transform 140ms ease, background-color 140ms ease, box-shadow 140ms ease;
}
.btn:hover { transform: translateY(-2px); }
.btn.primary { background: var(--indigo); color: white; box-shadow: 0 10px 28px rgba(47, 58, 196, 0.24); }
.btn.primary:hover { background: var(--indigo-dark); }
.btn.secondary { border-color: var(--line-dark); background: transparent; color: var(--ink); }
.btn.secondary:hover { background: var(--white); }
.btn.ghost { border-color: var(--line-dark); background: transparent; color: var(--ink); }
.btn.ghost:hover { background: var(--white); }
.btn.inverse { background: white; color: var(--indigo-dark); }
.muted { color: var(--ink-soft); }
.contact { text-align: center; }
.add-person-page { padding: 72px 0; }
hr { height: 1px; margin: 34px 0; border: 0; background: var(--line); }
.hero-photo .btn.primary { background: white; color: var(--ink); box-shadow: none; }
.hero-photo .btn.primary:hover { background: #f1efe9; }
.hero-photo .btn.secondary { border-color: rgba(255, 255, 255, 0.74); color: white; }
.hero-photo .btn.secondary:hover { background: rgba(255, 255, 255, 0.12); }
.hero-assurances { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 28px 0 0; padding: 0; list-style: none; color: var(--ink-soft); font-size: 0.86rem; font-weight: 650; }
.hero-assurances li::before { content: "✓"; margin-right: 7px; color: var(--pine); font-weight: 900; }
.hero-photo .hero-assurances { color: rgba(255, 255, 255, 0.84); }
.hero-photo .hero-assurances li::before { color: #8ce0bd; }
.hero-plan { position: absolute; right: clamp(24px, 5vw, 68px); bottom: clamp(22px, 4vw, 50px); display: grid; min-width: 225px; padding: 18px 20px; border: 1px solid rgba(255, 255, 255, 0.5); border-radius: 18px; background: rgba(255, 254, 250, 0.94); color: var(--ink); box-shadow: 0 18px 45px rgba(0, 0, 0, 0.2); backdrop-filter: blur(12px); }
.hero-plan-label { color: var(--ink-soft); font-size: 0.75rem; font-weight: 700; }
.hero-plan > strong { font-size: 1.7rem; letter-spacing: -0.04em; }
.hero-plan-state { display: flex; align-items: center; gap: 7px; margin-top: 6px; color: var(--pine); font-size: 0.72rem; font-weight: 800; }
.hero-plan-state i { width: 8px; height: 8px; border-radius: 50%; background: var(--pine); }

.plain-promise { padding: 30px 0; border-block: 1px solid var(--line); background: var(--white); }
.promise-grid { display: grid; grid-template-columns: 1fr 120px 1fr; align-items: center; gap: 32px; }
.promise-grid p { margin: 0; font-size: clamp(1rem, 2vw, 1.2rem); font-weight: 720; }
.promise-grid p:last-child { text-align: right; }
.promise-line { height: 1px; background: var(--line-dark); }

.how-section { background: var(--white); }
.product-story { border-top: 1px solid var(--line); }
.product-row { display: grid; grid-template-columns: minmax(260px, 0.7fr) minmax(430px, 1.3fr); gap: clamp(46px, 8vw, 112px); min-height: 700px; align-items: center; padding: clamp(58px, 8vw, 100px) 0; border-bottom: 1px solid var(--line); }
.product-row.reverse { grid-template-columns: minmax(430px, 1.3fr) minmax(260px, 0.7fr); }
.product-row.reverse .product-copy { order: 2; }
.product-row.reverse .device-stage { order: 1; }
.product-copy { max-width: 470px; }
.product-copy .story-number { display: block; margin-bottom: 28px; }
.story-number { color: var(--indigo); font-size: clamp(2rem, 5vw, 4.2rem); font-weight: 300; letter-spacing: -0.06em; line-height: 0.9; }
.product-copy h3 { margin-bottom: 18px; font-size: clamp(2rem, 4vw, 3.3rem); }
.product-copy p { margin: 0; color: var(--ink-soft); font-size: 1.1rem; }
.device-stage { position: relative; display: grid; min-height: 610px; place-items: center; overflow: hidden; border-radius: 40px; }
.device-stage::before { content: ""; position: absolute; width: 470px; height: 470px; border: 1px solid rgba(255,255,255,0.58); border-radius: 50%; }
.stage-indigo { background: var(--indigo-soft); }
.stage-pine { background: #cfeadd; }
.stage-coral { background: #f9d9d1; }
.phone-demo { position: relative; z-index: 2; width: 318px; min-height: 584px; overflow: hidden; border: 8px solid var(--ink); border-radius: 42px; background: #f7f8fb; box-shadow: 0 30px 65px rgba(34, 38, 61, 0.22); transform: rotate(1.2deg); }
.product-row.reverse .phone-demo { transform: rotate(-1.2deg); }
.app-shot { position: relative; z-index: 2; width: 318px; max-width: calc(100% - 34px); height: auto; display: block; border: 8px solid var(--ink); border-radius: 42px; background: #f7f8fb; box-shadow: 0 30px 65px rgba(34, 38, 61, 0.22); transform: rotate(1.2deg); }
.product-row.reverse .app-shot { transform: rotate(-1.2deg); }
.phone-status { display: flex; height: 28px; align-items: center; justify-content: space-between; padding: 4px 18px 0; background: white; color: var(--ink); font-size: 0.62rem; font-weight: 850; }
.phone-screen { min-height: 548px; padding: 15px 17px 18px; background: #f7f8fb; color: #101125; }
.phone-title-row { display: flex; min-height: 36px; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.phone-title-row > strong { font-size: 1.17rem; letter-spacing: -0.025em; }
.phone-title-row > span:not(.phone-avatar) { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: #e3e7f4; color: #4d5169; }
.phone-label { margin: 13px 0 7px; font-size: 0.72rem; font-weight: 780; }
.quick-time-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; }
.quick-time-grid span { display: grid; min-height: 42px; place-items: center; border: 1px solid #b8bee0; border-radius: 11px; color: var(--indigo-dark); background: #edf0ff; font-size: 0.65rem; font-weight: 800; }
.quick-time-grid .selected { border-color: var(--indigo); background: var(--indigo); color: white; }
.backby-line { display: flex; align-items: baseline; justify-content: space-between; margin: 13px 0 3px; padding: 11px 12px; border-radius: 12px; background: white; box-shadow: 0 3px 10px rgba(16,17,37,0.06); }
.backby-line span { color: #4d5169; font-size: 0.66rem; }
.backby-line strong { font-size: 0.94rem; }
.phone-field { min-height: 58px; padding: 10px 11px; border: 1px solid #e3e7f4; border-radius: 11px; background: white; color: #62677d; font-size: 0.67rem; line-height: 1.45; }
.phone-setting { display: grid; grid-template-columns: 30px 1fr 34px; gap: 8px; align-items: center; margin: 11px 0; padding: 10px; border-radius: 12px; background: white; }
.phone-setting strong, .phone-setting small { display: block; }
.phone-setting strong { font-size: 0.68rem; }
.phone-setting small { color: #6b7285; font-size: 0.54rem; line-height: 1.35; }
.tiny-lock { position: relative; display: block; width: 28px; height: 28px; border-radius: 9px; background: var(--indigo-soft); }
.tiny-lock::before { content: ""; position: absolute; left: 8px; top: 6px; width: 10px; height: 9px; border: 2px solid var(--indigo); border-bottom: 0; border-radius: 8px 8px 0 0; }
.tiny-lock::after { content: ""; position: absolute; left: 7px; bottom: 5px; width: 14px; height: 11px; border-radius: 3px; background: var(--indigo); }
.phone-toggle { position: relative; width: 32px; height: 19px; border-radius: 99px; background: #bec5e2; }
.phone-toggle::after { content: ""; position: absolute; top: 3px; left: 3px; width: 13px; height: 13px; border-radius: 50%; background: white; }
.phone-toggle.on { background: var(--indigo); }
.phone-toggle.on::after { left: 16px; }
.phone-primary { display: grid; min-height: 45px; place-items: center; border-radius: 12px; background: var(--indigo); color: white; font-size: 0.72rem; font-weight: 850; }
.phone-center { text-align: center; }
.phone-center .phone-title-row { text-align: left; }
.phone-center-copy { max-width: 210px; margin: 0 auto 12px; color: #5b6075; font-size: 0.7rem; }
.qr-share-link { display: block; width: 170px; min-height: 170px; margin: 0 auto 10px; border-radius: 15px; }
.qr-demo { display: block; width: 170px; height: 170px; padding: 4px; border-radius: 15px; background: white; box-shadow: 0 4px 18px rgba(16,17,37,0.12); }
.words-card { display: grid; gap: 3px; margin: 0 8px 10px; padding: 10px; border: 1px solid #d9dcec; border-radius: 11px; background: white; text-align: left; }
.words-card small { color: #6b7285; font-size: 0.57rem; }
.words-card strong { font-size: 0.66rem; }
.no-account { display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--pine); font-size: 0.62rem; font-weight: 800; }
.phone-text-link { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; margin-top: 2px; color: var(--indigo-dark); font-size: 0.62rem; font-weight: 850; text-underline-offset: 3px; }
.phone-avatar { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: var(--indigo-soft); color: var(--indigo); font-size: 0.72rem; font-weight: 850; }
.active-plan-card { margin-top: 6px; padding: 15px; border: 1px solid #dfe2ef; border-radius: 17px; background: white; box-shadow: 0 5px 18px rgba(16,17,37,0.08); text-align: left; }
.plan-card-top { display: flex; align-items: center; justify-content: space-between; }
.status-chip { display: inline-flex; padding: 4px 8px; border-radius: 99px; font-size: 0.56rem; font-weight: 850; }
.status-chip.scheduled { background: #d1f1e3; color: var(--pine); }
.lock-mini { width: 15px; height: 12px; border-radius: 3px; background: var(--indigo); }
.active-plan-card h4 { margin: 14px 0 5px; font-size: 1.02rem; }
.active-plan-card p { margin: 0; color: #4d5169; font-size: 0.7rem; }
.active-plan-card p strong { color: #101125; }
.active-plan-card > small { color: #6b7285; font-size: 0.58rem; }
.phone-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 16px; }
.phone-actions span { display: grid; min-height: 39px; place-items: center; border: 1px solid var(--indigo); border-radius: 10px; color: var(--indigo); font-size: 0.64rem; font-weight: 850; }
.phone-actions .safe { background: var(--indigo); color: white; }
.quiet-reminder { display: flex; gap: 8px; align-items: center; margin: 14px 5px 88px; color: #64697d; font-size: 0.62rem; line-height: 1.4; text-align: left; }
.quiet-reminder > span:first-child { color: var(--indigo); font-size: 1rem; }

.state-demo { display: grid; grid-template-columns: 0.9fr 1.2fr; gap: 64px; align-items: center; margin-top: 28px; padding: clamp(32px, 5vw, 64px); border-radius: var(--radius-lg); background: var(--ink); color: white; }
.state-copy h3 { font-size: clamp(1.75rem, 3vw, 2.45rem); }
.state-copy p:last-child { color: #c8cbd7; }
.state-demo .eyebrow { color: #aeb5ff; }
.state-rail { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 0; padding: 0; list-style: none; }
.state-rail::before { content: ""; position: absolute; top: 17px; left: 17%; right: 17%; height: 2px; background: #55596c; }
.state-rail li { position: relative; z-index: 1; display: grid; justify-items: center; text-align: center; }
.rail-dot { width: 36px; height: 36px; margin-bottom: 14px; border: 8px solid var(--ink); border-radius: 50%; background: #6d7080; outline: 2px solid #6d7080; }
.is-done .rail-dot { background: #64c39e; outline-color: #64c39e; }
.is-wait .rail-dot { background: #f0bc5e; outline-color: #f0bc5e; }
.is-alert .rail-dot { background: #f17c68; outline-color: #f17c68; }
.state-rail strong { font-size: 0.83rem; }
.state-rail small { margin-top: 5px; color: #aeb1bf; font-size: 0.7rem; }

.roles-section { background: var(--paper); }
.role-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.role-card { min-height: 440px; padding: clamp(30px, 5vw, 58px); border-radius: var(--radius-lg); }
.planner-card { background: var(--indigo); color: white; }
.backer-card { border: 1px solid #b9d8ca; background: var(--pine-soft); color: #15382d; }
.role-label { display: flex; align-items: center; gap: 12px; margin-bottom: 60px; font-size: 0.8rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.role-label > span:first-child { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid currentColor; border-radius: 50%; }
.role-card h3 { max-width: 520px; font-size: clamp(1.8rem, 3.5vw, 2.65rem); }
.role-summary { max-width: 520px; margin: 20px 0 0; font-size: 1rem; }
.planner-card .role-summary { color: #e3e5ff; }
.backer-card .role-summary { color: #315a4a; }
.role-ui { margin-top: 30px; border-radius: 20px; }
.planner-ui { display: grid; grid-template-columns: 1fr 1fr auto; gap: 8px; padding: 10px; background: rgba(255,255,255,0.11); }
.planner-ui > span { display: grid; min-height: 58px; align-content: center; padding: 8px 10px; border-radius: 13px; background: rgba(255,255,255,0.1); }
.planner-ui small { color: #cdd1ff; font-size: 0.59rem; }
.planner-ui strong { font-size: 0.78rem; }
.planner-ui .role-action { min-width: 80px; place-items: center; background: white; color: var(--indigo-dark); font-size: 0.68rem; font-weight: 850; }
.backer-ui { display: grid; gap: 8px; }
.backer-ui > span { display: grid; grid-template-columns: 34px 1fr auto; gap: 9px; align-items: center; min-height: 62px; padding: 9px 10px; border: 1px solid rgba(23,108,80,0.13); border-radius: 15px; background: rgba(255,255,255,0.68); }
.backer-ui strong, .backer-ui small { display: block; }
.backer-ui strong { font-size: 0.76rem; }
.backer-ui small { color: #577265; font-size: 0.59rem; }
.person-dot { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; font-size: 0.68rem; font-style: normal; font-weight: 850; }
.pine-dot { background: #c2e6d5; color: var(--pine); }
.coral-dot { background: #f9d4cc; color: var(--coral); }
.mini-state { padding: 4px 7px; border-radius: 99px; font-size: 0.53rem; font-weight: 850; white-space: nowrap; }
.mini-state.green { background: #d1f1e3; color: var(--pine); }
.mini-state.coral { background: #fde8e3; color: var(--coral); }

.trust-section { background: var(--white); }
.trust-layout { display: grid; grid-template-columns: 0.82fr 1.18fr; gap: clamp(48px, 8vw, 112px); align-items: start; }
.trust-copy { position: sticky; top: 130px; }
.trust-copy h2 { margin-bottom: 24px; }
.trust-copy > p:not(.eyebrow) { color: var(--ink-soft); }
.text-link, .inline-links a { display: inline-flex; min-height: 48px; align-items: center; color: var(--indigo-dark); font-weight: 800; text-decoration-thickness: 1.5px; text-underline-offset: 4px; }
.trust-facts { display: grid; margin: 0; }
.trust-facts > div { padding: 28px 0; border-top: 1px solid var(--line); }
.trust-facts > div:last-child { border-bottom: 1px solid var(--line); }
.trust-facts dt { margin-bottom: 6px; font-size: 1.12rem; font-weight: 850; }
.trust-facts dd { margin: 0; color: var(--ink-soft); }
.privacy-flow { display: grid; grid-template-columns: 0.58fr 1.42fr; gap: clamp(36px, 6vw, 78px); align-items: center; margin-top: 92px; padding: clamp(32px, 5vw, 58px); border-radius: var(--radius-lg); background: #e1f1e9; }
.privacy-flow figcaption h3 { margin: 0; font-size: clamp(1.65rem, 3vw, 2.35rem); }
.flow-track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
.flow-track li { position: relative; display: grid; align-content: start; justify-items: center; text-align: center; }
.flow-track li:not(:last-child)::after { content: "→"; position: absolute; top: 18px; right: -19px; color: #6a927f; font-size: 1.15rem; font-weight: 800; }
.flow-track strong { margin-top: 12px; font-size: 0.78rem; }
.flow-track small { margin-top: 4px; color: #4e6c5e; font-size: 0.63rem; line-height: 1.35; }
.flow-icon { position: relative; display: grid; width: 52px; height: 52px; place-items: center; border: 1px solid #afd2c2; border-radius: 17px; background: white; color: var(--pine); }
.phone-icon::before { content: ""; width: 20px; height: 30px; border: 3px solid currentColor; border-radius: 6px; }
.phone-icon::after { content: ""; position: absolute; bottom: 13px; width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.lock-icon::before { content: ""; position: absolute; top: 11px; width: 18px; height: 17px; border: 3px solid currentColor; border-bottom: 0; border-radius: 12px 12px 0 0; }
.lock-icon::after { content: ""; position: absolute; bottom: 11px; width: 26px; height: 21px; border-radius: 6px; background: currentColor; }
.server-icon::before { content: ""; width: 27px; height: 23px; border: 3px solid currentColor; border-radius: 5px; box-shadow: 0 8px 0 -4px white, 0 11px 0 -6px currentColor; }
.server-icon::after { content: "×"; position: absolute; color: white; font-size: 0.72rem; font-weight: 900; }
.backer-icon::before { content: ""; width: 20px; height: 30px; border: 3px solid currentColor; border-radius: 6px; }
.backer-icon::after { content: "✓"; position: absolute; right: 7px; bottom: 7px; display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; background: var(--pine); color: white; font-size: 0.68rem; font-weight: 900; }
.limits-panel { display: grid; grid-template-columns: 0.75fr 1.25fr; gap: 64px; margin-top: 110px; padding: clamp(32px, 5vw, 60px); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); }
.limits-panel h3 { font-size: clamp(1.8rem, 3vw, 2.6rem); }
.limit-list { display: grid; gap: 24px; margin: 0; padding: 0; list-style: none; }
.limit-list li { display: grid; gap: 4px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.limit-list li:last-child { padding-bottom: 0; border: 0; }
.limit-list span { color: var(--ink-soft); }

.readiness-section { padding-top: 0; background: var(--white); }
.readiness-card { display: grid; grid-template-columns: 56px 1fr; gap: 24px; padding: clamp(30px, 5vw, 56px); border: 1px solid #e2c984; border-radius: var(--radius-lg); background: var(--amber-soft); }
.readiness-mark { display: grid; width: 56px; height: 56px; place-items: center; border-radius: 50%; background: var(--amber); color: white; font-family: Georgia, serif; font-size: 1.6rem; font-weight: 800; }
.readiness-card h2 { max-width: 850px; margin-bottom: 18px; font-size: clamp(1.8rem, 4vw, 3rem); }
.readiness-card p:not(.eyebrow) { max-width: 850px; color: #5c431a; }
.inline-links { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 22px; }
.readiness-card .eyebrow, .readiness-card .inline-links a { color: #704604; }

.scenarios-section { background: var(--paper-warm); }
.scenario-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.scenario-grid article { min-height: 280px; padding: 28px; border: 1px solid var(--line-dark); border-radius: var(--radius-md); background: var(--white); }
.scenario-time { display: inline-flex; margin-bottom: 60px; padding: 6px 10px; border-radius: 999px; background: var(--indigo-soft); color: var(--indigo-dark); font-size: 0.75rem; font-weight: 850; }
.scenario-grid p { color: var(--ink-soft); }

.org-teaser { background: var(--paper-warm); padding-top: 0; }
.org-card { display: grid; grid-template-columns: 1fr auto; gap: 48px; align-items: end; padding: clamp(38px, 6vw, 72px); border-radius: var(--radius-lg); background: var(--indigo-dark); color: white; }
.org-card .eyebrow { color: #bbc0ff; }
.org-card h2 { max-width: 850px; font-size: clamp(2rem, 4.2vw, 3.4rem); }
.org-card p:last-child { max-width: 760px; color: #dfe1fb; }

.faq-section { background: var(--white); }
.faq-layout { display: grid; grid-template-columns: 0.55fr 1fr; gap: clamp(48px, 8vw, 100px); }
.faq-list details { border-top: 1px solid var(--line); }
.faq-list details:last-child { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; min-height: 72px; padding: 22px 48px 22px 0; cursor: pointer; font-weight: 800; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; top: 19px; right: 8px; font-size: 1.5rem; font-weight: 400; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { padding: 0 48px 24px 0; color: var(--ink-soft); }

.access-section { background: var(--white); padding-top: 0; }
.access-card { padding: clamp(54px, 8vw, 90px) 30px; border-radius: var(--radius-lg); background: var(--paper); text-align: center; }
.access-card h2 { max-width: 820px; margin-inline: auto; }
.access-card > p:not(.eyebrow) { max-width: 700px; margin: 0 auto 30px; color: var(--ink-soft); }

.site-footer { padding: 36px 0; border-top: 1px solid var(--line); background: var(--paper); }
.foot { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.foot-brand { display: grid; }
.foot-brand span { color: var(--ink-soft); font-size: 0.8rem; }
.foot nav { display: flex; flex-wrap: wrap; justify-content: flex-end; }

/* Interior pages */
.interior-hero { padding: clamp(70px, 9vw, 120px) 0 70px; }
.interior-hero .eyebrow { margin-bottom: 20px; }
.interior-hero h1 { max-width: 920px; margin-bottom: 24px; font-size: clamp(2.75rem, 6vw, 5rem); }
.interior-hero .hero-lead { max-width: 800px; }
.interior-section { padding: 78px 0; }
.interior-section.alt { background: var(--white); }
.prose-wide { max-width: 900px; }
.prose-wide h2 { margin-top: 64px; font-size: clamp(1.9rem, 3vw, 2.8rem); }
.prose-wide h3 { margin-top: 38px; }
.prose-wide p, .prose-wide li { color: var(--ink-soft); }
.prose-wide a { color: var(--indigo-dark); font-weight: 750; }
.data-grid, .pilot-grid, .principle-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.data-card, .pilot-card, .principle-card { padding: 30px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
.data-card.good { border-color: #afd2c2; background: var(--pine-soft); }
.data-card h2, .pilot-card h3, .principle-card h3 { margin-top: 0; }
.data-card ul, .pilot-card ul { padding-left: 22px; }
.disclosure-list details { margin: 12px 0; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--white); }
.disclosure-list summary { min-height: 58px; padding: 16px 20px; cursor: pointer; font-weight: 800; }
.disclosure-body { padding: 0 20px 20px; }
.status-table { width: 100%; border-collapse: collapse; margin-top: 24px; background: var(--white); }
.status-table th, .status-table td { padding: 16px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.status-table th { background: var(--paper-warm); }
.tag { display: inline-flex; padding: 4px 9px; border-radius: 99px; font-size: 0.72rem; font-weight: 850; }
.tag.ready { color: var(--pine); background: var(--pine-soft); }
.tag.dev { color: var(--amber); background: var(--amber-soft); }
.tag.later { color: var(--ink-soft); background: var(--paper-warm); }
.page-cta { margin-top: 60px; padding: 42px; border-radius: var(--radius-lg); background: var(--indigo-dark); color: white; }
.page-cta p { color: #e0e2f6; }

/* Organizations */
.organization-hero { padding-top: clamp(42px, 6vw, 76px); }
.org-hero-layout { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr); align-items: center; gap: clamp(42px, 6vw, 82px); }
.org-hero-copy h1 { max-width: 720px; font-size: clamp(2.8rem, 5.3vw, 4.8rem); }
.org-hero-copy .hero-lead { max-width: 660px; color: var(--ink-soft); font-size: clamp(1.05rem, 1.6vw, 1.22rem); }
.org-hero-points { display: flex; flex-wrap: wrap; gap: 10px 20px; margin: 28px 0 30px; padding: 0; list-style: none; }
.org-hero-points li { display: flex; align-items: center; gap: 8px; color: var(--pine); font-size: 0.88rem; font-weight: 800; }
.org-hero-points li > span:first-child { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; background: var(--pine-soft); }
.org-hero-visual { position: relative; min-width: 0; margin: 0; }
.org-hero-visual::before { content: ""; position: absolute; inset: -18px 22px 18px -18px; z-index: -1; border-radius: 38px; background: var(--indigo-soft); transform: rotate(-2deg); }
.org-hero-visual img { display: block; width: 100%; height: auto; border-radius: 32px; box-shadow: var(--shadow); }
.org-photo-note { position: absolute; right: -18px; bottom: 26px; display: grid; max-width: 285px; grid-template-columns: 42px 1fr; gap: 12px; align-items: center; padding: 16px 18px; border: 1px solid rgba(255,255,255,0.65); border-radius: 18px; background: rgba(255,254,250,0.94); box-shadow: 0 16px 36px rgba(23,26,44,0.18); backdrop-filter: blur(10px); }
.org-note-mark { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; background: var(--pine); color: white; font-size: 1.25rem; }
.org-photo-note strong, .org-photo-note small { display: block; }
.org-photo-note strong { line-height: 1.25; }
.org-photo-note small { margin-top: 3px; color: var(--ink-soft); font-size: 0.72rem; line-height: 1.35; }

.org-fit-layout { display: grid; grid-template-columns: minmax(350px, 0.9fr) minmax(0, 1.1fr); gap: clamp(44px, 7vw, 90px); align-items: start; }
.org-responsibility-flow { position: sticky; top: 124px; padding: clamp(28px, 4vw, 44px); border-radius: var(--radius-lg); background: var(--indigo-dark); color: white; box-shadow: var(--shadow); }
.org-flow-node { display: grid; justify-items: center; padding: 18px; border-radius: 18px; text-align: center; }
.org-flow-node strong, .org-flow-node small { display: block; }
.org-flow-node small { margin-top: 3px; color: inherit; font-size: 0.76rem; opacity: 0.78; }
.organization-node { background: rgba(255,255,255,0.1); }
.org-node-icon { display: grid; width: 40px; height: 40px; place-items: center; margin-bottom: 8px; border-radius: 12px; background: white; color: var(--indigo-dark); font-size: 1.15rem; font-weight: 900; }
.org-flow-arrow { display: grid; justify-items: center; padding: 10px 0; }
.org-flow-arrow span { width: 1px; height: 16px; background: #8f96e5; }
.org-flow-arrow em { padding: 4px 10px; border-radius: 99px; color: #dfe1fb; background: rgba(255,255,255,0.08); font-size: 0.68rem; font-style: normal; font-weight: 800; }
.org-flow-arrow b { color: #aeb3f1; font-size: 1.1rem; }
.org-person-lane { display: grid; grid-template-columns: 1fr 32px 1fr; align-items: center; }
.person-node { min-height: 140px; background: white; color: var(--ink); }
.person-node small { color: var(--ink-soft); opacity: 1; }
.person-node .org-node-icon { background: var(--pine-soft); color: var(--pine); }
.person-arrow { color: #c8cdfa; text-align: center; font-size: 1.4rem; font-weight: 900; }
.org-flow-boundary { display: flex; gap: 10px; align-items: center; margin-top: 16px; padding: 12px 14px; border: 1px solid rgba(255,255,255,0.18); border-radius: 12px; color: #f2f3ff; font-size: 0.76rem; line-height: 1.35; }
.org-flow-boundary > span { color: #bbc0ff; font-size: 1.1rem; }
.principle-list { display: grid; }
.principle-list .principle-card { display: grid; grid-template-columns: 50px 1fr; gap: 18px; padding: 24px 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; }
.principle-list .principle-card:last-child { border-bottom: 1px solid var(--line); }
.principle-list .principle-card h3 { margin: 0 0 8px; font-size: clamp(1.2rem, 1.8vw, 1.55rem); }
.principle-list .principle-card p { margin: 0; color: var(--ink-soft); }
.principle-index { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 13px; background: var(--indigo-soft); color: var(--indigo-dark); font-size: 0.72rem; font-weight: 900; }

.org-actions-section { background: var(--paper-warm); }
.org-action-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.org-action-card { position: relative; min-height: 340px; padding: 28px; overflow: hidden; border: 1px solid var(--line-dark); border-radius: var(--radius-md); background: var(--white); }
.org-action-label { display: inline-flex; min-height: 30px; align-items: center; padding: 4px 10px; border-radius: 99px; color: var(--pine); background: var(--pine-soft); font-size: 0.7rem; font-weight: 850; letter-spacing: 0.05em; text-transform: uppercase; }
.org-action-number { display: block; margin: 48px 0 16px; color: var(--indigo); font-size: 0.76rem; font-weight: 900; letter-spacing: 0.12em; }
.org-action-card h3 { margin-bottom: 12px; }
.org-action-card p { margin: 0; color: var(--ink-soft); }
.org-action-card::after { content: ""; position: absolute; right: -42px; bottom: -54px; width: 130px; height: 130px; border: 22px solid var(--indigo-soft); border-radius: 50%; opacity: 0.75; }

.org-briefing-section { padding-top: clamp(54px, 7vw, 90px); padding-bottom: clamp(54px, 7vw, 90px); }
.briefing-tool { overflow: hidden; border: 1px solid var(--line-dark); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow); }
.briefing-tool > summary { display: grid; min-height: 112px; grid-template-columns: 1fr auto; gap: 28px; align-items: center; padding: 28px clamp(24px, 4vw, 46px); cursor: pointer; list-style: none; }
.briefing-tool > summary::-webkit-details-marker { display: none; }
.briefing-tool > summary .eyebrow { display: block; margin-bottom: 9px; }
.briefing-tool > summary strong { display: block; font-size: clamp(1.55rem, 3vw, 2.45rem); line-height: 1.08; letter-spacing: -0.035em; }
.briefing-summary-action { display: inline-flex; min-height: 48px; align-items: center; gap: 10px; padding: 8px 15px; border-radius: 10px; color: white; background: var(--indigo); font-size: 0.83rem; font-weight: 800; white-space: nowrap; }
.briefing-summary-action::after { content: "↓"; font-size: 1rem; transition: transform 160ms ease; }
.briefing-tool[open] .briefing-summary-action::after { transform: rotate(180deg); }
.briefing-body { padding: 0 clamp(24px, 4vw, 46px) clamp(30px, 5vw, 52px); border-top: 1px solid var(--line); }
.practice-warning { display: grid; grid-template-columns: minmax(190px, 0.35fr) minmax(0, 1fr); gap: 26px; margin: 28px 0 36px; padding: 20px 22px; border-left: 5px solid var(--amber); border-radius: 12px; background: var(--amber-soft); }
.practice-warning strong { color: #704100; line-height: 1.35; }
.practice-warning p { margin: 0; color: #5d4525; }
.briefing-steps { display: grid; margin: 0; padding: 0; list-style: none; }
.briefing-steps li { display: grid; grid-template-columns: 52px 1fr; gap: 18px; padding: 22px 0; border-top: 1px solid var(--line); }
.briefing-steps li:last-child { border-bottom: 1px solid var(--line); }
.briefing-steps li > span { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 14px; color: var(--indigo-dark); background: var(--indigo-soft); font-size: 0.72rem; font-weight: 900; }
.briefing-steps h3 { margin: 2px 0 7px; font-size: clamp(1.15rem, 1.8vw, 1.42rem); }
.briefing-steps p { margin: 0; color: var(--ink-soft); }
.briefing-prompts { margin-top: 30px; padding: 24px; border-radius: 18px; background: var(--pine-soft); }
.briefing-prompts-label { margin-bottom: 12px; color: var(--pine); font-size: 0.76rem; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; }
.briefing-prompts ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 0; padding: 0; list-style: none; }
.briefing-prompts li { padding: 16px; border: 1px solid rgba(23,108,80,0.2); border-radius: 13px; background: var(--white); color: #244c40; font-size: 0.88rem; }

.org-pilot-layout { display: grid; grid-template-columns: minmax(340px, 0.9fr) minmax(0, 1.1fr); gap: clamp(46px, 7vw, 92px); align-items: start; }
.org-practice-visual { position: sticky; top: 124px; margin: 0; }
.org-practice-visual img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; border-radius: 28px; object-fit: cover; box-shadow: var(--shadow); }
.org-practice-visual figcaption { position: relative; max-width: calc(100% - 40px); margin: -44px auto 0; padding: 18px 20px; border-radius: 16px; background: var(--pine); color: white; box-shadow: 0 12px 30px rgba(23,108,80,0.24); }
.org-practice-visual figcaption strong, .org-practice-visual figcaption span { display: block; }
.org-practice-visual figcaption span { margin-top: 4px; color: #dff3e9; font-size: 0.82rem; }
.pilot-timeline { position: relative; display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.pilot-timeline::before { content: ""; position: absolute; top: 29px; bottom: 29px; left: 28px; width: 2px; background: var(--line-dark); }
.pilot-timeline li { position: relative; display: grid; grid-template-columns: 58px 1fr; gap: 20px; padding-bottom: 30px; }
.pilot-timeline li:last-child { padding-bottom: 0; }
.pilot-marker { position: relative; z-index: 1; display: grid; width: 58px; height: 58px; place-items: center; border: 6px solid var(--paper); border-radius: 50%; background: var(--indigo); color: white; font-size: 0.72rem; font-weight: 900; }
.pilot-timeline h3 { margin: 4px 0 8px; font-size: clamp(1.22rem, 1.8vw, 1.55rem); }
.pilot-timeline p { margin: 0; color: var(--ink-soft); }
.org-codesign-section { padding-top: 34px; }
.org-codesign { position: relative; padding-bottom: 150px; }
.org-codesign > img { display: block; width: 100%; height: auto; border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.org-codesign .page-cta { position: absolute; right: 42px; bottom: 34px; width: min(650px, calc(100% - 84px)); margin: 0; box-shadow: 0 24px 60px rgba(35,43,135,0.3); }

:focus-visible { outline: 3px solid #3fa5f7; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
  .btn:hover { transform: none; }
}

@media (max-width: 980px) {
  .links { display: none; }
  .menu-btn { display: inline-flex; }
  .mobile-menu-panel:not([hidden]) { display: block; }
  .nav { gap: 12px; }
  .brand { margin-right: auto; }
  .state-demo, .trust-layout, .limits-panel, .faq-layout { grid-template-columns: 1fr; }
  .product-row, .product-row.reverse { grid-template-columns: minmax(220px, 0.7fr) minmax(380px, 1.3fr); gap: 36px; }
  .privacy-flow { grid-template-columns: 1fr; }
  .trust-copy { position: static; }
  .limits-panel { gap: 24px; margin-top: 70px; }
  .org-card { grid-template-columns: 1fr; align-items: start; }
  .org-card .btn { justify-self: start; }
  .org-hero-layout { grid-template-columns: 1fr; }
  .org-hero-copy { max-width: 780px; }
  .org-hero-visual { width: min(100%, 760px); }
  .org-fit-layout, .org-pilot-layout { grid-template-columns: 1fr; }
  .org-responsibility-flow, .org-practice-visual { position: static; }
  .org-responsibility-flow { width: min(100%, 680px); }
  .org-practice-visual { width: min(100%, 720px); }
  .org-codesign { padding-bottom: 0; }
  .org-codesign .page-cta { position: relative; right: auto; bottom: auto; width: calc(100% - 48px); margin: -80px auto 0; }
}

@media (max-width: 760px) {
  body { font-size: 16px; }
  .container { width: min(calc(100% - 32px), var(--container)); }
  .section { padding: 76px 0; }
  .nav { min-height: 66px; }
  .brand-icon { width: 30px; height: 30px; }
  .nav-cta { display: none; }
  .hero { padding: 16px 0 70px; }
  .hero-photo { min-height: 760px; align-items: flex-start; padding: 46px 24px 150px; border-radius: 22px; background-image: linear-gradient(180deg, rgba(21, 21, 28, 0.78) 0%, rgba(21, 21, 28, 0.54) 54%, rgba(21, 21, 28, 0.2) 100%), url("hero-community.jpg"); background-position: 57% center; }
  .hero-copy h1 { font-size: clamp(2.7rem, 13vw, 4rem); }
  .cta-row .btn { width: 100%; }
  .hero-assurances { display: grid; gap: 8px; }
  .hero-plan { right: 20px; bottom: 20px; min-width: 205px; }
  .promise-grid { grid-template-columns: 1fr; gap: 14px; }
  .promise-line { width: 50px; }
  .promise-grid p:last-child { text-align: left; }
  .role-grid, .scenario-grid, .data-grid, .pilot-grid, .principle-grid { grid-template-columns: 1fr; }
  .product-row, .product-row.reverse { grid-template-columns: 1fr; gap: 32px; min-height: 0; padding: 64px 0; }
  .product-row.reverse .product-copy, .product-row.reverse .device-stage { order: initial; }
  .product-copy { max-width: 620px; }
  .product-copy .story-number { margin-bottom: 20px; }
  .device-stage { min-height: 570px; border-radius: 28px; }
  .phone-demo, .product-row.reverse .phone-demo { width: min(308px, calc(100% - 34px)); min-height: 560px; transform: none; }
  .app-shot, .product-row.reverse .app-shot { width: min(308px, calc(100% - 34px)); transform: none; }
  .state-demo { gap: 36px; padding: 30px 22px; }
  .state-rail { grid-template-columns: 1fr; gap: 26px; }
  .state-rail::before { top: 18px; bottom: 18px; left: 17px; right: auto; width: 2px; height: auto; }
  .state-rail li { grid-template-columns: 36px 1fr; grid-template-rows: auto auto; gap: 0 14px; justify-items: start; text-align: left; }
  .state-rail .rail-dot { grid-row: 1 / 3; margin: 0; }
  .role-card { min-height: 0; }
  .role-label { margin-bottom: 38px; }
  .planner-ui { grid-template-columns: 1fr 1fr; }
  .planner-ui .role-action { grid-column: 1 / -1; }
  .privacy-flow { gap: 30px; margin-top: 64px; padding: 30px 22px; }
  .flow-track { grid-template-columns: 1fr; gap: 24px; }
  .flow-track li { grid-template-columns: 52px 1fr; grid-template-rows: auto auto; gap: 0 14px; justify-items: start; text-align: left; }
  .flow-track .flow-icon { grid-row: 1 / 3; }
  .flow-track strong { margin-top: 4px; }
  .flow-track li:not(:last-child)::after { content: "↓"; top: auto; right: auto; bottom: -22px; left: 21px; }
  .readiness-card { grid-template-columns: 1fr; }
  .readiness-mark { width: 46px; height: 46px; }
  .org-card .btn { width: 100%; }
  .foot { align-items: flex-start; flex-direction: column; }
  .foot nav { justify-content: flex-start; margin-left: -12px; }
  .status-table { display: block; overflow-x: auto; }
  .page-cta { padding: 30px 24px; }
  .organization-hero { padding-top: 46px; }
  .org-hero-layout { gap: 46px; }
  .org-hero-copy h1 { font-size: clamp(2.65rem, 12vw, 4rem); }
  .org-hero-points { display: grid; }
  .org-hero-visual::before { inset: -10px 12px 10px -10px; border-radius: 28px; }
  .org-hero-visual img { border-radius: 24px; }
  .org-photo-note { right: 12px; bottom: 14px; left: 12px; max-width: none; }
  .org-fit-layout, .org-pilot-layout { gap: 38px; }
  .org-responsibility-flow { padding: 24px 18px; border-radius: 24px; }
  .org-person-lane { grid-template-columns: 1fr; gap: 10px; }
  .person-arrow { transform: rotate(90deg); }
  .person-node { min-height: 124px; }
  .principle-list .principle-card { grid-template-columns: 44px 1fr; gap: 14px; }
  .principle-index { width: 40px; height: 40px; }
  .org-practice-visual img { border-radius: 22px; }
  .pilot-timeline li { gap: 15px; }
  .org-action-grid { grid-template-columns: 1fr; }
  .org-action-card { min-height: 0; }
  .org-action-number { margin-top: 34px; }
  .briefing-tool { border-radius: 24px; }
  .briefing-tool > summary { grid-template-columns: 1fr; gap: 18px; padding: 24px 22px; }
  .briefing-summary-action { justify-content: space-between; }
  .briefing-body { padding-right: 22px; padding-left: 22px; }
  .practice-warning { grid-template-columns: 1fr; gap: 8px; }
  .briefing-prompts ul { grid-template-columns: 1fr; }
  .org-codesign > img { min-height: 320px; border-radius: 22px; object-fit: cover; }
  .org-codesign .page-cta { width: calc(100% - 24px); margin-top: -54px; }
}

@media (max-width: 390px) {
  .brand span { font-size: 0.95rem; }
  .lang { margin-left: 4px; }
  .hero-copy h1 { font-size: 2.65rem; }
  .hero-photo { padding-inline: 20px; }
}
