/* Secondary pages pass (2026-11-02): footer merge, section rhythm, research fit, blog index cards. Loads after spacing.css. */

footer.access-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:var(--s-8);row-gap:0;border-top:1px solid var(--line);padding-top:var(--s-6);padding-bottom:var(--s-8)}
footer.access-footer>span{grid-column:1;grid-row:1}
footer.access-footer>nav{grid-column:2;grid-row:1 / span 2;align-self:start;margin-top:0}
footer.access-footer>.rt-us-footer{grid-column:1;grid-row:2;border:0;margin:0;padding:0;width:auto;opacity:1}
footer.access-footer>.rt-us-footer>div{width:auto;max-width:none;margin:0;display:flex;flex-wrap:wrap;column-gap:var(--s-4);row-gap:0;color:var(--muted)}
footer.access-footer>.rt-us-footer .rt-locations{margin:0}
@media (max-width:760px){
  footer.access-footer{grid-template-columns:minmax(0,1fr);padding-top:var(--s-6);padding-bottom:var(--s-6)}
  footer.access-footer>nav{grid-column:1;grid-row:3;margin-top:var(--s-4)}
  footer.access-footer>.rt-us-footer>div{display:block}
  footer.access-footer>.rt-us-footer strong,footer.access-footer>.rt-us-footer span{display:block}
}

section.wrap.secondary-hero,section.careers-hero,section.resource-hero{padding-top:var(--s-12);padding-bottom:var(--s-16)}
section.company-story,section#team.people-section,section.company-values,section.wrap.company-facts,section.wrap.join-section,section.roles-section,section.careers-culture,section.wrap.research-foundations,section.wrap.research-reading,section.resource-library,section.resource-next{padding-top:var(--s-16);padding-bottom:var(--s-16)}
section.open-application,section.wrap.research-feature{padding:var(--s-12)}
section.open-application{margin-bottom:var(--s-16)}
@media (max-width:760px){
  section.wrap.secondary-hero,section.careers-hero,section.resource-hero{padding-top:var(--s-8);padding-bottom:var(--s-12)}
  section.company-story,section#team.people-section,section.company-values,section.wrap.company-facts,section.wrap.join-section,section.roles-section,section.careers-culture,section.wrap.research-foundations,section.wrap.research-reading,section.resource-library,section.resource-next{padding-top:var(--s-12);padding-bottom:var(--s-12)}
  section.open-application,section.wrap.research-feature{padding:var(--s-6)}
  section.open-application{margin-bottom:var(--s-12)}
}

.careers-index section.careers-hero{column-gap:var(--s-12)}
.careers-index .roles-heading{margin-bottom:var(--s-4)}
.careers-index .role-controls{margin-bottom:var(--s-3)}
.careers-index .job-row>a{padding-top:var(--s-4);padding-bottom:var(--s-4)}
.careers-index section.careers-culture{column-gap:var(--s-12)}
.careers-index .culture-points{row-gap:var(--s-4)}
.careers-index .culture-points article{padding-bottom:var(--s-4)}
.careers-detail section.job-hero{padding-top:var(--s-8);padding-bottom:var(--s-8)}
.careers-detail .job-back{margin-bottom:var(--s-6)}
.careers-detail .job-content{padding-top:var(--s-12);padding-bottom:var(--s-16);column-gap:var(--s-12)}
.careers-detail .job-bottom-apply{margin-top:var(--s-8)}
@media (max-width:760px){
  .careers-detail .job-content{padding-top:var(--s-6);padding-bottom:var(--s-12)}
}

