:root{--navy:#173548;--teal:#12695f;--teal-light:#eaf4f0;--ink:#263d48;--muted:#586c75;--line:#dce5e6;--paper:#f5f7f7;--white:#fff;--amber:#fff6e3}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:var(--teal);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}h1,h2,h3{color:var(--navy);line-height:1.25}h1{font-size:2.25rem;font-weight:650;letter-spacing:-.045em;margin:4px 0 12px}h2{font-size:1.25rem;letter-spacing:-.02em;margin:0 0 16px}h3{font-size:1rem;margin:10px 0}p{margin:0 0 16px}small{font-size:.8rem}.container{max-width:1180px;margin:auto;padding:32px 28px}.demo-banner{background:#e9eef1;text-align:center;color:#394e5c;font-size:.7rem;font-weight:750;letter-spacing:.1em;padding:7px 16px}.demo-banner span{margin-left:14px;font-weight:450;letter-spacing:0}.site-header{background:var(--white);border-bottom:1px solid var(--line)}.header-inner{max-width:1180px;margin:auto;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:14px;color:var(--navy);font-size:1.13rem;font-weight:650;text-decoration:none}.brand small{display:block;font-weight:400;color:var(--muted);font-size:.76rem;margin-top:2px}.brand-mark{border:1px solid #b8ceca;border-radius:50%;width:46px;height:46px;display:grid;place-items:center;color:var(--teal);font-family:Georgia,serif;flex-shrink:0}.account-actions{display:flex;align-items:center;gap:22px;font-size:.82rem}.account-actions form{margin:0}.main-nav{background:var(--white);border-bottom:1px solid var(--line)}.main-nav>div{max-width:1180px;margin:auto;padding:0 28px;display:flex;gap:28px;flex-wrap:wrap}.main-nav a{font-size:.88rem;padding:16px 0 13px;text-decoration:none;color:var(--muted);border-bottom:3px solid transparent}.main-nav a[aria-current]{border-color:var(--teal);font-weight:650;color:var(--teal)}.main-nav .trustee-link{margin-left:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:12px 0 26px}.page-heading>.muted{font-size:.77rem;text-align:right;margin:0}.eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--teal);margin:0 0 8px}.lead{color:var(--muted);font-size:1.05rem;max-width:760px}.update{border-left:3px solid var(--teal);background:#edf4f1;padding:19px 24px;margin-bottom:34px}.update p{margin:7px 0 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}.section-heading h2{margin:0}.section-heading a{font-size:.82rem}.metrics{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:14px;margin-bottom:14px}.metrics.three{grid-template-columns:repeat(3,1fr)}.metric{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:24px 20px;display:flex;flex-direction:column;gap:8px}.metric>span{font-size:.8rem;font-weight:550;color:var(--muted)}.metric>strong{font-size:1.9rem;letter-spacing:-.05em;font-weight:650;font-variant-numeric:tabular-nums;color:var(--navy);line-height:1.3}.metric small{font-size:.7rem;color:var(--muted)}.metric.primary{background:var(--navy);border-color:var(--navy)}.metric.primary>span,.metric.primary>small{color:#d7e6eb}.metric.primary>strong{color:var(--white)}.caption{font-size:.77rem;color:var(--muted)}.two-column{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;margin-top:28px}.card{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:26px;margin-bottom:24px}.two-column>.card{min-width:0}.compact{border-bottom:1px solid var(--line);padding:12px 0}.compact:last-child{border-bottom:0}summary{cursor:pointer;font-weight:550;color:var(--navy)}.compact summary{font-size:.87rem}.compact summary span{float:right;font-size:.8rem;color:var(--muted)}details[open]>summary{margin-bottom:18px}details p{font-size:.85rem}.big-number{font-size:2.4rem;color:var(--navy);letter-spacing:-.045em;margin-bottom:8px}.muted{color:var(--muted)}.facts{margin:18px 0}.facts>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}.facts dt{font-size:.86rem}.facts dt small{display:block;color:var(--muted)}.facts dd{margin:0;font-weight:600;font-size:.9rem;font-variant-numeric:tabular-nums}.personal{display:flex;justify-content:space-between;align-items:center;gap:20px}.personal h2{margin-bottom:9px}.personal p:last-child{margin:0}.site-footer{border-top:1px solid var(--line);font-size:.75rem;color:var(--muted);display:flex;justify-content:space-between;gap:24px;margin-top:20px;padding-top:24px;padding-bottom:36px}.site-footer div{display:flex;gap:20px}.institution-value{font-size:1.4rem;color:var(--navy);font-variant-numeric:tabular-nums;white-space:nowrap}.milestones{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:24px 0 28px}.milestones article{border-left:2px solid var(--line);padding-left:14px}.milestones p{font-size:.78rem;color:var(--muted);margin:0}.status{font-size:.73rem;font-weight:650;color:#6b654c}.status.complete{color:var(--teal)}.deposit{border-top:3px solid #b7ccc5}table{border-collapse:collapse;width:100%;font-size:.85rem}th{text-align:left;color:var(--muted);font-size:.73rem;font-weight:650;background:var(--paper)}td,th{padding:12px;border-bottom:1px solid var(--line)}td small{display:block;color:var(--muted);margin-top:4px}.numeric{text-align:right;font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto}.transfer{border-top:1px solid var(--line);padding-top:18px;font-size:.84rem;margin-top:18px}.transfer small{color:var(--muted)}.spaced{margin-top:32px}.my-portion{background:var(--teal-light);padding:16px;border-radius:6px}.privacy-label{font-size:.75rem;color:var(--teal);background:var(--teal-light);padding:6px 12px;border-radius:4px;display:inline-block}.payment{padding:16px 0;border-bottom:1px solid var(--line)}.payment summary{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.9rem}.payment summary small{display:block;color:var(--muted);font-weight:400;margin-top:3px}.payment summary:before{content:'+';color:var(--teal)}.payment[open] summary:before{content:'−'}.payment summary>span{flex:1}.offset{padding:14px 0;border-bottom:1px solid var(--line);font-size:.85rem}.offset>span{float:right;color:var(--muted)}.offset p{margin:6px 0 0}.notice{background:#edf3f6;border:1px solid #d6e1e7;border-radius:7px;padding:16px 20px;margin-bottom:24px;font-size:.86rem}.notice p{margin:8px 0 0}.notice.error,.error{color:#9e3029}.notice.error{background:#fff0ee;border-color:#e8b8b3}.notice.success{background:var(--teal-light);color:var(--teal)}.notice.preview{background:var(--amber);border-color:#e6d5aa;display:flex;gap:12px;flex-wrap:wrap}.notice.preview span{flex:1}.warning{border-left:3px solid #b08230}.warning li{font-size:.85rem;margin:7px 0}.people{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.person{border:1px solid var(--line);padding:16px;border-radius:6px;text-decoration:none;display:flex;flex-direction:column;gap:4px}.person:hover{background:var(--teal-light)}.person span,.person small{font-size:.75rem;color:var(--muted)}button,.button{display:inline-block;border:1px solid var(--teal);border-radius:5px;background:var(--teal);padding:10px 17px;color:white;font:600 .86rem/1.5 system-ui;cursor:pointer;text-decoration:none;text-align:center}button:hover,.button:hover{background:#0e554d;color:white}.secondary{background:white;color:var(--teal)}.text-button{border:0;background:transparent;color:var(--teal);padding:0;font-weight:400;text-decoration:underline}.text-button:hover{background:transparent;color:var(--navy)}form{margin:16px 0 0}label{font-size:.88rem;display:block;font-weight:550;margin-bottom:8px}select{display:block;width:100%;border:1px solid #a8babe;border-radius:5px;padding:11px;background:white;color:var(--ink);font-size:1rem;margin-bottom:20px}.check{display:flex;align-items:flex-start;gap:10px;margin:20px 0;font-weight:400}.check input{margin-top:5px;width:18px;height:18px;flex-shrink:0;accent-color:var(--teal)}.reading{max-width:800px;margin:20px auto}.reading>p{line-height:1.85}.auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;margin:60px 0}.auth-layout h1{font-size:2.7rem;line-height:1.2;margin:15px 0 24px}.auth-layout .card{margin:0}.auth-layout .card p{font-size:.9rem}.empty{padding:40px;text-align:center}.date-metric{font-size:1.4rem!important}dialog{max-width:460px;border:1px solid var(--line);border-radius:10px;padding:30px;color:var(--ink)}dialog::backdrop{background:#17354880}.skip{position:absolute;left:12px;top:-100px;background:white;padding:10px;z-index:10}.skip:focus{top:12px}:focus-visible{outline:3px solid #c49235;outline-offset:4px}code{overflow-wrap:anywhere}
@media(max-width:900px){.metrics{grid-template-columns:repeat(2,1fr)}.milestones{grid-template-columns:repeat(2,1fr)}.main-nav>div{gap:20px}.auth-layout{gap:30px}.auth-layout h1{font-size:2.2rem}.people{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.container{padding:24px 18px}.header-inner{padding:18px;flex-wrap:wrap}.brand{font-size:1rem}.brand-mark{width:38px;height:38px}.account-actions{gap:20px;margin-left:52px}.demo-banner span{display:block;margin:3px 0 0}.main-nav>div{padding:0 18px;gap:18px}.main-nav a{font-size:.78rem;padding:12px 0 9px}.main-nav .trustee-link{margin-left:0}.page-heading{align-items:flex-start;flex-direction:column;gap:6px}.page-heading>.muted{text-align:left}.page-heading>.muted br{display:none}.page-heading>.muted strong{margin-left:6px}h1{font-size:1.9rem}.metrics,.metrics.three{grid-template-columns:1fr}.metric{padding:20px}.metric>strong{font-size:2rem}.two-column{grid-template-columns:1fr;gap:0}.card{padding:20px}.section-heading{align-items:flex-start;flex-wrap:wrap}.personal{flex-direction:column;align-items:flex-start}.milestones{gap:20px 14px}.institution-value{font-size:1.3rem}.site-footer{flex-direction:column}.auth-layout{grid-template-columns:1fr;gap:28px;margin:20px 0}.auth-layout h1{font-size:2rem}table,tbody,tr,td{display:block}thead{display:none}tr{padding:10px 0;border-bottom:1px solid var(--line)}td{display:flex;justify-content:space-between;gap:16px;text-align:right;border:0;padding:6px 0}td:before{content:attr(data-label);font-size:.75rem;color:var(--muted);text-align:left}td small{display:none}.compact summary span{float:none;display:block;margin:6px 0}.people{grid-template-columns:repeat(2,1fr)}.offset>span{float:none;display:block}}
.source-diff{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.78rem;background:var(--paper);padding:14px;border-radius:5px}
#access-key { display: block; width: 100%; padding: 10px; margin-bottom: 18px; border: 1px solid var(--line); border-radius: 5px; font: inherit; }
.payment-entry { padding: 16px 0; border-bottom: 1px solid var(--line); }
.payment-entry:last-child { border-bottom: 0; }
.payment-row { display: grid; grid-template-columns: 14px 110px minmax(0, 1fr) auto; gap: 12px; align-items: baseline; font-size: .9rem; font-weight: 400; color: var(--ink); }
summary.payment-row { list-style: none; }
summary.payment-row::-webkit-details-marker { display: none; }
summary .payment-toggle::before { content: '+'; color: var(--teal); font-weight: 650; }
details[open] > summary .payment-toggle::before { content: '−'; }
.payment-date { color: var(--muted); white-space: nowrap; }
.payment-description { overflow-wrap: anywhere; }
.payment-amount { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; color: var(--navy); }
.loan-details { margin: 12px 0 0 26px; color: var(--muted); }
@media (max-width: 640px) {
  .payment-row { grid-template-columns: 12px minmax(0, 1fr) auto; gap: 8px; }
  .payment-date { grid-column: 2; grid-row: 1; }
  .payment-amount { grid-column: 3; grid-row: 1; }
  .payment-description { grid-column: 2 / -1; grid-row: 2; }
  .loan-details { margin-left: 20px; }
}
.payment-summary { margin: 0; }
.payment-summary > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.payment-summary dt { font-size: .95rem; }
.payment-summary dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; color: var(--navy); }
.payment-summary > .summary-total { border-top: 2px solid var(--teal); border-bottom: 0; font-weight: 700; }
.payment-summary .summary-total dd { font-size: 1.2rem; }
.summary-caption { margin: 12px 0 0; }
.trust-overview { margin-bottom: 32px; }
.trust-totals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin: 0; }
.trust-totals > div + div { border-left: 1px solid var(--line); padding-left: 32px; }
.trust-totals dt { color: var(--muted); font-size: .86rem; }
.trust-totals dd { margin: 4px 0 0; font-size: 2.4rem; font-weight: 650; letter-spacing: -.045em; color: var(--navy); font-variant-numeric: tabular-nums; }
.trust-totals dd.caption { font-size: .77rem; font-weight: 400; letter-spacing: normal; color: var(--muted); max-width: 430px; }
.panel-links { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 22px; font-size: .85rem; }
.trust-totals dd.summary-links { font-size: .85rem; font-weight: 400; letter-spacing: normal; margin-top: 18px; }
.asset-total { border-top: 3px solid var(--teal); }
.asset-total .section-heading { margin-bottom: 8px; }
.asset-total .big-number, .asset-total .caption { margin: 0; }
.asset-category { margin-top: 36px; }
.category-heading { border-bottom: 1px solid #bdcfce; padding-bottom: 14px; align-items: baseline; flex-wrap: wrap; }
.category-subtotal { margin: 0; display: flex; align-items: baseline; gap: 12px; color: var(--navy); }
.category-subtotal span { font-size: .8rem; color: var(--muted); }
.category-subtotal strong { font-size: 1.25rem; font-variant-numeric: tabular-nums; }
.institution .section-heading h3, .deposit .section-heading h3 { font-size: 1.15rem; margin: 0; }
.institution-status { color: var(--muted); font-size: .85rem; }
.milestones h4 { color: var(--navy); font-size: 1rem; margin: 10px 0; }
.milestones .current-milestone { border-left-color: var(--teal); background: var(--teal-light); border-radius: 3px; padding: 12px 14px; }
.current-milestone .status { color: var(--teal); }
@media (max-width: 640px) {
  .trust-totals { grid-template-columns: 1fr; gap: 20px; }
  .trust-totals > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); padding-top: 20px; }
  .trust-totals dd { font-size: 2rem; }
  .asset-total .big-number { font-size: 2rem; }
}
.access-details { display: grid; grid-template-columns: minmax(150px, 1fr) 2fr; gap: 8px 20px; }
.access-details dt { color: var(--muted); }
.access-details dd { margin: 0; overflow-wrap: anywhere; }
.enrollment-entry form { margin-top: 20px; }
.enrollment-entry label { display: block; margin: 12px 0; }
.enrollment-entry .page-heading { margin-bottom: 16px; }
.enrollment-entry h2 .caption { display: block; margin-top: 6px; }
@media (max-width: 640px) { .access-details { grid-template-columns: 1fr; gap: 4px; } .access-details dd { margin-bottom: 12px; } }
@media print{.demo-banner,.main-nav,.account-actions,button,.button,.site-footer{display:none}body{background:white}.card{border:0}.container{padding:10px}details>*{display:block!important}}
.estimate-details{margin-top:22px}.estimate-rows{margin:16px 0 22px}.payment-estimate .big-number{font-variant-numeric:tabular-nums}.estimate-details p:last-child{margin-bottom:0}
.estimate-table{display:table}.estimate-table thead{display:table-header-group}.estimate-table tbody{display:table-row-group}.estimate-table tfoot{display:table-footer-group}.estimate-table tr{display:table-row}.estimate-table th,.estimate-table td{display:table-cell;padding:12px;vertical-align:top}.estimate-table td:before{content:none}.estimate-table tbody th,.estimate-table tfoot th{background:transparent;color:var(--ink);font-size:inherit;font-weight:400}.estimate-table .numeric{text-align:right}.estimate-table td.numeric{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;white-space:nowrap;width:1%}.estimate-table tfoot th,.estimate-table tfoot td{border-top:2px solid var(--line);font-weight:700;color:var(--navy)}
@media(max-width:640px){.estimate-table{font-size:.8rem}.estimate-table th,.estimate-table td{padding:10px 5px}.payment-estimate .big-number{font-size:2rem}}
.news-entry{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.news-date{font-size:.8rem;color:var(--muted)}.news-description{line-height:1.6}
@media(max-width:640px){.news-entry{grid-template-columns:minmax(0,1fr);gap:4px;padding:14px 0}}
.future-expenses td small{display:block}.future-expense-total{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:16px;font-size:.88rem;font-variant-numeric:tabular-nums}
