:root { --ink:#203a34; --muted:#63706b; --paper:#f8f7f2; --white:#fff; --line:#dfe4de; --green:#1e5145; --soft:#e8eee7; --red:#9e4138; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body { margin:0; min-width:320px; background:var(--paper); color:var(--ink); font:16px/1.65 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; padding-bottom:135px; }
a { color:inherit; text-underline-offset:4px; }
button { font:inherit; cursor:pointer; }
button,a { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible { outline:3px solid #a27c25; outline-offset:5px; }
img { max-width:100%; display:block; }
h1,h2,h3,h4,p { margin:0; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-1.5px; line-height:1.1; }
h1 { font-size:clamp(36px,4.4vw,60px); }
h2 { font-size:clamp(30px,3.3vw,44px); }
h3 { font-size:23px; line-height:1.35; }
h4 { font-size:18px; line-height:1.4; }
p+p { margin-top:18px; }
.wrap { max-width:1180px; margin:0 auto; padding-left:40px; padding-right:40px; }
.skip-link { position:fixed; left:12px; top:-70px; z-index:20; background:var(--white); padding:12px; }
.skip-link:focus { top:10px; }
.site-header { position:sticky; top:0; z-index:10; background:rgba(248,247,242,.97); min-height:82px; padding:15px max(40px,calc((100vw - 1100px)/2)); display:flex; align-items:center; gap:25px; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:3px; font-size:25px; font-weight:700; text-decoration:none; letter-spacing:-1px; white-space:nowrap; }
.brand>span:last-child { color:#718777; font-weight:500; }
.brand .brand-symbol { border:1px solid var(--green); color:var(--green); width:33px; height:35px; text-align:center; line-height:29px; border-radius:5px; margin-right:9px; font-family:Georgia,serif; font-size:29px; }
.site-header nav { display:flex; gap:23px; margin-left:auto; font-size:13px; }
.site-header nav a { text-decoration:none; }
.header-cta { font-size:13px; border-left:1px solid var(--line); padding-left:24px; text-decoration:none; font-weight:650; }
.hero { display:grid; grid-template-columns:1.12fr 1fr; align-items:center; gap:45px; padding-top:72px; padding-bottom:54px; }
.eyebrow { font-size:10px; letter-spacing:1.8px; font-weight:700; color:var(--green); margin-bottom:22px; }
.hero-intro { color:var(--muted); margin-top:25px; max-width:555px; font-size:17px; }
.hero-intro strong { color:var(--ink); }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:23px; margin-top:28px; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:20px; border-radius:5px; padding:13px 19px; font-size:13px; line-height:1.4; text-decoration:none; font-weight:650; }
.button-dark { background:var(--green); color:white; border:1px solid var(--green); }
.button-dark:hover { background:#163e34; }
.button-light { background:var(--paper); color:var(--green); }
.button-light:hover { background:white; }
.text-link { font-size:13px; font-weight:650; }
.hero-note { font-size:12px; color:var(--muted); margin-top:18px; }
.hero-output { background:#e9ede5; border:1px solid #dce2d8; padding:20px; border-radius:8px; }
.folio-label { display:flex; justify-content:space-between; font-size:9px; letter-spacing:1.5px; font-weight:650; }
.folio { position:relative; height:324px; margin:16px 4px 12px; }
.folio-front { width:205px; position:absolute; left:19px; top:7px; transform:rotate(-7deg); box-shadow:0 12px 26px #253b342a; border:1px solid #d5dbd3; }
.folio-back { position:absolute; width:234px; right:7px; top:48px; transform:rotate(6deg); border:1px solid #d5dbd3; box-shadow:0 12px 26px #253b3420; }
.folio-pitch { width:235px; position:absolute; right:5px; bottom:0; transform:rotate(2deg); box-shadow:0 8px 25px #253b3430; border:1px solid #d5dbd3; }
.hero-output>p { font-size:11px; color:var(--muted); text-align:center; }
.case-strip { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:25px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding-top:22px; padding-bottom:22px; }
.case-strip span,.case-strip strong { display:block; }
.case-strip span { color:var(--muted); font-size:9px; letter-spacing:1.3px; margin-bottom:6px; }
.case-strip strong { font-size:12px; font-weight:600; }
.story,.own-project { display:grid; grid-template-columns:.9fr 1.15fr; gap:85px; padding-top:76px; padding-bottom:76px; }
.story>div:last-child,.own-project>div:last-child { color:var(--muted); }
.disclosure { border-left:2px solid #b9c7b8; padding-left:17px; font-size:12px; }
.documents-section { background:var(--white); padding:68px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.section-intro { display:grid; grid-template-columns:1fr .85fr; align-items:end; gap:100px; margin-bottom:42px; }
.section-intro>p { color:var(--muted); font-size:14px; }
.document-row { display:grid; grid-template-columns:330px 1fr; gap:62px; align-items:center; border-top:1px solid var(--line); padding:30px 0; }
.document-image { background:var(--paper); border:1px solid var(--line); height:210px; padding:16px 58px; overflow:hidden; border-radius:4px; display:grid; place-items:start center; }
.document-image img { width:100%; border:1px solid #dce1da; box-shadow:0 4px 12px #203a3418; }
.document-image.landscape { padding:24px 16px; align-items:center; }
.document-image.landscape img { align-self:center; }
.document-number { font-size:10px; color:var(--muted); letter-spacing:1.3px; }
.document-copy h3 { font-family:Georgia,serif; font-weight:400; font-size:32px; margin:8px 0; }
.document-copy p { font-size:14px; color:var(--muted); max-width:580px; }
.document-actions { display:flex; gap:26px; align-items:center; margin:20px 0 9px; }
.file-detail,.download-note,.small-note { font-size:12px; color:var(--muted); }
.download-note { margin-top:24px; }
.financial-section { padding-top:76px; padding-bottom:76px; }
.metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin:0 0 42px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:24px 0; }
.metrics dt { font-size:12px; color:var(--muted); }
.metrics dd { margin:8px 0; font-size:28px; font-family:Georgia,serif; font-variant-numeric:tabular-nums; }
.metrics small { font-size:10px; color:var(--muted); display:block; max-width:200px; line-height:1.5; }
.negative { color:var(--red); }
.financial-grid { display:grid; grid-template-columns:1fr .85fr; gap:60px; margin-bottom:35px; }
.financial-grid h3 { font-size:18px; margin-bottom:14px; }
.revenue-chart>p { font-size:11px; color:var(--muted); }
.bars { display:flex; height:220px; gap:28px; margin-top:28px; }
.bar-column { flex:1; min-width:0; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:9px; }
.bar-column strong { font-size:12px; font-weight:550; font-variant-numeric:tabular-nums; }
.bar-column span { font-size:11px; color:var(--muted); }
.bar { background:#83a38c; height:calc(var(--height)*.8); width:85%; min-height:10px; max-height:160px; border-radius:3px 3px 0 0; }
.bar-column:nth-child(2) .bar { background:#527e69; }
.bar-column:nth-child(3) .bar { background:var(--green); }
.forecast-summary p { font-size:14px; color:var(--muted); }
.forecast-summary a { display:inline-block; margin-top:18px; }
.table-scroll { overflow-x:auto; border:1px solid var(--line); background:var(--white); border-radius:4px; }
table { width:100%; border-collapse:collapse; white-space:nowrap; font-size:13px; font-variant-numeric:tabular-nums; }
caption { text-align:left; background:var(--soft); padding:13px 18px; font-size:11px; color:var(--muted); }
th,td { padding:13px 18px; text-align:right; border-bottom:1px solid var(--line); }
th:first-child { text-align:left; }
tbody th { font-weight:500; }
thead { color:var(--muted); }
tbody tr:last-child>* { border-bottom:0; }
.financial-section>.small-note { margin-top:18px; }
.pitch-section { padding:68px 0; background:#e9ede5; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.pitch-canvas { background:var(--white); border:1px solid #cdd7cc; border-radius:4px; overflow:hidden; }
.pitch-canvas img { width:100%; height:auto; aspect-ratio:16/9; }
.pitch-controls { display:flex; justify-content:center; align-items:center; gap:28px; margin:20px 0; }
.pitch-controls button { width:37px; height:37px; background:var(--white); border:1px solid #bdcdbf; border-radius:50%; color:var(--green); }
.pitch-controls p { font-size:12px; min-width:80px; text-align:center; }
.pitch-thumbnails { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.pitch-thumbnails button { background:transparent; border:2px solid transparent; padding:4px; border-radius:3px; min-width:0; text-align:left; }
.pitch-thumbnails button[aria-pressed="true"] { border-color:var(--green); background:#f8f7f2; }
.pitch-thumbnails img { border:1px solid #ced6cb; width:100%; }
.pitch-thumbnails span { display:block; font-size:9px; line-height:1.4; padding-top:6px; overflow-wrap:anywhere; }
.pitch-outline { margin-top:30px; border-top:1px solid #cdd7cc; padding-top:20px; font-size:13px; }
.pitch-outline summary { cursor:pointer; font-weight:650; }
.pitch-outline article { padding:20px 0; border-bottom:1px solid #cdd7cc; }
.pitch-outline h3 { font-size:17px; }
.pitch-outline ul { margin:10px 0; }
.own-project { border-bottom:1px solid var(--line); }
.own-project ol { padding-left:24px; margin:26px 0; }
.own-project li { padding-left:8px; margin:17px 0; font-size:14px; }
.own-project li strong,.own-project li span { display:block; }
.own-project li strong { color:var(--ink); }
.own-project .button { margin-top:22px; }
.plan-container { padding-top:76px; padding-bottom:65px; }
.plan-title { margin-bottom:46px; }
.plan-title>p:last-child { color:var(--muted); font-size:12px; margin-top:20px; }
.plan-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:60px; }
.plan-toc { position:sticky; top:107px; align-self:start; font-size:11px; }
.plan-toc>p { font-size:9px; letter-spacing:1.5px; color:var(--muted); margin-bottom:16px; }
.plan-toc a { display:flex; gap:10px; margin:14px 0; text-decoration:none; line-height:1.55; }
.plan-toc a span { color:#93a196; flex-shrink:0; font-size:9px; padding-top:2px; }
.plan-toc .toc-download { border-top:1px solid var(--line); margin-top:24px; padding-top:18px; font-weight:650; }
.plan-body { min-width:0; }
.plan-section { border-top:1px solid var(--line); padding:27px 0 42px; scroll-margin-top:100px; }
.section-heading { display:flex; align-items:start; gap:18px; margin-bottom:24px; }
.section-heading>span { color:#90a391; font-family:Georgia,serif; font-size:25px; }
.section-heading h3 { font-family:Georgia,serif; font-size:30px; font-weight:400; }
.plan-section p { color:#515f57; font-size:14px; line-height:1.85; overflow-wrap:anywhere; white-space:pre-line; }
.subsection { margin-top:28px; }
.subsection h4 { margin-bottom:12px; font-size:16px; }
.plan-section ul { padding-left:20px; font-size:12px; color:var(--muted); }
.planning-note { background:var(--soft); border-left:2px solid #a3b69f; padding:15px 20px; margin-top:25px; }
.planning-note strong,.open-questions strong { font-size:11px; }
.planning-note ul,.open-questions ul { margin-bottom:0; }
.open-questions { margin-top:20px; }
.sources-section { border-top:1px solid var(--line); padding-top:50px; padding-bottom:50px; }
.sources-section>p:not(.eyebrow) { max-width:780px; font-size:13px; color:var(--muted); margin-top:20px; margin-bottom:28px; }
.sources-section article { display:grid; grid-template-columns:34px 1fr; gap:22px; border-top:1px solid var(--line); padding:25px 0; font-size:12px; }
.sources-section article>span { color:#86998a; font-size:10px; }
.sources-section h3 { font-size:15px; }
.sources-section p { max-width:900px; color:var(--muted); margin-top:10px; }
.sources-section .source-meta { font-size:10px; }
.sources-section .source-use { color:#69796d; font-style:italic; }
.site-footer { display:flex; align-items:center; gap:25px; border-top:1px solid var(--line); padding-top:25px; padding-bottom:20px; }
.site-footer p { font-size:10px; color:var(--muted); }
.site-footer>a:last-child { margin-left:auto; font-size:10px; }
.floating-cta { position:fixed; z-index:15; bottom:20px; left:50%; transform:translateX(-50%); width:min(860px,calc(100% - 40px)); padding:17px 23px; background:var(--green); color:white; border-radius:8px; box-shadow:0 8px 36px #203a3435; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.floating-cta strong,.floating-cta>div>span { display:block; }
.floating-cta strong { font-family:Georgia,serif; font-weight:400; font-size:20px; }
.floating-cta>div>span { font-size:11px; color:#d1e3d5; margin-top:3px; }
.floating-cta .button { flex-shrink:0; }
@media(max-width:950px) { .site-header { padding:15px 25px; gap:20px; } .site-header nav { gap:15px; } .wrap { padding-left:25px; padding-right:25px; } .hero { gap:25px; padding-top:50px; } .hero-output { padding:16px; } .folio { height:290px; } .folio-front { width:175px; left:3px; } .folio-back { width:185px; right:0; } .folio-pitch { width:185px; right:0; } .section-intro { gap:40px; } .story,.own-project { gap:40px; } .plan-layout { grid-template-columns:185px minmax(0,1fr); gap:30px; } .document-row { grid-template-columns:280px 1fr; gap:35px; } .document-image { padding:18px 48px; } .financial-grid { gap:35px; } .metrics dd { font-size:24px; } }
@media(max-width:700px) { body { padding-bottom:160px; } .site-header { min-height:68px; } .brand { font-size:22px; } .site-header nav { display:none; } .header-cta { margin-left:auto; font-size:12px; border:0; padding:0; } .hero { grid-template-columns:1fr; gap:35px; padding-top:40px; padding-bottom:35px; } .hero-intro { font-size:15px; } .hero-output { max-width:440px; width:100%; margin:0 auto; } .folio { height:310px; } .folio-front { width:185px; left:22px; } .folio-back { width:220px; right:12px; } .folio-pitch { width:220px; } .case-strip { grid-template-columns:1fr 1fr; gap:18px; } .story,.own-project { grid-template-columns:1fr; gap:27px; padding-top:48px; padding-bottom:48px; } .story p,.own-project p { font-size:14px; } .story .disclosure { font-size:11px; } .section-intro { grid-template-columns:1fr; gap:23px; margin-bottom:30px; } .documents-section,.pitch-section { padding:45px 0; } .document-row { grid-template-columns:125px minmax(0,1fr); gap:23px; } .document-image { height:175px; padding:12px; } .document-image.landscape { height:115px; padding:10px; } .document-copy h3 { font-size:26px; } .document-copy p { font-size:12px; } .document-actions { flex-wrap:wrap; gap:12px; margin-top:15px; } .document-actions .button { font-size:11px; padding:11px 12px; gap:10px; } .file-detail { font-size:10px; } .metrics { grid-template-columns:1fr 1fr; gap:24px; } .financial-section { padding-top:48px; padding-bottom:48px; } .financial-grid { grid-template-columns:1fr; gap:34px; } .bars { gap:20px; height:200px; } .pitch-thumbnails { grid-template-columns:repeat(4,1fr); gap:8px; } .pitch-thumbnails span { font-size:8px; } .plan-container { padding-top:48px; } .plan-layout { grid-template-columns:1fr; gap:28px; } .plan-toc { position:static; border-bottom:1px solid var(--line); padding-bottom:17px; display:grid; grid-template-columns:1fr 1fr; gap:3px 15px; } .plan-toc>p { grid-column:1/-1; margin-bottom:5px; } .plan-toc a { margin:6px 0; font-size:10px; } .plan-toc .toc-download { grid-column:1/-1; border:0; margin:10px 0 0; padding:8px 0; } .section-heading h3 { font-size:25px; } .plan-section p { font-size:13px; } .site-footer { flex-wrap:wrap; gap:12px; } .site-footer p { flex-basis:100%; order:3; } .floating-cta { bottom:12px; width:calc(100% - 24px); padding:15px; gap:12px; flex-direction:column; align-items:stretch; } .floating-cta>div { text-align:center; } .floating-cta strong { font-size:18px; } .floating-cta>div>span { display:none; } .floating-cta .button { padding:12px; } }
@media(max-width:390px) { .wrap { padding-left:18px; padding-right:18px; } .site-header { padding-left:18px; padding-right:18px; } h1 { font-size:34px; } .hero-output { padding:14px; } .folio { height:276px; } .folio-front { width:161px; left:2px; } .folio-back { width:180px; right:0; } .folio-pitch { width:195px; } .document-row { grid-template-columns:94px minmax(0,1fr); gap:18px; } .document-image { height:145px; padding:10px; } .document-copy h3 { font-size:24px; } .document-number { font-size:8px; } th,td { padding:11px 12px; } .floating-cta strong { font-size:17px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print { .site-header,.floating-cta,.hero-output,.plan-toc,.pitch-controls,.pitch-thumbnails { display:none; } body { padding:0; } .wrap { max-width:none; padding:0; } .plan-layout { display:block; } .plan-section { break-inside:avoid; } }

.brand img { display: block; max-width: 100%; height: auto; }
.financial-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 32px; }
.financial-gallery figure { margin: 0; min-width: 0; }
.financial-gallery img { display: block; width: 100%; height: auto; border: 1px solid #dce3d8; }
.financial-gallery figcaption { font-size: 13px; margin-top: 10px; line-height: 1.5; }
@media(max-width: 700px) { .financial-gallery { grid-template-columns: minmax(0, 1fr); } .site-header .brand img { width: 150px; } }