@media (min-width:1101px){
  main.research-page{width:min(1320px,calc(100% - 96px));margin:0 auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:var(--s-12);align-items:start;padding-top:var(--s-12);padding-bottom:var(--s-12)}
  main.research-page>section.wrap{width:auto;margin:0}
  main.research-page>section.wrap.research-hero{grid-column:1;padding:0}
  main.research-page .research-hero h1{font-size:48px;line-height:1.08;margin-top:var(--s-4);margin-bottom:0}
  main.research-page .research-hero>p:not(.eyebrow){font-size:16px;line-height:1.7;margin-top:var(--s-4);max-width:480px}
  main.research-page>section.wrap.research-feature{grid-column:2;grid-row:1;padding:var(--s-8);grid-template-columns:minmax(0,3fr) minmax(0,2fr);column-gap:var(--s-8);align-items:center}
  main.research-page .research-feature h2{font-size:32px;line-height:1.15;margin-top:var(--s-3)}
  main.research-page .research-feature p:not(.eyebrow){font-size:16px;line-height:1.6;margin-top:var(--s-3)}
  main.research-page .research-feature .button{margin-top:var(--s-4)}
  main.research-page .research-number{font-size:64px;line-height:1}
  main.research-page .research-number span{font-size:16px;margin-top:var(--s-2)}
  main.research-page>section.wrap.research-foundations{grid-column:1 / -1;padding:var(--s-12) 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--s-8)}
  main.research-page .research-foundations>.eyebrow{grid-column:1 / -1;margin-bottom:var(--s-4)}
  main.research-page .research-item{display:block;padding:var(--s-4) 0 0}
  main.research-page .research-item>span{display:block;font-size:16px;padding:0}
  main.research-page .research-item h3{font-size:24px;line-height:1.2;margin-top:var(--s-2)}
  main.research-page .research-item p{font-size:16px;line-height:1.6;margin:var(--s-2) 0 0}
  main.research-page>section.wrap.research-reading{grid-column:1 / -1;padding:var(--s-8) 0 0;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:var(--s-12);align-items:start}
  main.research-page .research-reading h2{font-size:24px;line-height:1.2;padding-top:var(--s-3)}
  main.research-page .research-reading>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s-6)}
  main.research-page .research-reading a{font-size:16px;line-height:1.4;padding:var(--s-3) 0;min-height:44px;align-items:center}
}

