/* GreenLeaf's final shared layout: white editorial pages and a photographic homepage. */
:root { --gl-blue:#164676; --gl-deep:#0d3155; --gl-green:#4b9436; --gl-line:#d8e3e7; --gl-muted:#526779; }
html { scroll-behavior:smooth; }
body { background:#fff; color:#18344a; }
body, body * { font-style:normal !important; }
.site-header { position:relative; z-index:20; }
.site-nav a { font-size:13px; }
.site-nav a[aria-current="page"] { color:var(--gl-green); }
.site-nav .nav-cta { background:var(--gl-blue); color:#fff; border-color:var(--gl-blue); }
.site-nav .nav-cta:hover { background:var(--gl-deep); color:#fff; }
.hero { position:relative; display:flex; align-items:center; min-height:700px; padding:96px clamp(30px,8vw,128px) 105px; overflow:hidden; color:#fff; background:var(--gl-deep); }
.hero-copy { position:relative; z-index:3; max-width:650px; padding:0; }
.hero h1 { margin:22px 0 24px; max-width:650px; font:500 clamp(56px,6.1vw,88px)/1.03 'Source Serif 4',Georgia,serif; letter-spacing:-.045em; color:#fff; }
.hero-lede { max-width:510px; font-size:18px; line-height:1.55; color:#f0f5f2; }
.hero-note { margin-top:30px; font-size:12px; color:#dce9df; }
.hero .eyebrow { color:#d5e7c8; }
.hero .light-link { color:#fff; }
.hero .button-light, .site-cta .button-light { background:var(--gl-green); color:#fff; }
.hero .button-light:hover, .site-cta .button-light:hover { background:#3d7e2a; }
.hero-art { position:absolute; inset:0; width:100%; height:100%; margin:0; min-height:0; }
.hero-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:72% center; }
.hero-art::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,31,46,.90) 0%,rgba(8,31,46,.78) 33%,rgba(8,31,46,.30) 57%,rgba(8,31,46,.03) 78%),linear-gradient(0deg,rgba(5,28,42,.35),transparent 45%); }
.hero-caption { position:absolute; z-index:2; bottom:24px; right:clamp(25px,5vw,80px); top:auto; left:auto; color:#fff; font-size:10px; font-weight:700; letter-spacing:.16em; }
.home-highlights { display:grid; grid-template-columns:repeat(4,1fr); padding:0 clamp(25px,6vw,95px); border-bottom:1px solid var(--gl-line); }
.home-highlights > div { min-height:148px; padding:35px 24px 25px; border-right:1px solid var(--gl-line); }
.home-highlights > div:last-child { border-right:0; }
.home-highlights strong { display:block; color:var(--gl-blue); font:600 clamp(27px,3vw,42px)/1 'Source Serif 4',Georgia,serif; }
.home-highlights span { display:block; margin-top:13px; color:var(--gl-muted); font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.home-footnote { padding:17px clamp(25px,6vw,95px) 0; max-width:1050px; margin:0; color:#607482; font-size:12px; line-height:1.6; }
.home-footnote a { color:var(--gl-blue); text-decoration:underline; text-underline-offset:3px; }
.story-section { display:grid; grid-template-columns:190px minmax(0,1fr); gap:45px; max-width:1370px; padding:110px clamp(25px,8vw,125px); margin:auto; border-bottom:1px solid var(--gl-line); }
.story-label { color:var(--gl-green); font-size:11px; font-weight:700; letter-spacing:.17em; line-height:1.5; text-transform:uppercase; }
.story-section > .story-label { padding-top:12px; }
.story-content { max-width:950px; }
.story-content h2,.story-band h2,.feature-copy h2,.site-cta h2,.contact-panel h2 { max-width:850px; margin:0 0 24px; color:var(--gl-blue); font:500 clamp(36px,4.4vw,60px)/1.09 'Source Serif 4',Georgia,serif; letter-spacing:-.04em; }
.story-content > p,.feature-copy p,.story-band > p,.contact-panel p { max-width:780px; color:#405769; font-size:17px; line-height:1.8; }
.inline-arrow { display:inline-flex; gap:15px; align-items:center; margin-top:20px; color:var(--gl-blue); font-size:14px; font-weight:700; text-decoration:none; border-bottom:1px solid var(--gl-green); padding-bottom:7px; }
.inline-arrow:hover { color:var(--gl-green); }
.story-band { padding:100px clamp(25px,8vw,125px); background:#fff; border-bottom:1px solid var(--gl-line); }
.story-band-heading { max-width:1150px; margin:0 auto 45px; }
.story-band-heading .story-label { display:block; margin-bottom:18px; }
.story-band-heading h2 { max-width:800px; }
.journey-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; max-width:1150px; margin:0 auto; }
.journey-grid article { min-height:240px; padding:27px; border:1px solid var(--gl-line); border-top:3px solid var(--gl-green); background:#fff; }
.journey-grid article > span,.essential-grid article > span,.essential-grid a > span { color:var(--gl-green); font-size:13px; font-weight:700; }
.journey-grid h3,.essential-grid h3,.document-list h3 { margin:34px 0 10px; color:var(--gl-blue); font:600 25px/1.15 'Source Serif 4',Georgia,serif; }
.journey-grid p,.essential-grid p,.document-list p { margin:0; color:#536b7b; font-size:14px; line-height:1.65; }
.story-band > .inline-arrow { display:table; margin:35px auto 0; }
.feature-split { display:grid; grid-template-columns:1fr 1fr; min-height:570px; border-bottom:1px solid var(--gl-line); }
.feature-image { position:relative; min-height:560px; overflow:hidden; background:radial-gradient(circle at 57% 29%,#efd99a 0 8%,transparent 8.2%),linear-gradient(155deg,transparent 0 50%,#91ad88 50.2% 74%,#607f70 74.3%),linear-gradient(#d8e5db,#f2dfb1 74%); }
.feature-image::before { content:""; position:absolute; left:-7%; right:-7%; bottom:-10%; height:48%; background:#476b64; border-radius:50% 50% 0 0; transform:rotate(-4deg); }
.feature-image::after { content:""; position:absolute; left:18%; bottom:24%; width:17px; height:120px; background:#4f6143; box-shadow:330px 34px 0 -3px #4f6143; }
.feature-image span { position:absolute; z-index:2; left:7%; bottom:7%; color:#fff; font-size:11px; font-weight:700; letter-spacing:.17em; }
.feature-copy { display:flex; flex-direction:column; justify-content:center; padding:75px clamp(30px,6vw,90px); }
.feature-copy .story-label { margin-bottom:20px; }
.feature-copy .inline-arrow { align-self:flex-start; }
.essential-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:38px; }
.essential-grid > a,.essential-grid > article { display:block; min-height:260px; padding:26px; border:1px solid var(--gl-line); color:inherit; text-decoration:none; }
.essential-grid > a:hover { border-color:var(--gl-green); box-shadow:0 9px 26px rgba(22,70,118,.08); }
.essential-grid h3 { margin-top:38px; }
.essential-grid strong { display:inline-block; margin-top:28px; color:var(--gl-blue); font-size:13px; }
.site-cta { display:flex; justify-content:space-between; align-items:center; gap:45px; padding:78px clamp(25px,8vw,125px); background:var(--gl-blue); }
.site-cta .story-label { color:#b9dfa8; }
.site-cta h2 { margin:13px 0 12px; color:#fff; }
.site-cta p { margin:0; color:#e5eef4; font-size:16px; line-height:1.6; }
.site-cta .button { flex:0 0 auto; white-space:nowrap; }
.subhero { padding:105px clamp(25px,8vw,125px) 90px; border-bottom:1px solid var(--gl-line); }
.subhero h1 { max-width:900px; margin:18px 0 25px; color:var(--gl-blue); font:500 clamp(46px,6vw,78px)/1.04 'Source Serif 4',Georgia,serif; letter-spacing:-.045em; }
.subhero p { max-width:760px; margin:0; color:#405769; font-size:18px; line-height:1.7; }
.subhero-actions { display:flex; align-items:center; gap:30px; margin-top:32px; }
.subhero-actions .button { background:var(--gl-blue); color:#fff; }
.subhero-actions .inline-arrow { margin:0; }
.model-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin:35px 0 0; }
.model-facts article { border:1px solid var(--gl-line); border-top:3px solid var(--gl-green); padding:26px; }
.model-facts strong { display:block; color:var(--gl-blue); font:600 32px/1.1 'Source Serif 4',Georgia,serif; }
.model-facts span { display:block; color:var(--gl-green); font-size:12px; font-weight:700; margin:9px 0; }
.model-facts p { color:var(--gl-muted); font-size:13px; line-height:1.6; }
.assumption-grid { display:grid; grid-template-columns:repeat(3,1fr); margin:35px 0; border-top:1px solid var(--gl-line); border-bottom:1px solid var(--gl-line); }
.assumption-grid > div { padding:28px 20px; border-right:1px solid var(--gl-line); }
.assumption-grid > div:last-child { border-right:0; }
.assumption-grid span { color:var(--gl-blue); font:600 37px/1 'Source Serif 4',Georgia,serif; }
.assumption-grid p { margin:9px 0 0; color:var(--gl-muted); font-size:13px; }
.next-links { display:flex; flex-wrap:wrap; gap:20px; margin-top:28px; }
.next-links a { padding:14px 19px; color:var(--gl-blue); font-size:14px; font-weight:700; border:1px solid var(--gl-line); text-decoration:none; }
.next-links a:hover { border-color:var(--gl-green); }
.impact-goals { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; max-width:1150px; margin:auto; }
.impact-goals > div { display:flex; gap:25px; align-items:flex-start; padding:32px; border:1px solid var(--gl-line); }
.impact-goals b { display:grid; place-items:center; min-width:75px; height:75px; background:#c99d2c; color:#fff; font-size:41px; }
.impact-goals > div+div b { background:var(--gl-green); }
.impact-goals h3 { margin:0 0 8px; color:var(--gl-blue); font:600 25px 'Source Serif 4',Georgia,serif; }
.impact-goals p { margin:0; color:var(--gl-muted); line-height:1.6; }
.story-note { max-width:1150px!important; margin:30px auto 0; font-size:13px!important; }
.document-list { margin-top:30px; border-top:1px solid var(--gl-line); }
.document-list > div { display:grid; grid-template-columns:48px 1fr; gap:20px; padding:22px 0; border-bottom:1px solid var(--gl-line); }
.document-list > div > span { padding-top:5px; color:var(--gl-green); font-size:13px; font-weight:700; }
.document-list h3 { margin:0 0 6px; }
.contact-panel { display:grid; grid-template-columns:1.2fr .8fr; gap:45px; padding:80px clamp(25px,8vw,125px); border-bottom:1px solid var(--gl-line); }
.contact-panel .story-label { display:block; margin-bottom:15px; }
.contact-actions { display:flex; flex-direction:column; justify-content:center; }
.contact-actions a { display:block; padding:16px 0; border-bottom:1px solid var(--gl-line); color:var(--gl-blue); font-size:17px; font-weight:700; text-decoration:none; overflow-wrap:anywhere; }
.contact-actions a:hover { color:var(--gl-green); }
.detail-jump { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; padding:22px 25px; border-bottom:1px solid var(--gl-line); }
.detail-jump a { padding:10px 13px; border:1px solid var(--gl-line); color:var(--gl-blue); font-size:12px; font-weight:700; text-decoration:none; }
.detail-jump a:hover { border-color:var(--gl-green); }
.detail-hero h1 span { color:var(--gl-green); }
.detail-hero-stats strong { color:var(--gl-blue); }
.detail-section h2 { letter-spacing:-.035em; }
.detail-prose,.detail-facts p,.detail-note,.step-grid p,.contact-grid p,.contact-grid a,.banking-card p { font-size:max(14px,1em); }
.detail-table { font-size:13px; }
.terms-grid strong { font-size:14px; }
.risk-section { padding-top:95px; padding-bottom:95px; }
.risk-heading h2 { font-family:'Source Serif 4',Georgia,serif; font-size:clamp(42px,5vw,68px); }
.risk-heading > p { font-size:17px; }
.risk-grid h3 { font:600 23px 'Source Serif 4',Georgia,serif; }
.risk-grid p { font-size:14px; line-height:1.65; }
.faq-section { padding-top:90px; padding-bottom:90px; }
.faq-heading h2 { font:500 clamp(38px,4.5vw,58px)/1.12 'Source Serif 4',Georgia,serif; }
.faq-list details p { font-size:15px; line-height:1.7; }
.finished-footer { padding:70px clamp(25px,8vw,125px) 20px; background:#fff; }
.footer-main { display:grid; grid-template-columns:2fr 1fr 1fr; gap:50px; }
.footer-identity .brand-logo { width:105px; height:105px; }
.footer-identity p { max-width:330px; color:var(--gl-muted); font-size:14px; line-height:1.65; }
.footer-links { display:flex; flex-direction:column; gap:11px; }
.footer-links > span { margin-bottom:8px; color:var(--gl-green); font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.footer-links a { color:var(--gl-blue); font-size:14px; text-decoration:none; }
.footer-links a:hover { text-decoration:underline; }
.finished-footer .footer-disclaimer { max-width:100%; margin:55px 0 20px; padding-top:20px; border-top:1px solid var(--gl-line); color:#667987; font-size:11px; line-height:1.65; }
.finished-footer .footer-bottom { padding-top:16px; }
@media(max-width:1000px){.site-nav a{font-size:11px}.site-nav{gap:14px}.story-section{grid-template-columns:145px 1fr;gap:25px}.journey-grid article{padding:20px}.journey-grid h3{font-size:21px}.feature-copy{padding:50px 35px}}
@media(max-width:760px){.hero{min-height:670px;padding:70px 28px 85px}.hero-copy{max-width:540px}.hero h1{font-size:clamp(47px,9vw,70px)}.hero-art{position:absolute;inset:0;width:100%;height:100%;margin:0}.hero-photo{object-position:67% center}.hero-art::after{background:linear-gradient(90deg,rgba(8,31,46,.90),rgba(8,31,46,.66) 55%,rgba(8,31,46,.35))}.hero-lede{font-size:16px}.home-highlights{grid-template-columns:repeat(2,1fr)}.home-highlights > div:nth-child(2){border-right:0}.home-highlights > div:nth-child(-n+2){border-bottom:1px solid var(--gl-line)}.story-section{display:block;padding:70px 25px}.story-section > .story-label{display:block;margin-bottom:22px}.journey-grid,.essential-grid{grid-template-columns:repeat(2,1fr)}.feature-split{grid-template-columns:1fr}.feature-image{min-height:360px}.feature-copy{padding:60px 25px}.story-band{padding:70px 25px}.site-cta{display:block;padding:65px 25px}.site-cta .button{display:inline-flex;margin-top:25px}.footer-main{grid-template-columns:1.5fr 1fr;gap:25px}.footer-identity{grid-column:1/-1}.contact-panel{grid-template-columns:1fr}.model-facts{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.hero{min-height:700px;padding:58px 24px 85px}.hero h1{font-size:clamp(46px,12vw,61px)}.hero-lede{font-size:15px}.hero-actions{display:flex;flex-direction:column;align-items:flex-start}.hero-art::after{background:linear-gradient(90deg,rgba(8,31,46,.92),rgba(8,31,46,.68) 72%,rgba(8,31,46,.43))}.hero-photo{object-position:70% center}.home-highlights > div{min-height:125px;padding:25px 16px}.home-highlights strong{font-size:30px}.home-highlights span{font-size:10px}.journey-grid,.essential-grid,.impact-goals,.model-facts,.assumption-grid{grid-template-columns:1fr}.journey-grid article,.essential-grid > a,.essential-grid > article{min-height:0}.journey-grid h3,.essential-grid h3{margin-top:18px}.impact-goals > div{padding:20px}.assumption-grid > div{border-right:0;border-bottom:1px solid var(--gl-line)}.subhero{padding:70px 25px}.subhero h1{font-size:46px}.subhero p{font-size:16px}.subhero-actions{flex-wrap:wrap}.contact-actions a{font-size:15px}.footer-main{grid-template-columns:1fr 1fr}.detail-jump{justify-content:flex-start}.risk-section,.faq-section{padding:65px 25px}}
