/* Crawfords About: current people and service, followed by reverse history. */
.ca-history {
  --ca-ink:#18312f;
  --ca-orange:#ae421c;
  --ca-teal:#086b63;
  --ca-plum:#603454;
  color:var(--ca-ink);
  font-size:17px;
  line-height:1.7;
  background:#fff;
}
.ca-history *,.ca-lightbox *{box-sizing:border-box}
.ca-history h1,.ca-history h2,.ca-history h3{color:var(--ca-ink);line-height:1.13;letter-spacing:-.035em;margin:0 0 22px}
.ca-history h1{font-size:clamp(36px,4.3vw,55px);font-weight:760;text-wrap:balance}
.ca-history h2{font-size:clamp(29px,3.2vw,39px);font-weight:730}
.ca-history h3{font-size:25px}
.ca-history p{margin:0 0 19px}
.ca-history a{color:inherit}
.ca-history figure{margin:0}
.ca-wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}
.ca-history .ca-eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.14em;font-weight:800;margin:0 0 17px;color:var(--ca-orange)}
.ca-history .ca-lead{font-size:clamp(19px,1.9vw,23px);line-height:1.55}
.ca-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:13px 20px;min-height:48px;background:var(--ca-orange);color:#fff!important;text-decoration:none!important;border:2px solid transparent;border-radius:5px;font-size:15px;font-weight:750;line-height:1.4}
.ca-button:hover{background:#843415}
.ca-button:focus-visible,.ca-history a:focus-visible,.ca-history summary:focus-visible,.ca-lightbox button:focus-visible{outline:3px solid #b651d6;outline-offset:4px}
.ca-text-link{display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:700;text-underline-offset:4px}

/* The opening now shows the current workshop; its actions lead into the people. */
.ca-intro{background:#fcf5e8;border-bottom:1px solid #e9d9bd}
.ca-intro .ca-lead{font-size:clamp(19px,1.75vw,21px)}
.ca-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:48px;padding-block:42px}
.ca-hero-copy{min-width:0}
.ca-hero h1 em{font-style:normal;color:var(--ca-orange)}
.ca-hero-copy>p:not(.ca-eyebrow){max-width:590px}
.ca-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin-top:23px}
.ca-intro-photo{min-width:0;padding:8px;background:#fff;border:1px solid #eadcc7;border-radius:8px;box-shadow:0 9px 24px #533f1b12}
.ca-intro-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:3px}
.ca-intro-photo figcaption{font-size:12px;line-height:1.5;padding:10px 6px 3px;color:#59635e}

/* Both people share the same portrait area and readable full-width biographies. */
.ca-people{padding-block:42px 34px}
.ca-people>header{max-width:760px;margin-bottom:26px}
.ca-people>header h2{margin-bottom:12px}
.ca-people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.ca-person{min-width:0;border-top:2px solid #e7d9bc;padding-top:24px}
.ca-person-top{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:center;gap:24px;margin-bottom:24px}
.ca-person-photo{width:160px;height:200px;overflow:hidden;border-radius:7px;border-bottom:4px solid #dfac49;background:#f0eee5}
.ca-person-photo img,.ca-person-photo svg{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.ca-person-top>div{min-width:0}
.ca-person-top h3{font-size:27px;margin-bottom:10px}
.ca-person-top .ca-person-role{font-size:15px;font-weight:750;line-height:1.5;color:var(--ca-teal);margin:0;max-width:28ch}
.ca-person-copy{min-width:0}
.ca-person-copy p{font-size:16px;line-height:1.7;margin-bottom:16px}
.ca-person-copy>p:last-child{margin-bottom:0}
.ca-person-copy>a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:700;text-underline-offset:4px}

/* Practical service and software share a quiet full-width band after the profiles. */
.ca-service{padding-block:40px;background:#f3f6f4;border-block:1px solid #e0e7e1}
.ca-service>.ca-wrap>header{max-width:790px}
.ca-service>.ca-wrap>header h2{font-size:clamp(28px,2.6vw,32px);margin-bottom:14px}
.ca-service>.ca-wrap>header>p:last-child{margin-bottom:0}
.ca-service>.ca-wrap>.ca-text-link{margin-top:20px;gap:8px}
.ca-history .ca-approach{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;padding:21px 0;margin:23px 0 0;border-block:1px solid #dce3d9}
.ca-approach li{min-width:0;padding:0;margin:0}
.ca-approach strong{display:block;font-size:16px;line-height:1.45}
.ca-approach p{font-size:15px;line-height:1.6;margin:7px 0 0}
.ca-software-note{display:grid;grid-template-columns:minmax(0,70ch) 190px;gap:40px;align-items:center;padding:27px 0 0;margin-top:0}
.ca-software-note>div{min-width:0;max-width:70ch;font-size:16px}
.ca-software-note .ca-eyebrow{color:var(--ca-teal)}
.ca-software-note h3{font-size:25px;margin-bottom:13px}
.ca-software-note p{font-size:16px;line-height:1.65;margin-bottom:13px}
.ca-software-note>div>p:last-child{margin-bottom:0}
.ca-software-note .ca-software-stat{border-left:1px solid #d1ddd4;padding-left:24px;margin:0;color:#36584c;font-size:14px;line-height:1.5}
.ca-software-stat strong{display:block;font-size:36px;line-height:1.15;letter-spacing:-.035em;margin-bottom:8px}
.ca-software-stat span{display:block;font-size:13px}

/* Four reverse-chronology chapters share a dedicated right-hand timeline column. */
.ca-history-section{background:#faf7f0;border-top:1px solid #e5dccd;padding-block:42px 24px}
.ca-history-intro{padding-bottom:26px}
.ca-history-intro h2{margin-bottom:14px}
.ca-history-intro>p:last-child{max-width:760px;margin-bottom:0}
.ca-history-layout{display:grid;grid-template-columns:minmax(0,1fr) 175px;gap:32px;align-items:stretch}
.ca-history-content,.ca-history-rail{min-width:0}
.ca-history-rail{position:relative}
.ca-timeline{position:sticky;top:calc(var(--ca-header-offset,90px) + 20px);display:block;padding:8px 0 16px}
.ca-timeline:before{content:"";position:absolute;left:8px;top:29px;bottom:48px;width:1px;background:#bdc8ba}
.ca-timeline a{position:relative;display:flex;flex-direction:column;gap:4px;min-height:78px;padding:13px 5px 13px 31px;border-radius:4px;font-size:13px;line-height:1.4;text-decoration:none;color:#56635d}
.ca-timeline a:before{content:"";position:absolute;left:3px;top:24px;width:11px;height:11px;border:2px solid #91a48f;background:#faf7f0;border-radius:50%}
.ca-timeline strong{font-size:15px;font-weight:650}
.ca-timeline a:hover{background:#f1ebdc;color:var(--ca-ink)}
.ca-timeline a[aria-current="location"]{background:#f2e6cd;color:var(--ca-ink);font-weight:650}
.ca-timeline a[aria-current="location"] strong{font-weight:850}
.ca-timeline a[aria-current="location"]:before{background:var(--ca-orange);border-color:var(--ca-orange);box-shadow:0 0 0 3px #fff9ef}
.ca-period-control{display:none}
.ca-chapter{padding:29px 28px 32px;margin-bottom:24px;border:1px solid #0000000c;border-radius:8px;min-width:0}
.ca-tone-container{background:#fcf1d9;--ca-chapter:#975914;--ca-accent:#e6b54c}
.ca-tone-mitchell{background:#f8e9e2;--ca-chapter:#9a4937;--ca-accent:#ce7962}
.ca-tone-tuggeranong{background:#e8f3e9;--ca-chapter:#256750;--ca-accent:#6ba584}
.ca-tone-caravan,.ca-tone-beginnings{background:#f0eaf4;--ca-chapter:#654b72;--ca-accent:#ae93b8}
.ca-chapter-heading{display:block}
.ca-chapter-heading .ca-eyebrow{margin-bottom:9px;color:var(--ca-chapter)}
.ca-chapter-heading h2,.ca-chapter-heading h3{font-size:clamp(28px,2.6vw,32px);margin:0}
.ca-chapter-number{font-size:46px;line-height:1;letter-spacing:-.07em;color:var(--ca-chapter);opacity:.75;font-weight:750}
.ca-chapter-copy{padding-block:19px 25px}
.ca-chapter-copy p{max-width:74ch;margin-bottom:19px}
.ca-chapter-copy p:last-child{margin-bottom:0}
.ca-chapter-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px;margin-top:23px}
.ca-chapter-actions .ca-plans-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:0}
.ca-button-light{background:#ffffffb8;color:var(--ca-chapter)!important;border:1px solid #0002;flex-wrap:wrap;gap:4px 10px;min-width:235px;padding:13px 16px}
.ca-button-light:hover{background:#fff}
.ca-button-light .ca-count{display:block;font-weight:500;font-size:12px;flex-basis:100%;order:3}
.ca-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ca-previews figure{min-width:0}
.ca-previews a{display:block;position:relative;overflow:hidden;border-radius:6px;background:#fff;box-shadow:0 2px 7px #00000010;border:5px solid white;aspect-ratio:4/3}
.ca-previews img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}
.ca-previews a:hover img{transform:scale(1.025)}
.ca-previews figcaption{font-size:14px;font-weight:650;margin-top:9px;color:var(--ca-chapter);line-height:1.5}
.ca-previews a>.ca-preview-action{position:absolute;right:8px;bottom:8px;max-width:calc(100% - 16px);border-radius:4px;padding:8px 10px;display:block;font-size:12px;font-weight:750;line-height:1.3;background:#fffffff2;box-shadow:0 1px 5px #0002}
.ca-previews a>.ca-preview-action{right:6px;bottom:6px;max-width:calc(100% - 12px);padding:7px 9px}
.ca-expand{position:absolute;right:8px;bottom:8px;width:26px;height:26px;border-radius:4px;display:grid;place-items:center;background:rgb(255 255 255 / 82%);color:#33464e;box-shadow:0 1px 4px #0002;pointer-events:none}
.ca-expand svg{display:block;width:16px;height:16px}

/* The original solar collage and the van now belong within one historical period. */
.ca-container-feature{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:27px;margin-block:24px 27px}
.ca-container-feature>div{min-width:0}
.ca-container-feature .ca-chapter-copy,.ca-caravan-ending .ca-chapter-copy{padding:0}
.ca-container-feature h3{font-size:24px;margin-bottom:13px}
.ca-container-feature p{font-size:16px;line-height:1.65}
.ca-container-feature p:last-child{margin-bottom:0}
.ca-hero-photos{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0;text-decoration:none;border:7px solid #fff;border-radius:7px;box-shadow:0 8px 22px #533f1b15;transform:rotate(.7deg)}
.ca-hero-image{display:block;height:265px;overflow:hidden;border-radius:3px;min-width:0}
.ca-hero-image img{width:100%;height:100%;object-fit:cover;display:block}
.ca-hero-label{position:absolute;bottom:10px;left:7px;right:7px;background:#fffdf2f5;padding:11px 12px;box-shadow:0 2px 10px #0001;border-left:4px solid #d69622;font-size:12px;line-height:1.5}
.ca-hero-label strong{display:block;font-size:14px}
.ca-hero-label>span{display:flex;justify-content:space-between;gap:10px}
.ca-history .ca-van-note{display:grid;grid-template-columns:160px minmax(0,1fr);gap:22px;align-items:center;border-top:1px solid #d8bf8b;margin-top:25px;padding-top:20px}
.ca-van-note>a{display:block}
.ca-van-note img{display:block;width:100%;height:auto;border-radius:4px}
.ca-van-note figcaption{font-size:14px;line-height:1.6}
.ca-van-note figcaption p{margin:0}
.ca-van-note figcaption strong{display:block;margin-bottom:5px}
.ca-caravan-ending{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;align-items:center;margin-top:24px}
.ca-caravan,.ca-caravan-ending>div{min-width:0}
.ca-caravan a{display:block}
.ca-caravan img{display:block;width:100%;height:auto;border-radius:5px}
.ca-caravan figcaption{font-size:13px;line-height:1.5;padding-top:10px;color:#59635e}
.ca-caravan figcaption span{display:block;font-size:12px;font-weight:750;color:var(--ca-chapter);margin-bottom:4px}
.ca-caravan-ending p{font-size:16px;line-height:1.65}
.ca-caravan-ending p:last-child{margin-bottom:0}
.ca-closing{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:37px 45px}
.ca-closing h2{font-size:29px;margin-bottom:10px}
.ca-closing p:last-child{margin-bottom:0}
.ca-closing .ca-button{flex-shrink:0}

/* Full build archives retain their chronological layout and interactions. */
.ca-gallery-head{padding-block:32px 38px}
.ca-back{display:inline-block;margin-bottom:30px;text-decoration:none;font-size:14px;font-weight:700}
.ca-gallery-head .ca-eyebrow{color:var(--ca-chapter)}
.ca-gallery-head h1,.ca-gallery-head .ca-lead{max-width:850px}
.ca-gallery-count{font-size:14px;font-weight:650;color:var(--ca-chapter)}
.ca-gallery-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin:24px 0 0}
.ca-gallery-actions>a:not(.ca-button){display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:650;text-underline-offset:4px}
.ca-gallery-switch{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.ca-gallery-switch a{text-decoration:none;border:1px solid #0002;background:#fff9;padding:9px 16px;min-height:44px;border-radius:30px;font-size:14px;font-weight:700}
.ca-gallery-switch a[aria-current=page]{background:var(--ca-chapter);color:#fff;border-color:var(--ca-chapter)}
.ca-gallery-body{padding-block:30px 50px}
.ca-stage-menu{border:1px solid #d6dfd8;border-radius:5px;background:#f5f7f1;margin-bottom:16px}
.ca-stage-menu summary{cursor:pointer;padding:15px 18px;font-weight:750}
.ca-stage-menu summary span{font-size:13px;color:#58645b;font-weight:400;margin-left:15px}
.ca-stage-menu nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;padding:0 18px 15px}
.ca-stage-menu nav a{padding:9px 0;min-height:44px;font-size:14px;border-top:1px solid #dce4da}
.ca-gallery-help{font-size:14px;color:#57675e}
.ca-stage{padding-top:28px}
.ca-stage h2{font-size:27px;border-bottom:1px solid #dfe5dd;padding-bottom:15px;display:flex;gap:15px;align-items:center}
.ca-stage h2 span{font-size:15px;background:#f4e9cf;color:#865214;min-width:34px;flex-shrink:0;height:34px;border-radius:50%;display:grid;place-items:center;letter-spacing:0}
.ca-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}
.ca-photo{min-width:0}
.ca-photo>a{position:relative;display:block;aspect-ratio:4/3;background:#eeefea;border:1px solid #e1e4dc;border-radius:5px;overflow:hidden}
.ca-photo img{width:100%;height:100%;object-fit:contain;display:block}
.ca-photo figcaption{font-size:14px;padding:10px 2px 0;line-height:1.5}
.ca-photo figcaption p{margin-top:5px}
.ca-photo-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:#58635c}
.ca-photo-meta>span{color:#96551b;font-weight:800;font-variant-numeric:tabular-nums}
.ca-gallery-end{border-top:2px solid #dcb058;padding-top:30px;margin-top:35px;display:flex;align-items:center;gap:25px;flex-wrap:wrap}
.ca-gallery-end p{font-size:21px;font-weight:700;flex-basis:100%;margin:0}
.ca-gallery-end>a:last-child{font-size:14px}
.ca-plans{background:#f1f5e9;border:1px solid #d1decb;border-radius:7px;padding:26px;margin-bottom:30px}
.ca-plans-intro{display:grid;grid-template-columns:230px minmax(0,1fr);gap:30px;align-items:center}
.ca-plans-intro img{display:block;width:100%;height:auto;border:5px solid white;box-shadow:0 2px 6px #0001}
.ca-plans h2{font-size:29px;margin-bottom:15px}
.ca-plans p{font-size:15px}
.ca-plans .ca-eyebrow{color:#39744c;font-size:11px;margin-bottom:10px}
.ca-plan-downloads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:22px}
.ca-plan-downloads a{display:flex;flex-direction:column;text-decoration:none;background:#fff;padding:17px;border:1px solid #d0dcc8;border-radius:4px;font-size:12px;line-height:1.5}
.ca-plan-downloads a:hover{border-color:#648653}
.ca-plan-downloads strong{font-size:15px;display:flex;justify-content:space-between;gap:10px}
.ca-plan-format{font-size:11px;font-weight:650;color:#466340;margin:5px 0 9px}
.ca-plans-link{display:inline-block;font-size:14px;font-weight:700;margin-top:22px;text-underline-offset:4px}

/* Native anchor fallback, then measured header geometry when About JS is active.
   JS scrolls to the same sum; scroll padding is never added twice. */
.ca-history [id]{scroll-margin-top:12px}
.ca-history [data-ca-chapter]{scroll-margin-top:calc(12px + var(--ca-mobile-nav-height,0px))}
.ca-history [data-ca-chapter]:focus-visible{outline:3px solid #b651d6;outline-offset:5px}
html.ca-about-enhanced{scroll-padding-top:var(--ca-header-offset,90px)}

/* Existing lightbox sizing, contrast, keyboard controls and image containment. */
.ca-lightbox{border:0;border-radius:8px;padding:15px 20px 12px;width:min(1150px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 30px);background:#18211f;color:#fff;box-shadow:0 15px 70px #0008;overflow:auto}
.ca-lightbox::backdrop{background:#101412e8}
.ca-lightbox button{background:#fff1;border:1px solid #fff5;color:white;border-radius:5px;min-height:42px;min-width:46px;padding:7px 13px;font:inherit;cursor:pointer}
.ca-lightbox button:hover{background:#fff3}
.ca-lightbox button:disabled{opacity:.3;cursor:default}
.ca-lightbox-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;gap:20px;margin-bottom:10px}
.ca-lightbox-image{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;height:min(63dvh,720px);min-height:0}
.ca-lightbox-image img{display:block;width:100%;height:100%;min-width:0;min-height:0;max-height:100%;object-fit:contain}
.ca-lightbox-image [data-ca-loading]{position:absolute;inset:auto;text-align:center;font-size:14px}
.ca-lightbox-image [hidden]{display:none}
.ca-lightbox-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-top:12px}
.ca-lightbox-bottom>div{text-align:center;font-size:15px;line-height:1.4;min-width:0}
.ca-lightbox-bottom p{margin:0 0 5px}
.ca-lightbox-bottom span{font-size:12px;color:#d0d7d0}
.ca-lightbox-hint{text-align:center;color:#bbc9c0;font-size:12px;margin:9px 0 0}
.ca-lightbox-bottom button{font-size:22px;flex-shrink:0}

@media(max-width:1100px){
  .ca-hero-grid{gap:32px}
  .ca-people-grid{gap:30px}
  .ca-person-top{gap:20px}
  .ca-history-layout{grid-template-columns:minmax(0,1fr) 160px;gap:24px}
  .ca-chapter{padding-inline:22px}
  .ca-previews{gap:13px}
}
@media(max-width:900px){
  .ca-people-grid{grid-template-columns:1fr;gap:28px}
  .ca-person-copy{max-width:78ch}
  .ca-history-layout{display:block}
  .ca-history-rail{display:none}
  .ca-period-control{display:block;position:sticky;top:var(--ca-header-offset,72px);z-index:30;background:#fffaf1;border-block:1px solid #dfd5c2;box-shadow:0 3px 8px #59401c0d;margin-bottom:20px}
  .ca-period-control summary{display:flex;align-items:center;gap:12px;width:calc(100% - 40px);min-height:64px;margin-inline:auto;padding:10px 0;list-style:none;cursor:pointer}
  .ca-period-control summary::-webkit-details-marker{display:none}
  .ca-period-kicker{flex:0 0 66px;font-size:11px;line-height:1.35;font-weight:750;letter-spacing:.04em;text-transform:uppercase;color:#6b6e61}
  .ca-period-control [data-ca-current-period]{display:flex;align-items:center;flex:1;min-width:0;min-height:40px;font-size:15px;line-height:1.35;font-weight:750}
  .ca-period-control summary>[aria-hidden]{flex:0 0 16px;text-align:center;font-size:18px}
  .ca-period-chevron{transition:transform .15s}
  .ca-period-control[open] .ca-period-chevron{transform:rotate(180deg)}
  .ca-period-control[open] summary{border-bottom:1px solid #e5dbc8}
  .ca-period-control nav{position:absolute;left:20px;right:20px;top:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:10px;background:#fffdf7;border:1px solid #dfd5c2;border-radius:0 0 6px 6px;box-shadow:0 9px 18px #2d281823;max-height:calc(100dvh - var(--ca-header-offset,72px) - var(--ca-mobile-nav-height,64px) - 24px);overflow:auto}
  .ca-period-control nav a{display:flex;flex-direction:column;justify-content:center;gap:3px;min-height:58px;padding:10px 12px;border-radius:4px;font-size:14px;line-height:1.4;text-decoration:none}
  .ca-period-control nav strong{font-size:15px}
  .ca-period-control nav a:hover{background:#f5efe2}
  .ca-period-control nav a[aria-current="location"]{background:#f2e6cd;font-weight:750;box-shadow:inset 3px 0 var(--ca-orange)}
  .ca-period-control nav a[aria-current="location"] strong{font-weight:850}
}
@media(max-width:760px){
  .ca-wrap{width:calc(100% - 40px)}
  .ca-hero-grid{grid-template-columns:1fr;gap:26px;padding-block:31px}
  .ca-intro-photo{width:min(560px,100%);justify-self:start}
  .ca-intro-photo img{aspect-ratio:16/10}
  .ca-people{padding-block:33px 28px}
  .ca-service{padding-block:32px}
  .ca-software-note{grid-template-columns:minmax(0,1fr) 155px;gap:22px;padding:22px 0 0}
  .ca-software-note .ca-software-stat{padding-left:19px}
  .ca-software-stat strong{font-size:31px}
  .ca-history-section{padding-top:32px}
  .ca-history-intro{padding-bottom:22px}
  .ca-chapter{padding:25px 22px 28px}
  .ca-chapter-heading h2,.ca-chapter-heading h3{font-size:30px}
  .ca-previews figcaption{font-size:13px}
  .ca-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 15px}
  .ca-stage h2{font-size:23px}
  .ca-gallery-head{padding-top:25px}
  .ca-gallery-head h1{font-size:38px}
  .ca-stage-menu nav{grid-template-columns:1fr}
  .ca-gallery-actions{gap:10px 18px}
  .ca-plans-intro{grid-template-columns:1fr;gap:20px}
  .ca-plans-intro img{max-width:300px}
  .ca-plan-downloads{grid-template-columns:1fr}
  .ca-plans{padding:20px}
  .ca-plans h2{font-size:26px}
}
@media(max-width:680px){
  .ca-history .ca-approach{grid-template-columns:1fr;gap:17px;padding-block:18px}
  .ca-approach p{margin-top:4px}
  .ca-software-note{grid-template-columns:1fr;gap:18px}
  .ca-software-note .ca-software-stat{border-left:0;border-top:1px solid #d1ddd4;padding:16px 0 0}
  .ca-software-stat strong{display:inline;font-size:29px;margin:0 9px 0 0}
  .ca-software-stat span{display:inline;font-size:14px}
  .ca-container-feature,.ca-caravan-ending{grid-template-columns:1fr;gap:22px}
  .ca-container-feature .ca-hero-photos{width:min(480px,100%);justify-self:center}
  .ca-hero-image{height:265px}
  .ca-closing{display:block;padding-block:30px 38px}
  .ca-closing .ca-button{margin-top:20px}
}
@media(max-width:580px){
  .ca-history{font-size:16px}
  .ca-person-top{gap:18px}
  .ca-person-top h3{font-size:26px}
  .ca-person-top .ca-person-role{font-size:14px}
  .ca-person-copy p{font-size:16px}
  .ca-period-control nav{grid-template-columns:1fr}
  .ca-chapter{padding:22px 17px 25px}
  .ca-chapter-heading h2,.ca-chapter-heading h3{font-size:28px}
  .ca-chapter-number{font-size:39px}
  .ca-previews{gap:11px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .ca-previews figure:first-child{grid-column:1/-1}
  .ca-previews figure:first-child a{aspect-ratio:16/9}
  .ca-previews a{border-width:3px}
  .ca-previews a>.ca-preview-action{font-size:11px;padding:6px 7px}
  .ca-history .ca-van-note{grid-template-columns:115px minmax(0,1fr);gap:17px}
  .ca-van-note figcaption{font-size:13px}
  .ca-photo-grid{grid-template-columns:1fr}
  .ca-photo>a{aspect-ratio:4/3}
  .ca-button{font-size:14px}
  .ca-button-light{min-width:0;max-width:100%}
  .ca-lightbox{width:calc(100vw - 16px);max-width:calc(100vw - 16px);padding:10px;max-height:calc(100dvh - 16px)}
  .ca-lightbox-image{height:55dvh}
  .ca-lightbox-bottom{gap:10px}
  .ca-lightbox-bottom>div{font-size:13px}
  .ca-lightbox-hint{font-size:11px}
}
@media(max-width:360px){
  .ca-person-top{grid-template-columns:1fr;gap:17px}
  .ca-period-kicker{flex-basis:58px;font-size:10px}
  .ca-period-control summary{gap:9px}
}
@media(prefers-reduced-motion:reduce){
  .ca-previews img,.ca-period-chevron{transition:none}
  html.ca-about-enhanced{scroll-behavior:auto}
}