.blog-index .journal-controls{grid-template-columns:minmax(0,1fr);row-gap:var(--s-4)}
.blog-filters{display:flex;flex-wrap:wrap;gap:var(--s-2)}
.blog-filters button{min-height:44px;min-width:44px;padding:var(--s-2) var(--s-4);font:16px/1.2 var(--sans);color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:4px;cursor:pointer}
.blog-filters button:hover:not([aria-pressed=true]){background:var(--paper)}
.blog-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.blog-filters button:focus-visible,.blog-index .journal-controls input:focus-visible,.blog-index .journal-row>a:focus-visible{outline:2px solid #306acb;outline-offset:2px}
.blog-index #article-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-12) var(--s-6)}
.blog-index .journal-row{border:0;border-radius:0;background:transparent;overflow:visible}
.blog-index .journal-row>a{padding:0}
.blog-index .journal-row>a:hover{background:transparent}
.blog-index .journal-row>a:hover h2{text-decoration:underline;text-underline-offset:4px}
.blog-index .journal-image,.blog-index .journal-image-empty{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center;padding:0;border:1px solid var(--line);border-radius:4px;background:var(--cream);filter:grayscale(.16) sepia(.16) saturate(.74) contrast(1.025);mix-blend-mode:multiply;transition:filter .18s ease}
/* V6.5 image filter, unchanged; the placeholder takes the same filter */
.blog-index .journal-image-empty{position:relative}
.blog-index .journal-image-empty::after{content:"";position:absolute;left:50%;top:50%;width:48px;height:48px;transform:translate(-50%,-50%);background:url(/assets/rippletide-logo.svg) -23px -13px/252px 75px no-repeat}
@media (max-width:900px){.blog-index #article-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  .blog-index #article-list{grid-template-columns:minmax(0,1fr);gap:var(--s-8)}
  .blog-index .journal-image{height:auto;aspect-ratio:16/9;padding:0;object-fit:cover}
}
.blog-index .blog-hero .eyebrow,.blog-index .blog-hero>div>p:not(.eyebrow),.blog-index .feature-proof .eyebrow,.blog-index .feature-stat span,.blog-index .featured-story p:not(.eyebrow),.blog-index .featured-story .text-link,.blog-index .journal-top p,.blog-index .journal-controls .eyebrow,.blog-index .journal-controls input,.blog-index .journal-label,.blog-index .journal-row p,.blog-index .journal-author{font-size:16px}
.blog-index .journal-controls input{height:44px}
.blog-index .journal-label time{color:var(--muted)}
.blog-index .journal-label{padding:var(--s-4) 0 0}
.blog-index .journal-row>a>div:not(.journal-label){padding:var(--s-2) 0 0}
.blog-index .journal-row p{margin-top:var(--s-2);line-height:1.6}
.blog-index .journal-author{margin-top:var(--s-3)}
@media (max-width:760px){
  .blog-index .journal-label{padding:var(--s-3) 0 0}
  .blog-index .journal-controls label{display:flex;flex-direction:column;align-items:stretch;gap:var(--s-2)}
}
main.research-page .research-item .text-link{margin-top:var(--s-2)}
footer.careers-footer>.rt-us-footer{border-top:0;margin-top:0;padding-top:0;opacity:1}
footer.careers-footer>.rt-us-footer>div{width:100%;margin:0;padding:0;color:var(--muted)}


/* Resources pages (resources, blog, research, company): one page header, the secondary-hero pattern
   (eyebrow, h1, lead) at the size most of them used: h1 42px, 34px on phones; lead 16px. */
body.secondary main .secondary-hero h1{font-size:42px;line-height:1.08;letter-spacing:-.015em;margin:var(--s-4) 0 0;max-width:none}
body.secondary main .secondary-hero .eyebrow{margin:0}
body.secondary main .secondary-hero>p:not(.eyebrow),body.secondary main .secondary-hero>div>p:not(.eyebrow){font-size:16px;line-height:1.7;margin-top:var(--s-4);max-width:650px}
body.secondary main section.secondary-hero{padding-top:var(--s-12);padding-bottom:var(--s-12)}
@media(max-width:760px){
  body.secondary main .secondary-hero h1{font-size:34px}
  body.secondary main section.secondary-hero{padding-top:var(--s-8);padding-bottom:var(--s-8)}
}

/* Careers and the waitlist on the same rule: h1 42px (34px on phones); the Careers hero takes the secondary-hero padding. */
body.careers-index main section.careers-hero h1,main .access-story h1{font-size:42px;line-height:1.08;letter-spacing:-.015em}
body.careers-index main section.careers-hero{padding-top:var(--s-12);padding-bottom:var(--s-12)}
@media(max-width:760px){
  body.careers-index main section.careers-hero h1,main .access-story h1{font-size:34px}
  body.careers-index main section.careers-hero{padding-top:var(--s-8);padding-bottom:var(--s-8)}
}

/* Careers index (2026-11-05): two columns. Left, sticky under the header: eyebrow, h1, subheader, then the San Francisco
   and Paris lines. Right: Open roles, the count, the filters and the list, which scrolls with the page. No full-width
   rules. At 1000px and below (phones included) it stacks, left first, nothing sticky: the list rows need the width. */
body.careers-index main .careers-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:var(--s-16);align-items:start}
body.careers-index main .careers-split>section.careers-hero{display:block;position:sticky;top:56px;border-bottom:0;padding-top:var(--s-12);padding-bottom:var(--s-12)}
body.careers-index main .careers-split>section.roles-section{padding-top:var(--s-12)}
body.careers-index main .careers-split .careers-hubs{border-left:0;padding-left:0;margin-top:var(--s-8);display:grid;row-gap:var(--s-6)}
body.careers-index main section.careers-culture{border-top:0}
/* The culture section takes the split's columns, so its right column starts where the roles list does. */
@media(min-width:1001px){body.careers-index main section.careers-culture{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:var(--s-16)}}
@media(max-width:1000px){
  body.careers-index main .careers-split{display:block}
  body.careers-index main .careers-split>section.careers-hero{position:static;padding-bottom:0}
  body.careers-index main .careers-split .careers-hubs{display:flex;column-gap:var(--s-12);margin-top:var(--s-6);padding-top:0}
  body.careers-index main .careers-split>section.roles-section{padding-top:var(--s-12)}
}
@media(max-width:760px){
  body.careers-index main .careers-split>section.careers-hero{padding-top:var(--s-8)}
  body.careers-index main .careers-split .careers-hubs{column-gap:var(--s-6);margin-top:var(--s-4)}
  body.careers-index main .careers-split>section.roles-section{padding-top:var(--s-8)}
}
