/* Project-led presentation, within Backhouse's existing type and colour system.
   This sheet is loaded only on the homepage and Rocket case study. */
.project-arrow { width:24px; height:24px; flex:none; }
.home-intro { padding:64px 4% 72px; }
.home-intro h1 { max-width:1300px; font-size:clamp(42px,6.5vw,96px); font-weight:500; line-height:1.07; letter-spacing:-.035em; text-wrap:balance; }
.home-intro-bottom { display:grid; grid-template-columns:2fr 1fr; gap:32px; align-items:start; margin-top:40px; }
.home-intro-bottom>p:first-child { font-size:15px; line-height:1.6; color:var(--muted); }
.home-intro-bottom>p:last-child { font-size:18px; line-height:1.6; max-width:40ch; }
.featured-story { margin:16px 0 72px; }
.featured-story-info { display:grid; grid-template-columns:2fr 1fr; gap:32px; align-items:start; margin-bottom:36px; }
.featured-story h3 { max-width:16ch; font-size:clamp(36px,4.9vw,72px); font-weight:500; line-height:1.09; letter-spacing:-.035em; }
.featured-story h3 a:hover { color:var(--accent); }
.project-disciplines { display:flex; flex-wrap:wrap; gap:8px 18px; padding:0; margin:0 0 22px; list-style:none; font-size:13px; line-height:1.5; color:var(--muted); }
.featured-story-copy>p { font-size:18px; line-height:1.6; max-width:45ch; }
.project-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:56px; min-height:48px; padding:8px 0; margin-top:20px; border-bottom:1px solid var(--ink); font-size:16px; font-weight:500; }
.project-cta:hover { color:var(--accent); border-color:var(--accent); }
.project-cta .project-arrow { transition:transform .25s ease-out; }
.project-cta:hover .project-arrow { transform:translateX(4px); }
.featured-story-images { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.featured-story-images img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.featured-story-images .featured-machine { object-position:left center; }
.featured-story-images .featured-collaboration { object-fit:contain; background:#f1f1f1; }
.featured-story-images:focus-visible { outline-offset:8px; }

.rocket-case { --story-gap:clamp(48px,6vw,88px); padding:0 4%; }
.rocket-case ::selection,.featured-story ::selection,.home-intro ::selection { color:var(--paper); background:var(--accent); }
.rocket-intro { padding:40px 0 48px; }
.rocket-intro .back-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; margin-bottom:32px; }
.rocket-intro .back-link svg { order:-1; transform:rotate(180deg); width:20px; }
.rocket-intro-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:6%; align-items:start; }
.rocket-intro h1 { font-size:clamp(38px,4.7vw,70px); font-weight:500; line-height:1.08; letter-spacing:-.035em; }
.rocket-meta { display:grid; grid-template-columns:1fr 1.3fr; gap:24px; margin:0 0 28px; font-size:15px; line-height:1.6; }
.rocket-meta dt { font-size:13px; color:var(--muted); margin-bottom:10px; }
.rocket-meta dd { margin:0; }
.rocket-overview>p { font-size:clamp(18px,1.5vw,22px); line-height:1.5; max-width:48ch; }
.rocket-opening-image img { aspect-ratio:2.1; object-fit:cover; object-position:center 61%; }
.rocket-story-section { display:grid; grid-template-columns:1fr 1fr; gap:7%; padding:var(--story-gap) 0; }
.rocket-case h2 { font-size:clamp(32px,3.4vw,50px); line-height:1.12; letter-spacing:-.03em; font-weight:500; text-wrap:balance; }
.rocket-copy { font-size:18px; line-height:1.65; max-width:65ch; }
.rocket-copy p+p { margin-top:20px; }
.rocket-copy h2 { margin-bottom:28px; }
.rocket-copy a { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.rocket-copy a:hover { color:var(--accent); }
.rocket-race-section { border-top:1px solid var(--line); }
.rocket-race-section .rocket-story-section { padding-bottom:36px; }
.rocket-films { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.rocket-film { display:block; position:relative; }
.rocket-film>img { aspect-ratio:16/9; object-fit:cover; }
.rocket-film>span { display:flex; align-items:center; justify-content:space-between; gap:16px; background:var(--ink); color:var(--paper); padding:12px 18px; font-size:15px; min-height:48px; }
.rocket-film:hover>span { background:var(--accent); }
.rocket-collaboration { display:grid; grid-template-columns:1fr 1fr; gap:7%; align-items:center; padding:var(--story-gap) 0; }
.rocket-collaboration>figure { max-width:440px; width:100%; }
.rocket-collaboration>figure img { max-height:520px; object-fit:contain; object-position:left center; }
.rocket-more { margin:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.rocket-more>summary { display:flex; align-items:center; justify-content:space-between; gap:24px; list-style:none; min-height:110px; padding:24px 0; font-size:clamp(22px,2.1vw,30px); font-weight:500; letter-spacing:-.02em; }
.rocket-more>summary::-webkit-details-marker { display:none; }
.rocket-more>summary:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.rocket-more>summary:hover { color:var(--accent); }
.rocket-more>summary small { display:block; font-size:14px; font-weight:400; letter-spacing:0; color:var(--muted); margin-top:8px; }
.rocket-more>summary>svg { width:28px; height:28px; flex:none; }
.rocket-more[open]>summary>svg { transform:rotate(45deg); }
.rocket-gallery-content { padding-bottom:32px; }
.rocket-gallery-group { padding:40px 0; }
.rocket-gallery-group+.rocket-gallery-group { border-top:1px solid var(--line); }
.rocket-gallery-heading { display:grid; grid-template-columns:1fr 1fr; gap:7%; margin-bottom:32px; }
.rocket-gallery-heading h3 { font-size:28px; line-height:1.2; letter-spacing:-.025em; font-weight:500; }
.rocket-gallery-heading p { font-size:16px; line-height:1.6; max-width:65ch; }
.rocket-gallery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px 20px; }
.rocket-gallery-grid img { aspect-ratio:4/5; object-fit:contain; object-position:left bottom; }
#made-for-the-ride .rocket-gallery-grid img,#photography-and-print .rocket-gallery-grid img { aspect-ratio:4/3; }
.rocket-ongoing { display:grid; grid-template-columns:1fr 1fr; gap:7%; align-items:center; padding:var(--story-gap) 0 24px; }
.rocket-ongoing .phone-frame { width:min(100%,211.2px); }
.rocket-external-links { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:24px; }
.rocket-external-links a { display:inline-flex; align-items:center; min-height:44px; font-size:16px; }

@media (min-width:701px) and (max-width:1000px) {
  .home-intro-bottom,.featured-story-info { grid-template-columns:1fr 1fr; gap:28px; }
  .rocket-intro-grid { grid-template-columns:1fr; gap:32px; }
  .rocket-overview { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
  .rocket-meta { margin-bottom:0; }
  .rocket-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .home-intro { padding:42px 6% 48px; }
  .home-intro h1 { font-size:clamp(38px,8.5vw,56px); text-wrap:initial; }
  .home-intro-bottom { grid-template-columns:1fr; gap:20px; margin-top:28px; }
  .home-intro-bottom>p:last-child { max-width:50ch; }
  .featured-story { margin-top:8px; margin-bottom:48px; }
  .featured-story-info { grid-template-columns:1fr; gap:24px; margin-bottom:28px; }
  .featured-story h3 { font-size:clamp(34px,8vw,48px); }
  .project-disciplines { margin-bottom:16px; }
  .project-cta { margin-top:16px; }
  .featured-story-images { grid-template-columns:1fr 1fr; gap:12px; }
  .featured-story-images .featured-machine { grid-column:1/-1; aspect-ratio:16/9; object-fit:cover; }
  .featured-story-images img { aspect-ratio:1; }
  .rocket-case { padding:0 6%; }
  .rocket-intro { padding:24px 0 32px; }
  .rocket-intro .back-link { margin-bottom:24px; }
  .rocket-intro-grid { grid-template-columns:1fr; gap:28px; }
  .rocket-intro h1 { font-size:clamp(32px,7.9vw,54px); }
  .rocket-meta { gap:16px; font-size:14px; margin-bottom:24px; }
  .rocket-opening-image img { aspect-ratio:4/3; object-position:48% center; }
  .rocket-story-section { grid-template-columns:1fr; gap:24px; }
  .rocket-case h2 { font-size:clamp(30px,7.3vw,42px); }
  .rocket-copy { font-size:17px; }
  .rocket-films { grid-template-columns:1fr; gap:28px; }
  .rocket-collaboration { grid-template-columns:1fr; gap:32px; }
  .rocket-collaboration>.rocket-copy { order:-1; }
  .rocket-collaboration>figure { max-width:360px; }
  .rocket-more>summary { min-height:100px; font-size:23px; }
  .rocket-gallery-heading { grid-template-columns:1fr; gap:16px; margin-bottom:24px; }
  .rocket-gallery-heading h3 { font-size:26px; }
  .rocket-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
  .rocket-gallery-group { padding:32px 0; }
  .rocket-ongoing { grid-template-columns:1fr; gap:36px; }
  .rocket-ongoing>.rocket-copy { order:-1; }
  .rocket-ongoing .social-profile { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  .project-cta .project-arrow { transition:none; }
}
