@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Manrope:wght@500;600&display=swap');

:root {
  --navy: #101815;
  --forest: #174f36;
  --forest-2: #246647;
  --ivory: #f7f7f3;
  --paper: #ffffff;
  --mist: #eef1ed;
  --line: #d9ded9;
  --text: #17201b;
  --muted: #657069;
  --muted-2: #88908a;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background: var(--paper);
  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
.shell { width: min(calc(100% - 48px), var(--max)); margin: 0 auto; }

.utility { background: var(--navy); color: rgba(255,255,255,.72); }
.utility-inner { min-height: 36px; display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:11px; }
.utility-group { display:flex; gap:20px; }
.utility a { color:#fff; font-weight:500; }

.site-header { position:sticky; top:0; z-index:40; background:rgba(255,255,255,.96); backdrop-filter:blur(14px); border-bottom:1px solid rgba(23,32,27,.08); }
.header-inner { height:74px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.wordmark { display:flex; align-items:center; gap:11px; font-family:Manrope,sans-serif; font-weight:600; letter-spacing:-.035em; font-size:16px; }
.wordmark-symbol { width:34px; height:34px; border:1px solid #aebbb2; border-radius:4px; display:grid; place-items:center; color:var(--forest); font-size:12px; }
.site-nav { display:flex; align-items:center; gap:28px; }
.site-nav a { color:#48534c; font-size:13px; }
.site-nav a:hover, .site-nav a.active { color:var(--forest); }
.header-actions { display:flex; align-items:center; gap:8px; }
.menu-button { display:none; width:42px; height:42px; border:1px solid var(--line); background:#fff; border-radius:4px; }
.menu-button span { display:block; width:17px; height:1px; background:var(--text); margin:4px auto; }

.button { min-height:42px; padding:0 16px; display:inline-flex; align-items:center; justify-content:center; border:1px solid transparent; border-radius:3px; font-size:12px; font-weight:600; transition:.2s ease; cursor:pointer; }
.button:hover { transform:translateY(-1px); }
.button-primary { background:var(--forest); color:#fff; }
.button-primary:hover { background:var(--forest-2); }
.button-secondary { background:#fff; border-color:var(--line); color:var(--text); }
.button-dark { background:var(--navy); color:#fff; }

.hero-bank { background:var(--ivory); border-bottom:1px solid var(--line); }
.hero-bank-inner { min-height:590px; display:grid; grid-template-columns:1fr 1fr; }
.hero-bank-copy { padding:92px 72px 82px 0; display:flex; flex-direction:column; justify-content:center; }
.hero-bank-visual { border-left:1px solid var(--line); padding:52px 0 52px 52px; display:flex; align-items:center; }
.hero-label { color:var(--forest); text-transform:uppercase; letter-spacing:.15em; font-size:10px; font-weight:600; }
h1 { margin:18px 0 0; max-width:11ch; font-family:Manrope,sans-serif; font-size:clamp(38px,4.7vw,58px); line-height:1.08; letter-spacing:-.055em; font-weight:500; }
.hero-bank-copy > p { max-width:570px; margin:23px 0 0; color:var(--muted); font-size:15px; line-height:1.85; }
.hero-buttons { display:flex; gap:8px; flex-wrap:wrap; margin-top:30px; }
.hero-footnote { margin-top:13px; color:var(--muted-2); font-size:11px; }
.hero-values { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:43px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.hero-value { padding:15px 18px 15px 0; }
.hero-value + .hero-value { padding-left:18px; border-left:1px solid var(--line); }
.hero-value strong { display:block; font-family:Manrope; font-size:13px; font-weight:600; }
.hero-value span { display:block; margin-top:5px; color:var(--muted); font-size:10px; line-height:1.55; }

.system-frame { width:100%; border:1px solid #29352e; background:var(--navy); color:#fff; }
.system-bar { height:48px; padding:0 16px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.10); color:rgba(255,255,255,.62); font-size:10px; }
.system-live::before { content:''; display:inline-block; width:6px; height:6px; margin-right:7px; background:#65c987; border-radius:50%; }
.system-content { padding:16px; display:grid; grid-template-columns:1.22fr .78fr; gap:10px; }
.system-card { padding:17px; border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.025); }
.system-card h3 { margin:0; font-family:Manrope; font-size:13px; font-weight:500; }
.system-card small { display:block; margin-top:4px; color:rgba(255,255,255,.48); font-size:9px; }
.system-chart { height:230px; margin-top:16px; position:relative; border:1px solid rgba(255,255,255,.08); background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:100% 25%,25% 100%; }
.system-chart svg { position:absolute; inset:24px 12px 16px; width:calc(100% - 24px); height:calc(100% - 40px); }
.system-metrics { display:grid; gap:8px; margin-top:16px; }
.system-metric { padding:14px; border:1px solid rgba(255,255,255,.09); }
.system-metric strong { display:block; font-family:Manrope; font-size:20px; font-weight:500; letter-spacing:-.04em; }
.system-metric span { display:block; margin-top:5px; color:rgba(255,255,255,.48); font-size:9px; }
.system-list { grid-column:1/-1; }
.system-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 0; border-top:1px solid rgba(255,255,255,.08); font-size:10px; }
.system-row:first-of-type { margin-top:10px; }
.system-row span { color:rgba(255,255,255,.50); }
.system-state { padding:4px 7px; border:1px solid rgba(101,201,135,.22); color:#8ddeaa!important; }

.trust-line { border-bottom:1px solid var(--line); }
.trust-line-inner { min-height:96px; display:grid; grid-template-columns:1.5fr repeat(3,1fr); }
.trust-intro, .trust-stat { display:flex; flex-direction:column; justify-content:center; padding:18px 22px; }
.trust-intro { padding-left:0; }
.trust-stat { border-left:1px solid var(--line); }
.trust-intro strong, .trust-stat strong { font-family:Manrope; font-size:13px; font-weight:600; }
.trust-intro span, .trust-stat span { margin-top:5px; color:var(--muted); font-size:10px; line-height:1.5; }

.content-section { padding:88px 0; }
.content-section.muted { background:var(--ivory); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.section-heading { max-width:690px; margin-bottom:38px; }
.section-kicker { color:var(--forest); text-transform:uppercase; letter-spacing:.15em; font-size:10px; font-weight:600; }
h2 { margin:13px 0 0; font-family:Manrope; font-size:clamp(28px,3.3vw,41px); line-height:1.14; letter-spacing:-.05em; font-weight:500; }
.section-heading p, .split-text > p { margin:16px 0 0; color:var(--muted); line-height:1.85; font-size:13px; }

.institution-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.institution-card { min-height:260px; padding:27px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
.institution-card.dark { background:var(--navy); color:#fff; }
.institution-index { color:var(--muted-2); font-size:9px; letter-spacing:.12em; }
.institution-card h3 { margin:58px 0 0; font-family:Manrope; font-size:18px; line-height:1.35; letter-spacing:-.035em; font-weight:500; }
.institution-card p { margin:11px 0 0; color:var(--muted); font-size:12px; line-height:1.75; }
.institution-card.dark p { color:rgba(255,255,255,.58); }
.institution-card a { display:inline-flex; margin-top:20px; color:var(--forest); font-size:11px; font-weight:600; }
.institution-card.dark a { color:#83d5a0; }
.institution-card a::after { content:'→'; margin-left:7px; }

.split-section { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:center; }
.feature-list { display:grid; gap:12px; margin-top:24px; }
.feature-list div { display:flex; align-items:flex-start; gap:10px; color:#455047; font-size:12px; line-height:1.65; }
.feature-list div::before { content:''; width:5px; height:5px; margin-top:7px; flex:0 0 auto; background:var(--forest); }
.operation-screen { border:1px solid var(--line); background:#fff; }
.operation-bar { height:41px; display:flex; align-items:center; gap:5px; padding:0 13px; border-bottom:1px solid var(--line); }
.operation-dot { width:6px; height:6px; border:1px solid #abb4ad; border-radius:50%; }
.operation-body { padding:19px; }
.operation-head, .operation-row { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.operation-head { padding-bottom:15px; border-bottom:1px solid var(--line); }
.operation-title { font-size:11px; font-weight:600; }
.operation-sub { margin-top:4px; color:var(--muted-2); font-size:9px; }
.operation-pill { padding:5px 7px; border:1px solid #cde0d2; color:var(--forest); font-size:8px; }
.operation-chart { height:150px; display:flex; align-items:flex-end; gap:7px; padding:23px 0 13px; border-bottom:1px solid var(--line); }
.operation-bar-item { flex:1; background:var(--forest); opacity:.82; }
.operation-row { padding:13px 0; border-bottom:1px solid var(--line); }
.operation-row:last-child { border:0; }
.operation-value { font-size:10px; font-weight:600; }

.ecosystem { border:1px solid var(--line); padding:28px; background:#fff; }
.ecosystem-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:8px; margin-top:22px; }
.ecosystem-item { min-height:62px; display:grid; place-items:center; border:1px solid var(--line); background:var(--ivory); color:#3d4840; font-family:Manrope; font-size:10px; font-weight:600; text-align:center; }

.price-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.price-card { min-height:470px; padding:28px; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
.price-card.featured { background:#f2f6f2; }
.price-card.dark { background:var(--navy); color:#fff; }
.price-label { color:var(--forest); text-transform:uppercase; letter-spacing:.14em; font-size:9px; font-weight:600; }
.dark .price-label { color:#83d5a0; }
.price-value { margin-top:22px; font-family:Manrope; font-size:30px; letter-spacing:-.05em; font-weight:500; }
.price-value small { color:var(--muted); font-family:Inter; font-size:10px; letter-spacing:0; }
.dark .price-value small { color:rgba(255,255,255,.45); }
.price-card > p { min-height:55px; margin:13px 0 0; color:var(--muted); font-size:11px; line-height:1.7; }
.dark > p { color:rgba(255,255,255,.55); }
.price-list { display:grid; gap:10px; margin:24px 0 28px; }
.price-list div { display:flex; gap:8px; color:#48524b; font-size:10px; line-height:1.55; }
.dark .price-list div { color:rgba(255,255,255,.70); }
.price-list div::before { content:'—'; color:var(--forest); }
.price-card .button { margin-top:auto; }

.final-cta { padding:38px 0 80px; }
.final-cta-box { padding:42px; display:flex; align-items:center; justify-content:space-between; gap:38px; border:1px solid var(--line); background:var(--ivory); }
.final-cta-box h2 { max-width:660px; margin:0; }
.final-cta-box p { margin:12px 0 0; color:var(--muted); font-size:12px; }
.final-actions { display:flex; gap:8px; flex-wrap:wrap; }

.site-footer { padding:52px 0 25px; background:var(--navy); color:#fff; }
.footer-grid { display:grid; grid-template-columns:1.5fr .75fr .75fr 1fr; gap:40px; }
.site-footer .wordmark-symbol { border-color:rgba(255,255,255,.32); color:#fff; }
.footer-description { max-width:330px; margin-top:17px; color:rgba(255,255,255,.55); font-size:11px; line-height:1.75; }
.site-footer h4 { margin:0 0 15px; font-family:Manrope; font-size:11px; font-weight:600; }
.site-footer ul { list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.site-footer li, .site-footer a { color:rgba(255,255,255,.58); font-size:10px; line-height:1.6; }
.site-footer a:hover { color:#fff; }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:42px; padding-top:18px; border-top:1px solid rgba(255,255,255,.09); color:rgba(255,255,255,.38); font-size:9px; }
.footer-legal { display:flex; gap:15px; flex-wrap:wrap; }

.floating-contact { position:fixed; right:17px; bottom:17px; z-index:30; display:grid; gap:7px; }
.floating-link { width:43px; height:43px; display:grid; place-items:center; background:var(--forest); color:#fff; border-radius:3px; font-size:9px; font-weight:600; box-shadow:0 12px 26px rgba(23,79,54,.20); }
.floating-link.call { background:var(--navy); }

.mobile-action-bar { display:none; }

.assurance-grid { display:grid; grid-template-columns:1.1fr repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.assurance-intro, .assurance-item { min-height:180px; padding:25px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
.assurance-intro { background:var(--navy); color:#fff; }
.assurance-intro h3, .assurance-item h3 { margin:0; font-family:Manrope; font-size:16px; font-weight:500; letter-spacing:-.03em; }
.assurance-intro p { margin:11px 0 0; color:rgba(255,255,255,.56); font-size:10px; line-height:1.75; }
.assurance-item span { display:block; color:var(--forest); text-transform:uppercase; letter-spacing:.13em; font-size:8px; font-weight:600; }
.assurance-item h3 { margin-top:34px; }
.assurance-item p { margin:9px 0 0; color:var(--muted); font-size:10px; line-height:1.7; }

.support-band { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); background:#fff; }
.support-copy { padding:38px; }
.support-copy + .support-copy { border-left:1px solid var(--line); }
.support-copy h3 { margin:0; font-family:Manrope; font-size:21px; font-weight:500; letter-spacing:-.04em; }
.support-copy p { margin:12px 0 0; color:var(--muted); font-size:11px; line-height:1.8; }
.support-copy .button { margin-top:22px; }

.faq-list { border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item summary { position:relative; padding:20px 36px 20px 0; list-style:none; cursor:pointer; font-family:Manrope; font-size:13px; font-weight:500; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:'+'; position:absolute; right:3px; top:18px; color:var(--forest); font-size:18px; font-weight:400; }
.faq-item[open] summary::after { content:'−'; }
.faq-item p { max-width:820px; margin:0; padding:0 40px 20px 0; color:var(--muted); font-size:10px; line-height:1.8; }

.page-intro { padding:76px 0 62px; background:var(--ivory); border-bottom:1px solid var(--line); }
.breadcrumb { margin-bottom:20px; color:var(--muted-2); font-size:10px; }
.page-intro h1 { max-width:15ch; font-size:clamp(36px,4.5vw,54px); }
.page-intro p { max-width:660px; margin:20px 0 0; color:var(--muted); font-size:14px; line-height:1.85; }

.detail-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.detail-card { min-height:230px; padding:27px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
.detail-card h3 { margin:34px 0 0; font-family:Manrope; font-size:17px; font-weight:500; letter-spacing:-.03em; }
.detail-card p { margin:10px 0 0; color:var(--muted); font-size:11px; line-height:1.75; }
.detail-card .institution-index { display:block; }

.process-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.process-step { min-height:190px; padding:24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.process-step strong { display:block; color:var(--forest); font-family:Manrope; font-size:11px; }
.process-step h3 { margin:32px 0 0; font-family:Manrope; font-size:15px; font-weight:500; }
.process-step p { margin:9px 0 0; color:var(--muted); font-size:10px; line-height:1.7; }

.contact-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:28px; align-items:start; }
.contact-stack { display:grid; gap:10px; }
.contact-box { padding:24px; border:1px solid var(--line); background:#fff; }
.contact-box label { display:block; color:var(--muted-2); text-transform:uppercase; letter-spacing:.13em; font-size:9px; font-weight:600; }
.contact-box strong, .contact-box a.contact-main { display:block; margin-top:10px; font-family:Manrope; font-size:18px; font-weight:500; letter-spacing:-.03em; }
.contact-box p { margin:9px 0 0; color:var(--muted); font-size:10px; line-height:1.7; }
.form-panel { padding:30px; border:1px solid var(--line); background:#fff; }
.form-panel h2 { margin-top:0; font-size:28px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; margin-top:25px; }
.field { display:grid; gap:7px; }
.field.full { grid-column:1/-1; }
.field label { color:#4c574f; font-size:10px; font-weight:600; }
.control { width:100%; min-height:45px; padding:0 12px; border:1px solid var(--line); border-radius:0; background:#fff; color:var(--text); outline:none; }
textarea.control { min-height:130px; padding-top:12px; resize:vertical; }
.control:focus { border-color:#8ba394; }
.consent { display:flex; align-items:flex-start; gap:8px; color:var(--muted); font-size:9px; line-height:1.6; }
.form-status { display:none; padding:11px; border:1px solid #cbded1; color:var(--forest); background:#f1f7f2; font-size:10px; }
.form-status.show { display:block; }

.legal-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:52px; align-items:start; }
.legal-menu { position:sticky; top:100px; border-top:1px solid var(--line); }
.legal-menu a { display:block; padding:11px 0; border-bottom:1px solid var(--line); color:var(--muted); font-size:10px; }
.legal-copy { max-width:820px; }
.legal-date { display:inline-block; margin-bottom:22px; color:var(--muted-2); font-size:9px; }
.legal-copy h2 { margin:34px 0 10px; font-size:20px; letter-spacing:-.035em; }
.legal-copy h2:first-of-type { margin-top:0; }
.legal-copy p, .legal-copy li { color:#5d6860; font-size:11px; line-height:1.85; }
.legal-copy ul { padding-left:18px; }

@media(max-width:980px){
  .site-nav { display:none; position:absolute; top:74px; left:0; right:0; padding:22px 24px; background:#fff; border-bottom:1px solid var(--line); flex-direction:column; align-items:flex-start; }
  .site-nav.open { display:flex; }
  .menu-button { display:block; }
  .header-actions .button-secondary { display:none; }
  .hero-bank-inner, .split-section, .contact-layout, .support-band { grid-template-columns:1fr; }
  .hero-bank-copy { padding-right:0; }
  .hero-bank-visual { padding:0 0 62px; border-left:0; }
  .trust-line-inner { grid-template-columns:repeat(3,1fr); }
  .trust-intro { grid-column:1/-1; padding-left:22px; border-bottom:1px solid var(--line); }
  .ecosystem-grid { grid-template-columns:repeat(3,1fr); }
  .footer-grid { grid-template-columns:repeat(2,1fr); }
  .process-grid { grid-template-columns:repeat(2,1fr); }
  .assurance-grid { grid-template-columns:repeat(2,1fr); }
  .assurance-intro { grid-column:1/-1; }
  .support-copy + .support-copy { border-left:0; border-top:1px solid var(--line); }
  .legal-layout { grid-template-columns:1fr; }
  .legal-menu { position:static; }
}

@media(max-width:680px){
  .shell { width:min(calc(100% - 24px),var(--max)); }
  .utility-group span:not(:first-child), .utility-inner > a { display:none; }
  .header-inner { height:66px; }
  .site-nav { top:66px; }
  .header-actions .button-primary { display:none; }
  .hero-bank-copy { padding:48px 0 34px; }
  .hero-bank-inner { min-height:auto; }
  .hero-bank-visual { padding-bottom:44px; }
  h1 { max-width:12ch; font-size:38px; line-height:1.08; }
  .hero-bank-copy > p { font-size:13px; line-height:1.75; }
  .hero-buttons { display:grid; grid-template-columns:1fr; gap:8px; }
  .hero-buttons .button { width:100%; min-width:0; }
  .hero-values, .system-content, .trust-line-inner, .institution-grid, .detail-grid, .process-grid, .price-grid, .footer-grid, .form-grid, .assurance-grid { grid-template-columns:1fr; }
  .hero-values { margin-top:30px; }
  .hero-value + .hero-value { padding-left:0; border-left:0; border-top:1px solid var(--line); }
  .system-list { grid-column:auto; }
  .system-chart { height:180px; }
  .system-card { padding:14px; }
  .trust-intro { grid-column:auto; }
  .assurance-intro { grid-column:auto; }
  .trust-stat { border-left:0; border-top:1px solid var(--line); }
  .content-section { padding:62px 0; }
  .section-heading { margin-bottom:30px; }
  h2 { font-size:30px; }
  .ecosystem { padding:18px; }
  .ecosystem-grid { grid-template-columns:repeat(2,1fr); }
  .ecosystem-item { min-height:54px; font-size:9px; }
  .institution-card { min-height:220px; padding:23px; }
  .institution-card h3 { margin-top:42px; }
  .support-copy { padding:28px; }
  .faq-item summary { padding-right:32px; font-size:12px; }
  .final-cta-box { padding:28px; flex-direction:column; align-items:flex-start; }
  .footer-bottom { flex-direction:column; align-items:flex-start; }
  .floating-contact { display:none; }
  .mobile-action-bar { position:fixed; left:0; right:0; bottom:0; z-index:50; display:grid; grid-template-columns:1fr 1fr; gap:1px; padding:8px 12px calc(8px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.96); backdrop-filter:blur(14px); border-top:1px solid var(--line); }
  .mobile-action-bar .button { width:100%; }
  body { padding-bottom:62px; }
}
