/* American Vision: a public ledger within the Foundation's editorial system. */
.investment-page { --investment-accent:var(--mineral-blue); }
.investment-page [hidden] { display:none!important; }
.investment-hero { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr); gap:7vw; padding:65px var(--gutter) 85px; border-bottom:1px solid var(--line); align-items:center; }
.investment-back { display:inline-block; margin-bottom:42px; font-size:.86rem; text-underline-offset:5px; }
.investment-back:hover { text-decoration:underline; }
.investment-eyebrow { margin:0 0 25px; font-size:.73rem; font-weight:500; letter-spacing:.13em; text-transform:uppercase; line-height:1.7; }
.investment-hero h1 { font:400 clamp(4.2rem,6.5vw,7.4rem)/.97 var(--display); letter-spacing:-.04em; margin:0 0 30px; }
.investment-hero h1 em,.investment-closing h2 em { color:var(--investment-accent); font-weight:400; }
.investment-deck { font-size:1rem; line-height:1.9; max-width:54ch; margin:0 0 25px; }
.investment-status { color:var(--muted); font-size:.76rem; line-height:1.8; }
.investment-hero .hero-actions { flex-wrap:wrap; margin-top:30px; gap:12px; }
.investment-hero-ledger { padding:35px 0 25px 38px; border-left:1px solid var(--line); min-width:0; }
.investment-hero-ledger .investment-eyebrow { color:var(--muted); }
.investment-total { margin:0; }
.investment-total span { display:block; font:400 clamp(7rem,13vw,14rem)/.83 var(--display); letter-spacing:-.05em; font-variant-numeric:lining-nums; }
.investment-total em { display:block; margin-top:15px; font:400 clamp(2rem,3.5vw,3.7rem)/1.1 var(--display); }
.investment-equation { font-size:1rem; margin:30px 0 28px; }
.investment-installments { display:grid; grid-template-columns:repeat(20,minmax(0,1fr)); gap:5px; border-top:1px solid var(--line); padding-top:20px; }
.investment-installments i { display:block; height:74px; background:var(--investment-accent); opacity:.8; }
.investment-installments span:nth-child(5n) i { opacity:1; }
.investment-installments b { display:block; text-align:center; font-size:.48rem; color:var(--muted); font-weight:400; padding-top:6px; }
.investment-ledger-note { color:var(--muted); font-size:.77rem; line-height:1.75; margin-top:22px; }
.investment-nav { display:flex; flex-wrap:wrap; gap:10px 30px; padding:23px var(--gutter); border-bottom:1px solid var(--line); }
.investment-nav a { font-size:.86rem; padding:8px 0; }
.investment-nav a:hover { color:var(--investment-accent); text-decoration:underline; }
.investment-section { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.3fr); gap:7vw; padding:85px var(--gutter); border-bottom:1px solid var(--line); scroll-margin-top:35px; }
.investment-heading { min-width:0; }
.investment-heading h2 { font:400 clamp(2.7rem,4.15vw,4.9rem)/1.02 var(--display); letter-spacing:-.035em; margin:0; max-width:15ch; }
.investment-body { min-width:0; font-size:1rem; line-height:1.8; }
.investment-body>p { margin:0 0 24px; }
.investment-body a { text-decoration:underline; text-underline-offset:4px; }
.investment-body a:hover { color:var(--investment-accent); }
.investment-lead { font:400 clamp(1.8rem,2.3vw,2.5rem)/1.3 var(--display); }
.investment-note { color:var(--muted); font-size:.84rem; line-height:1.8; }
.investment-section-wide { grid-template-columns:1fr; gap:34px; }
.investment-section-wide .investment-heading { display:grid; grid-template-columns:.75fr 1.3fr; gap:7vw; }
.investment-section-wide .investment-heading h2 { max-width:22ch; }
.investment-section-wide .investment-body>p { max-width:87ch; }
.investment-toolbar { display:flex; justify-content:space-between; align-items:center; gap:24px; margin:38px 0 28px; min-height:64px; }
.investment-view-controls { display:flex; width:max-content; border:1px solid var(--line); }
.investment-view-controls button { appearance:none; border:0; background:transparent; color:var(--ink); padding:13px 23px; cursor:pointer; font-size:.92rem; }
.investment-view-controls button[aria-pressed=true] { background:var(--ink); color:var(--paper); }
.investment-plan-total { text-align:right; margin:0 0 0 auto; }
.investment-plan-total strong { display:block; font:400 2.9rem/1.05 var(--display); letter-spacing:-.02em; }
.investment-plan-total span { font-size:.78rem; color:var(--muted); }
.investment-portfolios { border-bottom:1px solid var(--line); margin-bottom:25px; }
.investment-portfolio { border-top:1px solid var(--line); }
.investment-portfolio summary { display:grid; grid-template-columns:35px minmax(0,1fr) 125px 90px; gap:24px; align-items:center; padding:25px 0; cursor:pointer; list-style:none; }
.investment-portfolio summary::-webkit-details-marker { display:none; }
.investment-row-index { font-size:.8rem; color:var(--muted); }
.investment-row-title { font:400 clamp(1.6rem,2.3vw,2.5rem)/1.15 var(--display); letter-spacing:-.02em; }
.investment-portfolio summary>strong { text-align:right; font:400 clamp(1.8rem,2.4vw,2.6rem)/1 var(--display); font-variant-numeric:tabular-nums; white-space:nowrap; }
.investment-row-share { font-size:.85rem; text-align:right; color:var(--muted); }
.investment-row-share small { display:block; font-size:.72rem; text-decoration:underline; text-underline-offset:3px; }
.investment-portfolio[open] .investment-row-title { color:var(--investment-accent); }
.investment-portfolio-content { padding:3px 0 30px 59px; }
.investment-portfolio-purpose { font:400 1.8rem/1.3 var(--display); max-width:50ch; margin:0 0 25px; }
.investment-portfolio-content dl { display:grid; grid-template-columns:1fr 1fr; gap:25px 45px; margin:0; }
.investment-portfolio-content dt { font-size:.75rem; letter-spacing:.07em; text-transform:uppercase; margin-bottom:9px; color:var(--investment-accent); font-weight:600; }
.investment-portfolio-content dd { font-size:.94rem; line-height:1.8; margin:0; }
.investment-principle { border-left:3px solid var(--investment-accent); padding:3px 0 3px 25px; margin:35px 0 27px; }
.investment-principle h3 { font:400 1.9rem/1.18 var(--display); margin:0 0 16px; }
.investment-principle p { font-size:.95rem; line-height:1.8; margin:0; }
.investment-calculator { background:var(--surface); padding:30px; margin:32px 0 22px; }
.investment-calculator-controls { display:grid; grid-template-columns:1fr 1fr; gap:12px 25px; }
.investment-calculator label { font-size:.85rem; line-height:1.6; align-self:start; }
.investment-calculator label[for=investment-year] { grid-column:1; grid-row:1; }
.investment-calculator input { width:100%; margin:0; height:48px; accent-color:var(--investment-accent); cursor:pointer; grid-column:1; grid-row:2; }
.investment-calculator label[for=investment-inflation] { grid-column:2; grid-row:1; }
.investment-calculator select { grid-column:2; grid-row:2; width:100%; min-height:48px; padding:10px; border:1px solid var(--line); border-radius:0; background:var(--paper); color:var(--ink); font-size:.93rem; }
.investment-calculator output { float:right; font-weight:600; }
.investment-calculator-result { border-top:1px solid var(--line); padding-top:27px; margin-top:27px; }
.investment-calculator-result>span { display:block; font-size:.8rem; line-height:1.7; }
.investment-calculator-result>strong { display:block; font:400 clamp(3.5rem,6vw,6rem)/1.08 var(--display); letter-spacing:-.035em; margin:14px 0; color:var(--investment-accent); }
.investment-calculator-result p { font-size:.85rem; margin:0; line-height:1.8; }
.investment-disclosure { margin:30px 0 0; border-block:1px solid var(--line); }
.investment-disclosure summary { padding:21px 0; font-size:.91rem; font-weight:600; cursor:pointer; }
.investment-disclosure>div { padding:0 0 5px; font-size:.92rem; line-height:1.85; }
.investment-disclosure p { margin:0 0 22px; }
.investment-flow { padding:0; list-style:none; margin:30px 0; }
.investment-flow li { display:grid; grid-template-columns:35px minmax(0,1fr); gap:22px; padding:22px 0; border-top:1px solid var(--line); }
.investment-flow li>span { color:var(--investment-accent); font-size:.8rem; padding-top:5px; }
.investment-flow h3,.investment-protections h3 { font:400 1.9rem/1.15 var(--display); margin:0 0 14px; }
.investment-flow p,.investment-protections p { font-size:.94rem; line-height:1.85; margin:0; }
.investment-protections { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.investment-protections article { border-top:1px solid var(--line); padding-top:22px; }
.investment-gates { margin:35px 0 0; }
.investment-gates>div { border-top:1px solid var(--line); padding:24px 0; }
.investment-gates dt { font:400 1.9rem/1.2 var(--display); margin-bottom:14px; }
.investment-gates dd { margin:0; font-size:.95rem; line-height:1.85; }
.investment-comparison { display:grid; grid-template-columns:1fr 1fr; margin:35px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.investment-comparison>div { padding:25px 20px 15px 0; }
.investment-comparison>div+div { padding-left:25px; border-left:1px solid var(--line); }
.investment-comparison span { font-size:.76rem; text-transform:uppercase; letter-spacing:.06em; }
.investment-comparison strong { display:block; font:400 4.5rem/1 var(--display); letter-spacing:-.03em; margin:20px 0; }
.investment-comparison p { font-size:.87rem; line-height:1.8; margin:0 0 15px; }
.investment-downloads { display:grid; grid-template-columns:1fr 1fr; gap:0 25px; margin:30px 0 35px; }
.investment-downloads a { display:block; text-decoration:none; padding:23px 0; border-top:1px solid var(--line); }
.investment-downloads span { display:block; font:400 1.7rem/1.2 var(--display); margin-bottom:10px; }
.investment-downloads small { display:block; font-size:.76rem; color:var(--muted); line-height:1.7; }
.investment-downloads a:hover span { text-decoration:underline; }
.investment-sources { list-style:none; padding:0; margin:35px 0; }
.investment-sources li { display:grid; grid-template-columns:35px minmax(0,1fr); gap:20px; border-top:1px solid var(--line); padding:22px 0; font-size:.83rem; }
.investment-sources li>span { font-size:.76rem; color:var(--muted); }
.investment-sources a { font-weight:600; }
.investment-sources p { margin:10px 0 0; line-height:1.8; }
.investment-sources p:first-of-type { color:var(--muted); font-size:.76rem; }
.investment-closing { padding:80px var(--gutter) 100px; }
.investment-closing h2 { font:400 clamp(3.7rem,6vw,6.6rem)/1.02 var(--display); letter-spacing:-.035em; margin:25px 0 35px; }
.investment-page :is(button,input,select,summary,a):focus-visible { outline:2px solid var(--investment-accent); outline-offset:5px; }
@media(max-width:1050px) {
  .investment-hero { gap:5vw; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); }
  .investment-hero-ledger { padding-left:25px; }
  .investment-section { gap:5vw; grid-template-columns:minmax(0,.7fr) minmax(0,1.25fr); }
  .investment-section-wide { grid-template-columns:1fr; }
  .investment-section-wide .investment-heading { grid-template-columns:.7fr 1.25fr; gap:5vw; }
  .investment-protections { grid-template-columns:1fr; }
  .investment-installments { gap:3px; }
  .investment-installments b { font-size:.4rem; }
}
@media(max-width:760px) {
  .investment-hero { grid-template-columns:1fr; gap:40px; padding-top:40px; padding-bottom:50px; }
  .investment-back { margin-bottom:30px; }
  .investment-hero h1 { font-size:clamp(3.7rem,11vw,5.7rem); }
  .investment-hero-ledger { border-left:0; border-top:1px solid var(--line); padding:30px 0 0; }
  .investment-total { display:flex; align-items:baseline; gap:20px; }
  .investment-total span { font-size:clamp(7rem,24vw,11rem); }
  .investment-total em { font-size:clamp(2rem,6vw,3rem); }
  .investment-installments { gap:6px; }
  .investment-installments i { height:60px; }
  .investment-installments b { font-size:.55rem; }
  .investment-section,.investment-section-wide .investment-heading { grid-template-columns:1fr; gap:30px; }
  .investment-section { padding-block:55px; }
  .investment-heading h2 { max-width:23ch; font-size:clamp(2.7rem,8vw,3.8rem); }
  .investment-section-wide .investment-heading { gap:0; }
  .investment-nav { gap:3px 22px; padding-block:17px; }
  .investment-nav a { min-height:44px; display:flex; align-items:center; }
  .investment-toolbar { flex-wrap:wrap; align-items:flex-start; gap:24px; }
  .investment-plan-total { margin-left:0; text-align:left; }
  .investment-portfolio summary { grid-template-columns:22px minmax(0,1fr) 80px; gap:12px; padding:23px 0; }
  .investment-portfolio summary>strong { font-size:1.75rem; }
  .investment-row-title { font-size:1.75rem; }
  .investment-row-share { grid-column:2 / 4; text-align:left; display:flex; gap:15px; align-items:baseline; }
  .investment-row-share small { display:inline; }
  .investment-portfolio-content { padding-left:34px; }
  .investment-portfolio-content dl { grid-template-columns:1fr; gap:25px; }
  .investment-portfolio-purpose { font-size:1.7rem; }
  .investment-calculator { padding:23px; }
  .investment-downloads { gap:0 20px; }
  .investment-closing { padding-block:60px; }
}
@media(max-width:400px) {
  .investment-total { gap:12px; }
  .investment-total span { font-size:6.8rem; }
  .investment-total em { font-size:2rem; }
  .investment-installments { gap:4px; }
  .investment-installments b { font-size:.45rem; }
  .investment-view-controls button { padding:13px 19px; }
  .investment-portfolio-content { padding-left:0; }
  .investment-row-title { font-size:1.55rem; }
  .investment-calculator-controls { gap:10px 16px; }
  .investment-downloads { grid-template-columns:1fr; }
  .investment-comparison>div+div { padding-left:17px; }
  .investment-comparison strong { font-size:3.7rem; }
}
@media(prefers-reduced-motion:reduce) { .investment-page * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
@media print { .investment-nav,.investment-view-controls,.investment-calculator-controls,.investment-back { display:none!important; } .investment-section,.investment-hero { display:block; padding:25px 0; } .investment-heading { margin-bottom:25px; } .investment-hero-ledger { border:0; } .investment-page details::details-content { content-visibility:visible; } }
