/* History: generous editorial introduction and an extensible vertical timeline. */
.history-genesis{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:8%;align-items:start}
.history-opening h2{max-width:420px}
.history-opening blockquote{margin:42px 0 0;padding-left:24px;border-left:3px solid var(--blue);color:var(--blue);font-size:clamp(24px,2.4vw,34px);line-height:1.3;font-style:italic}
.history-story p{font-size:18px;color:var(--muted);line-height:1.8;margin:0 0 24px}.history-story p:last-child{margin-bottom:0}.history-story strong{color:var(--ink)}
.history-timeline{background:var(--paper)}.history-timeline>h2{margin-bottom:58px}
.milestones{list-style:none;margin:0;padding:0}.milestones>li{display:grid;grid-template-columns:210px minmax(0,1fr);position:relative;gap:0}
.milestone-date{font-size:30px;font-weight:700;color:var(--blue);line-height:1.3;padding:28px 38px 0 0}
.milestones article{position:relative;border-left:2px solid #c8d5ea;padding:30px 0 48px 48px;min-width:0}
.milestones article::before{content:"";position:absolute;left:-8px;top:37px;width:14px;height:14px;background:var(--blue);border:3px solid var(--paper);border-radius:50%}
.milestones article h3{font-size:26px;margin-bottom:16px}.milestones article p{font-size:18px;color:var(--muted);max-width:760px;line-height:1.75;margin:0}
.milestones>li:last-child article{padding-bottom:0}
.milestone-with-photo{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:40px;align-items:start}
.milestone-with-photo figure{margin:0;width:100%;max-width:230px}.milestone-with-photo img{display:block;width:100%;height:auto}.milestone-with-photo figcaption{font-size:14px;color:var(--muted);margin-top:12px}
@media(max-width:1000px){.history-genesis{grid-template-columns:1fr;gap:38px}.history-opening blockquote{margin-top:28px}.milestones>li{grid-template-columns:160px minmax(0,1fr)}.milestone-date{font-size:25px}.milestone-with-photo{grid-template-columns:1fr}}
@media(max-width:650px){.history-timeline>h2{margin-bottom:36px}.milestones>li{display:block;border-left:2px solid #c8d5ea;padding-left:25px;padding-bottom:42px}.milestone-date{font-size:25px;padding:0 0 12px;position:relative}.milestone-date::before{content:"";position:absolute;left:-33px;top:9px;width:14px;height:14px;background:var(--blue);border:3px solid var(--paper);border-radius:50%}.milestones article{border:0;padding:0}.milestones article::before{display:none}.milestones article h3{font-size:23px}.history-story p,.milestones article p{font-size:17px}.milestones>li:last-child{padding-bottom:0}.milestone-with-photo{gap:26px}}

.milestones article .history-solar-detail{margin-top:22px;font-size:16px}.history-solar-link{margin-top:24px;color:var(--blue)}

.milestone-pandemic{grid-template-columns:minmax(0,1fr) minmax(230px,360px)}.milestone-pandemic figure{max-width:360px}@media(max-width:1100px){.milestone-pandemic{grid-template-columns:1fr}}

.history-parade-photos{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:26px;align-items:center;margin-top:30px}.history-parade-photos figure{margin:0;min-width:0}.history-parade-photos img{display:block;width:100%;height:auto}.history-parade-photos figcaption{font-size:14px;color:var(--muted);margin-top:12px}@media(max-width:750px){.history-parade-photos{grid-template-columns:1fr}.history-parade-photos figure:first-child{max-width:360px}}

.history-building-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:30px}.history-building-photos figure{margin:0;min-width:0}.history-building-photos img{display:block;width:100%;height:auto}.history-building-photos figcaption{font-size:14px;color:var(--muted);margin-top:12px}@media(max-width:750px){.history-building-photos{grid-template-columns:1fr}}

.history-solar-photo{margin:30px 0 0;max-width:760px}.history-solar-photo img{display:block;width:100%;height:auto}.history-solar-photo figcaption{font-size:14px;color:var(--muted);margin-top:12px}

/* Compact milestone spacing; photos sit directly beneath their own copy. */
.history-genesis.section,.history-timeline.section{padding-top:72px;padding-bottom:72px}
.history-timeline>h2{margin-bottom:38px}
.milestones article{padding:24px 0 32px 36px}
.milestone-date{padding-top:22px}
.milestones article::before{top:31px}
.milestones article h3{margin-bottom:12px}
.milestone-with-photo{display:block}
.milestone-with-photo figure{margin:20px 0 0}
.history-building-photos,.history-parade-photos{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start;margin-top:20px}
.history-building-photos figure,.history-parade-photos figure{flex:0 1 300px;max-width:300px;margin:0}
.milestones figure{max-width:360px}
.milestones figure img{display:block;width:auto;max-width:100%;height:auto;max-height:388px;object-fit:contain}
.milestones .milestone-with-photo:not(.milestone-pandemic) figure{max-width:230px}
.history-solar-photo{margin-top:20px;width:100%;max-width:360px}
.milestones figcaption{margin-top:8px}
@media(max-width:650px){.history-genesis.section,.history-timeline.section{padding-top:52px;padding-bottom:52px}.milestones>li{padding-bottom:32px}.milestones article{padding:0}.milestone-date{padding-top:0}.milestones>li:last-child{padding-bottom:0}.history-building-photos figure,.history-parade-photos figure{flex-basis:100%;max-width:300px}}

.history-press-crop{width:100%;aspect-ratio:1.54;overflow:hidden}.milestones .history-press-crop img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center bottom}

/* Reduce timeline text and photo dimensions without changing image framing. */
.milestone-date{font-size:27px}
.milestones article h3{font-size:23.4px}
.milestones article p{font-size:16.2px}
.milestones article .history-solar-detail{font-size:16.2px}
.milestones figcaption{font-size:12.6px}
.milestones .history-solar-link{font-size:12.6px}
.milestones figure{max-width:324px}
.milestones figure img{max-height:349.2px}
.milestones .milestone-with-photo:not(.milestone-pandemic) figure{max-width:207px}
.milestones .history-building-photos figure,.milestones .history-parade-photos figure{flex-basis:270px;max-width:270px}
.milestones .history-solar-photo{max-width:324px}
.milestones .milestone-chad:not(.milestone-pandemic) figure{max-width:138.88px}
@media(max-width:1000px){.milestone-date{font-size:22.5px}}
@media(max-width:650px){
 .milestones article h3{font-size:20.7px}
 .milestones article p{font-size:15.3px}
 .milestones article .history-solar-detail{font-size:15.3px}
 .milestones .history-building-photos figure,.milestones .history-parade-photos figure{flex-basis:100%;max-width:270px}
}

.milestones .history-project-photo{margin:20px 0 0;width:100%;max-width:421.2px}

.milestones .history-document-photos{display:grid;grid-template-columns:repeat(3,minmax(0,220px));gap:20px;margin-top:20px;max-width:700px}
.milestones .history-document-photos figure{margin:0;min-width:0;max-width:none}
.history-document-photos figure>a{display:block}
.milestones .history-document-photos img{width:100%;height:auto;max-height:none}
@media(max-width:1100px){.milestones .history-document-photos{grid-template-columns:repeat(2,minmax(0,220px));max-width:460px}}

.history-document-photos figcaption{color:var(--muted)}

.page-intro.history-page-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:6%;align-items:center}
.history-header-photo{margin:0;max-width:480px;width:100%;justify-self:end}
.history-header-photo img{display:block;width:100%;height:auto}
@media(max-width:800px){.page-intro.history-page-intro{grid-template-columns:1fr;gap:32px}.history-header-photo{justify-self:start;max-width:480px}}

/* Keep both parade photos the same displayed height without cropping. */
.milestones .history-parade-photos figure:last-child{flex-basis:465.6px;max-width:465.6px}
.milestones .history-parade-photos figure:last-child img{width:100%;height:auto}
@media(max-width:650px){.milestones .history-parade-photos figure:last-child{flex-basis:100%;max-width:min(100%,465.6px)}}

/* Center the original shop photo above the History introduction. */
.page-intro.history-page-intro{grid-template-columns:1fr;gap:32px;text-align:left}
.history-page-intro .history-header-photo{grid-row:1;justify-self:center;margin:0 auto;max-width:480px}
.history-header-copy .page-description{margin-left:0;margin-right:0}

.history-opening-photo{margin:30px 0 0;max-width:420px;width:100%}
.history-opening-photo img{display:block;width:100%;height:auto}
