.story-photo { margin: 0; min-width: 0; }
.story-photo img { width: 100%; display: block; height: auto; }
.product-story > img, .record-story > img, .news-lead > img { height: auto; }
.story-photo figcaption { font-size: 12px; line-height: 1.6; padding-top: 16px; max-width: 62ch; }
.origin-spread { display: grid; grid-template-columns: 1.2fr 1fr; gap: 6vw; padding: 100px 7vw; align-items: center; }
.origin-spread h3 { margin-bottom: 28px !important; }
.origin-spread .story-action { margin-top: 25px; }
.turtle-history, .rugby-road, .campaign-timeline { padding: 80px 8vw 100px; }
.turtle-history { background: #efdfef; }
.story-timeline { list-style: none; padding: 0; margin: 60px 0 0; }
.story-timeline li { display: grid; grid-template-columns: 27% 1fr; gap: 5vw; border-top: 1px solid color-mix(in srgb,currentColor 27%,transparent); padding: 35px 0; }
.timeline-date { font: clamp(23px,3vw,40px)/1.15 Georgia,serif; }
.story-timeline h4 { margin-bottom: 15px !important; }
.story-timeline p { max-width: 60ch !important; }
.community-album { background: #f7efda; color: #3b382d; padding: 90px 8vw; display: grid; grid-template-columns: 1.2fr 1fr; gap: 45px 6vw; align-items: center; }
.community-album header { grid-column: 1 / -1; }
.community-album > .story-photo:not(.birthday-photo) { grid-column: 1 / -1; }
.community-album > .story-photo:not(.birthday-photo) img { max-height: 550px; object-fit: cover; }
.community-album .birthday-photo { transform: rotate(2deg); }
.community-album .birthday-photo img { max-height: 650px; object-fit: cover; }
.album-note { max-width: 44ch; }
.album-note .story-action { margin-top: 30px; }
.story-sources { max-width: none !important; padding: 25px 8vw 45px; font-size: 12px !important; }
.rugby-opening { padding: 100px 8vw; display: grid; grid-template-columns: 1fr 1.2fr; gap: 10vw; align-items: center; }
.rugby-years { font: clamp(90px,14vw,220px)/.9 Georgia,serif; letter-spacing: -.08em; }
.rugby-years span { color: #a64b36; }
.rugby-opening h3 { margin-bottom: 25px !important; }
.rugby-playbook { padding: 85px 8vw; background: #a6402c; color: #fff1d9; }
.rugby-playbook h3 { max-width: 18ch; font-size: clamp(36px,5vw,72px) !important; }
.rugby-playbook > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 40px; margin-top: 50px; }
.rugby-playbook p { margin: 0 !important; }
.rugby-playbook b { display: block; font-size: 22px; margin-bottom: 10px; }
.rugby-field-trip { padding: 0 0 80px; background: #d4d1bd; }
.rugby-field-trip .story-photo img { width: 100%; max-height: 800px; object-fit: cover; }
.rugby-field-trip figcaption { padding: 20px 8vw; max-width: none; }
.rugby-field-trip > div { padding: 40px 8vw 0; display: grid; grid-template-columns: 1fr 1fr; gap: 30px 8vw; }
.rugby-field-trip > div h3 { grid-row: span 2; }
.rugby-field-trip > div p { margin: 0 !important; }
.rugby-lessons { padding: 90px 8vw; background: #e4ddcd; }
.rugby-lessons header { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 8vw; }
.story-lessons { margin-top: 55px; border-top: 1px solid #9d9487; }
.story-lessons details { border-bottom: 1px solid #9d9487; }
.story-lessons summary { padding: 28px 45px 28px 0; font: 26px/1.3 Georgia,serif; cursor: pointer; position: relative; list-style: none; }
.story-lessons summary::-webkit-details-marker { display: none; }
.story-lessons summary::after { content: '+'; position: absolute; right: 5px; top: 25px; font: 30px Georgia,serif; }
.story-lessons details[open] summary::after { content: '−'; }
.story-lessons summary span { font: 12px -apple-system,sans-serif; margin-right: 30px; }
.story-lessons p { padding: 0 0 30px 50px; }
.campaign-work { background: #214e3e; color: #eff1df; padding: 90px 8vw; display: grid; grid-template-columns: .9fr 1.2fr; gap: 8vw; }
.campaign-work ol { list-style: none; padding: 0; margin: 0; counter-reset: contribution; }
.campaign-work li { padding: 30px 0; border-top: 1px solid #b9c9a94d; counter-increment: contribution; }
.campaign-work li::before { content: '0' counter(contribution); font-size: 12px; display: block; margin-bottom: 18px; }
.campaign-work h4 { margin-bottom: 16px !important; }
.campaign-milestone { padding: 85px 8vw; display: grid; grid-template-columns: 1fr 1fr; gap: 35px 6vw; background: #d0d9b7; }
#chapter .milestone-number { font: clamp(70px,12vw,180px)/1 Georgia,serif; letter-spacing: -.06em; }
.milestone-number span { display: block; font: 15px/2 -apple-system,sans-serif; letter-spacing: 0; margin-top: 18px; }
.campaign-milestone h3 { margin-bottom: 24px !important; }
.campaign-now { padding: 90px 8vw; background: #194638; color: #eef0dc; }
.campaign-now p { margin: 25px 0 !important; }
.campaign-now .story-action { color: inherit; }
.library-search { display: block; font-size: 12px; margin-top: 35px; max-width: 500px; }
.library-search input { display: block; width: 100%; margin-top: 12px; padding: 14px 2px; border: 0; border-bottom: 1px solid #8c785f; border-radius: 0; color: inherit; background: transparent; font-size: 16px; }
.library-search input::placeholder { color: #76634f; opacity: 1; }
#chapter .library-count { font-size: 12px; margin-top: 18px; }
.full-library { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 65px 3vw; overflow: visible; align-items: end; }
.full-library .book { min-width: 0; max-width: none; min-height: 350px; height: 100%; }
.full-library .book h3 { font-size: clamp(26px,2.7vw,38px) !important; overflow-wrap: anywhere; }
.full-library .book:focus-visible { transform: translateY(-12px) rotate(0); }
.full-library .book small span { display: block; margin-top: 16px; }
.book-emperor { background: #484c3c; transform: rotate(2deg); }
.book-wisdom { background: #923e33; transform: rotate(-2deg); }
.book-hercules { background: #caaa70; color: #322c24; transform: rotate(3deg); }
.library-empty { padding: 0 8vw 70px; }
.client-stories { padding: 0 8vw 80px; }
.client-stories header { margin-bottom: 60px; }
.client-story { display: grid; grid-template-columns: 1fr 1.5fr; gap: 7vw; padding: 60px 0; border-top: 1px solid #769291; align-items: center; }
.client-logo { min-height: 180px; display: grid; place-items: center; padding: 35px; background: #f7f4ed; }
.client-logo img { width: min(100%,270px); max-height: 140px; object-fit: contain; }
.client-atlantek .client-logo { background: #102d3d; }
.client-story h4 { margin-bottom: 20px !important; }
#chapter .client-status { font-size: 13px; margin-bottom: 22px; }
.client-story a { text-underline-offset: 5px; }
#chapter.chapter-news { --chapter-bg: #f1eddf; --chapter-ink: #30392b; --chapter-accent: #6d7054; }
.news-masthead { padding: 60px 8vw 70px; }
.news-masthead p { margin-top: 30px !important; }
.news-lead { margin: 0 8vw; padding-block: 45px; border-block: 1px solid #8c9784; display: grid; grid-template-columns: 1fr 1fr; gap: 6vw; align-items: center; }
.news-lead p { margin: 25px 0 !important; }
.news-lead img { width: 100%; }
.news-journal { padding: 70px 8vw; }
.news-journal header p { margin-top: 15px !important; }
.news-journal header { margin-bottom: 35px; }
.news-journal article { display: grid; grid-template-columns: 24% 1fr; gap: 5vw; padding: 35px 0; border-top: 1px solid #b3b6a3; }
.news-journal time { font-size: 13px; padding-top: 3px; }
.news-journal h4 { font-size: clamp(26px,3vw,40px) !important; }
.news-journal h4 a { text-decoration: none; }
.news-journal h4 a:hover { text-decoration: underline; text-underline-offset: 5px; }
.news-journal article p { margin-top: 18px !important; }
.news-follow { padding: 70px 8vw; background: #dedfca; }
.news-follow p { margin: 25px 0 !important; }
.news-follow .story-action { margin-right: 12px; margin-top: 12px; }
@media (max-width: 1100px) and (min-width: 761px) {
  .full-library { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .origin-spread, .rugby-opening, .campaign-work, .campaign-milestone, .client-story, .news-lead { grid-template-columns: 1fr; gap: 35px; }
  .origin-spread, .turtle-history, .rugby-road, .campaign-timeline, .community-album, .rugby-opening, .rugby-playbook, .rugby-lessons, .campaign-work, .campaign-milestone, .campaign-now { padding: 55px 25px; }
  .story-timeline { margin-top: 35px; }
  .story-timeline li { grid-template-columns: 1fr; gap: 18px; padding: 28px 0; }
  .timeline-date { font-size: 23px; }
  .community-album { grid-template-columns: 1fr; }
  .community-album .birthday-photo { margin: 0 12px; }
  .rugby-years { font-size: 110px; }
  .rugby-playbook > div { grid-template-columns: 1fr; gap: 28px; margin-top: 30px; }
  .rugby-field-trip { padding-bottom: 50px; }
  .rugby-field-trip figcaption { padding: 15px 25px; }
  .rugby-field-trip > div { padding: 25px 25px 0; grid-template-columns: 1fr; gap: 25px; }
  .rugby-lessons header { grid-template-columns: 1fr; gap: 20px; }
  .story-lessons summary { font-size: 23px; }
  .story-lessons summary span { display: block; margin-bottom: 10px; }
  .story-lessons p { padding-left: 0; }
  #chapter .milestone-number { font-size: 100px; }
  .full-library { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 35px 18px; }
  .full-library .book { padding: 20px 15px 20px 21px; min-height: 280px; }
  .full-library .book h3 { font-size: clamp(21px,6vw,30px) !important; margin: 25px 0 !important; }
  .full-library .book span, .full-library .book small { font-size: 11px; }
  .client-stories { padding: 0 25px 50px; }
  .client-story { padding: 35px 0; }
  .client-logo { min-height: 160px; }
  .news-masthead, .news-journal, .news-follow { padding: 45px 25px; }
  .news-lead { margin: 0 25px; }
  .news-journal article { grid-template-columns: 1fr; gap: 18px; }
  .news-journal h4 { font-size: 27px !important; }
  .story-sources { padding: 25px; }
}
