/* Dividend Atlas — The Compounding Notebook. */
:root{--ink:#203e35;--muted:#697268;--paper:#f3efe5;--green:#38664c;--lime:#edc694;--line:#d9d6c9;--white:#fffdf7;--blue:#8b9bb9;--radius:12px;--copper:#a65232;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace}
body{background:radial-gradient(#47613e0b .65px,transparent .65px) 0 0/5px 5px,var(--paper)}
.site-header{max-width:1280px;padding:25px 40px;gap:64px;border-bottom:1px solid #203e3540}
.brand{font-family:Georgia,"Times New Roman",serif;font-size:27px;font-weight:700;letter-spacing:-1.2px}.brand>span:last-child{font-style:italic}.brand-mark{border-radius:50%;width:36px;height:36px;margin-right:12px;background:var(--ink)}.brand-mark i{background:#edc694}
.site-header nav{gap:28px;font-size:12px}.site-header nav .active{position:relative}.site-header nav .active:after{content:"";position:absolute;height:3px;width:16px;background:var(--copper);bottom:-5px;left:0}.header-note{font-family:var(--mono);font-size:9px;letter-spacing:1.4px}
main{max-width:1240px;padding:0 40px}.hero{padding:48px 0 36px;gap:32px}.hero .eyebrow{color:var(--copper);font:10px/1.5 var(--mono);letter-spacing:1.5px}.dot{background:var(--copper)}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,5.1vw,68px);letter-spacing:-2.7px;line-height:1.02;color:var(--ink)}
.hero-subline{display:block;color:var(--ink);font-size:.58em;letter-spacing:-1.2px;margin-top:13px;line-height:1.2}.hero-subline em{font-weight:400;color:var(--copper)}
.intro{font-size:14px;line-height:1.7;max-width:540px;margin-top:17px}.hero-note{display:block;position:relative;margin:0 14px 0 0;flex:0 0 225px;text-align:center;transform:rotate(-3deg)}.growth-sketch{width:225px;height:140px;display:block}.hero-note p{font:italic 19px/1.35 Georgia,serif;color:var(--ink);margin:5px 0}.hero-note strong{font-weight:400}.sketch-caption{font:9px var(--mono);letter-spacing:.2px;color:var(--copper)}
.panel{background:var(--white);border-color:var(--line);box-shadow:0 3px 0 #203e3504}.calculator-tools{border-radius:8px;border-block:1px solid #203e352c;background:#ebe8dc;box-shadow:none;margin-bottom:20px}.calculator-toolbar{padding:7px 13px}.calculator-toolbar button{font-size:11px;min-height:42px;border-radius:5px}.calculator-toolbar button:hover{background:#fffdf7}.calculator-toolbar button[aria-expanded=true]{background:#fffdf7;border-color:#c8cdbd}.quick-actions{border-color:#cccdbf}#saved-count{background:#dfdfce;color:#43574b;font:10px var(--mono)}.tool-feedback,.tool-drawer{background:var(--white)}
.calculator-grid{grid-template-columns:360px minmax(0,1fr);gap:20px}.input-panel{padding:26px;background:linear-gradient(135deg,#fffdf7,#fdfaf1)}.section-index{font:9px/1.5 var(--mono);letter-spacing:1.5px;color:var(--copper);margin:0 0 14px}.input-panel h2{font-family:Georgia,serif;font-size:21px;line-height:1.25;font-weight:400;letter-spacing:-.5px;max-width:235px}.text-button{font-size:10px;color:#686b5e;white-space:nowrap}.input-panel>.small{font-size:11px;line-height:1.7;margin:12px 0 0}
.mode-picker{border:0;background:#ecebdf;padding:4px;margin-top:20px;border-radius:6px}.mode-picker label{border-radius:4px;padding:11px 6px;font-size:11px}.mode-picker label:has(:checked){background:var(--ink);box-shadow:0 2px 4px #203e351a}.field{margin-top:20px}.field label,.field-row label{font-size:11px;font-weight:600;line-height:1.55}.input-wrap,.field>input,select{background:#fffef9;border-color:#cfd3c4;border-radius:6px;min-height:47px;transition:border-color .15s,box-shadow .15s}.input-wrap input{font:500 18px/1.3 var(--mono)}.field>input{font-family:var(--mono);font-size:15px}.field select{font-size:12px}.input-wrap:focus-within,.field>input:focus,select:focus{border-color:var(--copper);box-shadow:0 0 0 3px #a6523210}.field input[type=number]::selection{background:#efcca7}.input-wrap .suffix{font-size:11px}.field-hint{color:#687162;line-height:1.6}.switch-row{border-inline:0;border-block:1px dashed var(--line);padding-block:20px}.switch-row strong{font-size:12px}.switch-row small{font-size:10px}.switch-row input:checked+.switch{background:var(--copper)}.advanced summary{font-size:12px;padding:5px 0}.assumption-strip{background:#ececdf;border-radius:5px;font-family:var(--mono);font-size:9px;line-height:1.8}.input-footer{font-size:10px}
.summary-panel{position:relative;isolation:isolate;background:#203e35;padding:27px 30px 0;border-radius:12px;box-shadow:0 5px 0 #c6cabc;overflow:hidden}.summary-panel:before{content:"";position:absolute;z-index:-1;width:400px;height:400px;right:-145px;top:-210px;border-radius:50%;border:1px solid #edc69416;box-shadow:0 0 0 32px #edc69406,0 0 0 64px #edc69405,0 0 0 96px #edc69404;pointer-events:none}.summary-panel .section-index{color:#edc694;font-size:9px;margin-bottom:18px}.result-top .eyebrow{font:9px/1.6 var(--mono);letter-spacing:1px;color:#d0d8c8}.model-badge{font:8px var(--mono);border-color:#c0ceaa55;color:#f3d5ac;border-radius:3px}.result-number{font-family:Georgia,serif;font-size:clamp(44px,4.8vw,66px);letter-spacing:-2.3px;font-weight:400;margin-top:15px;line-height:1.12;color:#fffdf3}.result-number .cents{color:#becbb9;font-size:.52em}.result-caption{font-size:11px;color:#c4cebf}.result-divider{background:#dce5cd28;margin:21px 0 18px}.summary-metrics{gap:18px}.summary-metrics>div>span{font-size:10px;color:#c1cfbc}.summary-metrics strong{font:400 22px/1.3 Georgia,serif;letter-spacing:-.3px}.summary-metrics>div:last-child strong{color:#f0cea2}.income-strip{border-color:#dce5cd28;margin-top:20px;padding-top:16px}.income-strip span{font-size:10px;color:#c1cfbc}.income-strip strong{font:400 23px/1.3 Georgia,serif;margin-top:6px}.income-footnote{font-size:10px;line-height:1.8;color:#bfccb9;max-width:620px}.summary-bottom{background:#18352d;margin:22px -30px 0;padding:10px 30px;font:9px/1.5 var(--mono);color:#bfcab9}.status-dot{background:#edc694}.edit-inputs{font-family:var(--mono);font-size:10px;line-height:1.5;color:#f0cea2}.real-value{color:#f0cea2;font:11px/1.6 var(--mono)}
.chart-panel{padding:25px 28px;background:#fffdf8}.chart-panel .eyebrow{font:9px var(--mono);letter-spacing:1.2px;color:var(--copper);margin-bottom:10px}.chart-panel h2{font:400 23px/1.25 Georgia,serif;letter-spacing:-.5px}.chart-years{font:10px var(--mono);border-radius:3px;background:#f0eee3}.legend{font-size:10px;margin-top:21px;gap:16px}.chart{height:207px;margin-top:10px}.chart text{fill:#687465}.chart-tooltip{background:#fffdf7;border-color:#a3b49b;border-radius:6px;box-shadow:3px 4px 0 #d4d9c5}.chart-tooltip>strong{font:italic 17px Georgia,serif}.chart-tooltip dd{font-family:var(--mono);font-size:10px}.year-explorer{border-radius:6px;background:#eeeede;padding:13px;margin-bottom:18px}.year-explorer label{font:10px var(--mono)}.year-explorer input{accent-color:var(--copper)}.year-explorer>div{font-size:10px}.chart-hint{font-size:10px}.comparison-callout{border-top:1px dashed #cbd0bd}.callout-icon{background:#edd9bd;color:#965031;border-radius:50%;width:35px;height:35px}.comparison-callout strong{font-size:12px}.comparison-callout p{font-size:10px}
.goal-panel{padding:32px;margin-top:30px;border-top:3px solid var(--copper);background:#ede7d8;gap:64px}.goal-panel .eyebrow{font:9px var(--mono);color:var(--copper)}.goal-panel h2{font:400 32px/1.15 Georgia,serif;letter-spacing:-.7px;max-width:360px}.goal-panel .small{font-size:12px;line-height:1.8;max-width:365px}.goal-result strong{font:400 36px Georgia,serif}.goal-controls>button{border-radius:5px;background:var(--ink);transition:background .15s}.goal-controls>button:hover:not(:disabled){background:#365e4b}.save-controls button,.saved-card button{border-radius:5px}.saved-card{background:#f8f5eb;border-radius:7px}.saved-card strong{font-family:Georgia,serif;font-weight:400}.table-scroll{border-radius:6px}thead{background:#eeebdf}tbody tr:last-child{background:#e9efdd}
.calculator-guide{padding:66px 0;max-width:850px}.calculator-guide .eyebrow{font:9px var(--mono);color:var(--copper);letter-spacing:1.4px}.calculator-guide>h2{font-size:40px;letter-spacing:-1px;margin-top:15px}.calculator-guide p,.calculator-guide li{color:#4d5b4e;font-size:16px;line-height:1.9}.guide-contents{border-block:1px solid #bfc6b2;gap:10px 25px}.guide-contents a{font:11px/1.6 var(--mono);color:var(--copper);text-underline-offset:5px}.guide-sections{counter-reset:chapter}.guide-sections>section{counter-increment:chapter;position:relative;margin-top:32px;padding-top:30px}.guide-sections>section:before{content:"0" counter(chapter);display:block;font:11px var(--mono);letter-spacing:1px;color:var(--copper);margin-bottom:12px}.guide-sections h2{font-size:30px}.guide-sections h3{font-size:18px}.guide-example{border-radius:6px;background:#fffdf7}.guide-example caption{background:#eeeade}.guide-sections ol{padding-left:28px}.guide-sections li::marker{font:13px var(--mono);color:var(--copper)}footer{border-top:1px solid #203e3540;padding-block:28px;max-width:1240px}footer .brand{font-size:23px}footer p{font:italic 13px Georgia,serif}footer>span{font:9px/1.6 var(--mono)}.mobile-result{background:#203e35f8;border-color:#6d8167;border-radius:8px}.mobile-result strong{font-family:Georgia,serif;font-size:22px}
@media(min-width:1500px){.hero{padding-top:54px;padding-bottom:40px}}
@media(max-width:1000px){main{padding-inline:28px}.calculator-grid{grid-template-columns:320px minmax(0,1fr)}.hero-note{flex-basis:185px;margin-right:0}.growth-sketch{width:185px;height:125px}.hero h1{font-size:50px}.hero-subline{font-size:31px}.summary-panel{padding:24px 22px 0}.summary-bottom{margin-inline:-22px;padding-inline:22px}.result-number{font-size:48px}.input-panel{padding:22px}.chart-panel{padding:24px 20px}.chart-panel h2{font-size:20px}.goal-panel{gap:30px}.site-header{gap:40px}.header-note{display:none}}
@media(max-width:760px) and (min-width:681px){.hero-note{display:none}.calculator-grid{grid-template-columns:290px minmax(0,1fr)}.summary-metrics{grid-template-columns:1fr 1fr}.result-number{font-size:43px}.input-panel{padding:20px}.chart-panel h2{font-size:19px}}
@media(max-width:680px){.site-header{padding:18px 20px;gap:15px}.site-header .brand{font-size:24px}.brand-mark{width:30px;height:30px}.site-header nav{gap:12px;font-size:10px}.site-header nav a{padding:6px 0}.hero-note{display:none}main{padding-inline:18px}.hero{padding:27px 0 25px;gap:0}.hero .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:13px}.hero h1{font-size:40px;letter-spacing:-1.8px}.hero-subline{font-size:24px;margin-top:8px;letter-spacing:-.7px}.intro{font-size:12px;line-height:1.7;margin-top:12px;max-width:330px}.mobile-start{color:var(--copper);border-color:var(--copper);font-size:11px;margin-top:8px}.calculator-toolbar{padding:6px 9px}.calculator-toolbar button{font-size:10px}.calculator-grid{display:flex;gap:17px}.input-panel{padding:23px}.input-panel h2{font-size:23px}.input-panel .section-index{margin-bottom:10px}.summary-panel{padding:23px 22px 0}.summary-panel .section-index{margin-bottom:14px}.result-number{font-size:49px;margin-top:14px}.result-top .eyebrow{font-size:8px}.summary-metrics strong{font-size:23px}.summary-metrics>div:last-child strong{font:22px Georgia,serif}.summary-metrics>div>span{font-size:10px}.summary-bottom{margin-inline:-22px;padding-inline:22px;font-size:8px}.income-footnote{font-size:10px}.income-strip strong{font-size:22px}.income-strip span{font-size:10px}.field label,.field-row label{font-size:12px}.field input,.field>input{font-size:16px;min-height:46px}.input-wrap input{font-size:18px}.field select{font-size:16px}.field-hint{font-size:11px}.mode-picker label{font-size:12px}.advanced summary{font-size:13px}.assumption-strip{font-size:10px}.chart-panel{padding:23px 20px}.chart-panel h2{font-size:22px}.chart{height:215px}.legend{font-size:9px;gap:10px}.chart-hint{font-size:11px}.chart-tooltip dd{font-size:10px}.chart-tooltip dt{font-size:10px}.comparison-callout p{font-size:11px}.goal-panel{padding:25px 22px;gap:22px;margin-top:24px}.goal-panel h2{font-size:29px}.calculator-guide{padding-top:42px;padding-bottom:42px}.calculator-guide>h2{font-size:32px}.calculator-guide p,.calculator-guide li{font-size:15px;line-height:1.85}.guide-sections h2{font-size:27px}.guide-contents{gap:12px}.guide-contents a{font-size:10px}.guide-sections h3{font-size:18px}footer{padding-block:24px}footer>span{font-size:9px}}
@media(max-width:360px){.hero h1{font-size:34px}.hero-subline{font-size:22px}.site-header .brand{font-size:22px}.brand-mark{margin-right:8px}.site-header nav{font-size:9px}.summary-panel{padding-inline:19px}.summary-bottom{margin-inline:-19px;padding-inline:19px}.result-number{font-size:44px}.drawer-actions button{gap:4px;font-size:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* D coin monogram, paired with a quiet editorial wordmark. */
.brand{gap:10px;font-weight:400;letter-spacing:-1.1px}.brand-symbol{display:block;flex:0 0 auto;width:40px;height:40px}.brand>span.brand-wordmark{font-style:normal;white-space:nowrap}.brand-wordmark>span{font-style:italic;letter-spacing:-1.3px}footer .brand{gap:9px}footer .brand-symbol{width:32px;height:32px}
@media(max-width:680px){.site-header .brand{gap:8px;font-size:25px}.site-header .brand-symbol{width:34px;height:34px}}
@media(max-width:360px){.site-header .brand{font-size:22px;gap:6px}.site-header .brand-symbol{width:30px;height:30px}}
/* Public identity, sources and supporting pages. */
.content-byline,.calculator-guide .content-byline{font:11px/1.8 var(--mono);color:var(--muted);margin:16px 0 24px}.content-byline a,.source-link{color:var(--copper);text-decoration:underline;text-underline-offset:3px}.site-footer{display:grid;grid-template-columns:1fr auto;gap:24px;margin:0 auto;padding:30px 40px 90px}.footer-identity p{margin:10px 0 0}.site-footer .footer-links{display:flex;flex-wrap:wrap;gap:24px;align-items:center}.site-footer .footer-links a{display:inline-flex;font:12px var(--mono);padding:12px 0}.footer-meta{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px dashed var(--line);padding-top:20px;font:11px/1.7 var(--mono);color:var(--muted)}.footer-meta a{overflow-wrap:anywhere}.info-header{justify-content:space-between}.info-header nav a{display:inline-flex}.info-page{max-width:850px;margin:0 auto;padding:64px 40px 72px}.info-page>.eyebrow{font:10px var(--mono);letter-spacing:1.5px;color:var(--copper)}.info-page h1{font:400 clamp(38px,6vw,56px)/1.1 Georgia,serif;letter-spacing:-1.5px;margin:18px 0}.info-page h2{font:400 27px/1.25 Georgia,serif;margin:36px 0 14px}.info-page p,.info-page li{font-size:16px;line-height:1.85;color:#4d5b4e}.info-page li{margin:8px 0}.info-page ul{padding-left:23px}.info-page a{color:var(--copper);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.info-page .contact-email{display:inline-block;background:var(--white);border:1px solid var(--line);border-radius:8px;padding:18px 22px;font-size:clamp(14px,3.5vw,20px);max-width:100%}
@media(max-width:680px){.site-footer{padding:28px 20px 100px;grid-template-columns:1fr;gap:18px}.site-footer .footer-links{gap:24px}.footer-meta{flex-direction:column;font-size:10px}.info-header{flex-wrap:wrap;gap:16px}.info-header nav{gap:24px}.info-header nav a{font-size:12px;min-height:32px}.info-page{padding:38px 22px 50px}.info-page h2{font-size:25px}.info-page p,.info-page li{font-size:15px}.info-page .content-byline{font-size:10px}}
.site-header.info-header nav a{display:inline-flex}@media(max-width:680px){.site-header.info-header nav{width:100%;justify-content:flex-start}}

/* Keep policy and discovery links readable across viewport sizes. */
.site-footer{grid-template-columns:minmax(0,1fr) minmax(0,auto)}.site-footer .footer-links{justify-content:flex-end;gap:8px 24px}.site-footer .footer-links a{min-height:44px;color:var(--ink);text-underline-offset:5px}.site-footer .footer-links a:hover{text-decoration:underline}@media(max-width:800px){.site-footer{grid-template-columns:1fr}.site-footer .footer-links{justify-content:flex-start;gap:4px 22px}}
/* Long-form policies: a visible contents list with accessible jump links. */
.policy-toc{display:block;margin:28px 0 38px;padding:22px 26px;background:var(--white);border:1px solid var(--line);border-radius:8px}.policy-page .policy-toc>p{font:12px var(--mono);color:var(--copper);margin:0 0 14px}.policy-toc ol{display:grid;grid-template-columns:1fr 1fr;gap:10px 30px;margin:0;padding-left:20px}.policy-page .policy-toc li{font-size:13px;line-height:1.65;margin:0;padding-left:2px}.policy-page .policy-toc a{display:inline;color:var(--ink)}.policy-page section{scroll-margin-top:24px;border-top:1px solid var(--line);padding-top:2px;margin-top:34px}.policy-page h3{font:400 21px/1.4 Georgia,serif;margin:26px 0 10px}.policy-page p{overflow-wrap:break-word}@media(max-width:680px){.policy-toc{padding:20px}.policy-toc ol{grid-template-columns:1fr;gap:9px}.policy-page .policy-toc a{display:inline}.policy-page h3{font-size:20px}}
