.masthead .nav-links { gap: clamp(12px, 2.1vw, 28px); }
.partner-invite { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: clamp(23px, 4vw, 46px); margin: 28px 0 38px; border: 1px solid var(--line); border-inline-start: 4px solid #647bff; border-radius: 18px; background: linear-gradient(112deg, color-mix(in srgb, var(--surface) 89%, #5674ff), var(--surface) 75%); }
.partner-invite h2 { font-size: clamp(23px, 3vw, 34px); line-height: 1.13; letter-spacing: -.045em; }
.partner-invite p { color: var(--muted); margin-top: 8px; max-width: 58ch; }
.partner-invite a, .home-primary { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 45px; padding: 10px 20px; border-radius: 12px; font-weight: 700; line-height: 1.3; }
.partner-invite a { color: var(--ink); background: var(--surface); border: 1px solid var(--line); white-space: nowrap; }
.partner-invite a:hover { border-color: var(--accent); color: var(--accent); }
.home-hero { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.3fr); align-items: center; gap: clamp(20px,3vw,43px); margin: 24px 0 38px; padding: clamp(24px,3.8vw,48px); border-radius: 22px; color: white; background: radial-gradient(ellipse at 100% 110%,#5625aa 0%,transparent 51%),radial-gradient(ellipse at 63% -63%,#255af3 0%,transparent 68%),#121c46; }
.home-hero h1 { font-size: clamp(38px,3.85vw,55px); line-height: 1.04; letter-spacing: -.055em; color: white; }
.home-hero .kicker { color: #beceff; margin-bottom: 15px; }
.home-hero .kicker::before { content: none; }
.home-hero .hero-desc { line-height: 1.55; font-size: clamp(15px,1.3vw,17px); color:#dbe5ff; margin: 17px 0 21px; }
.home-actions { display:flex; gap:17px; flex-wrap:wrap; align-items:center; }
.home-primary { background:#ffe36b; color:#1d1a0e; box-shadow:0 4px 16px #020c2a3b; }
.home-primary:hover { background:#fff094; }
.home-download { color:#e8efff; font-weight:650; font-size:14px; padding-block:10px; text-decoration:underline; text-decoration-color:#91a8e1; text-underline-offset:4px; }
.app-tour { --focus:#bfe4ff; min-width:0; margin:0; padding:0; border:0; }
.app-tour legend { margin-bottom:10px; font-size:13px; color:#d4dcff; font-weight:600; }
.tour-input { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; }
.tour-tabs { display:flex; gap:7px; margin:0 0 11px; }
.tour-tabs label { cursor:pointer; color:#e4eaff; padding:5px 12px; font-size:13px; font-weight:650; border-radius:8px; border:1px solid #94a0cb7a; }
#shot-one:checked ~ .tour-tabs [for=shot-one], #shot-bench:checked ~ .tour-tabs [for=shot-bench] { color:#162451; background:#ecf2ff; border-color:#ecf2ff; }
#shot-one:focus-visible ~ .tour-tabs [for=shot-one], #shot-bench:focus-visible ~ .tour-tabs [for=shot-bench] { outline:3px solid var(--focus); outline-offset:2px; }
.tour-views { background:#121924; border:1px solid #7e8ec5; border-radius:12px; overflow:hidden; box-shadow:0 12px 30px #0609254d; }
.tour-views a { display:none; aspect-ratio:1.92; align-items:center; justify-content:center; }
.tour-views a:focus-visible { outline-offset:-4px; }
.tour-views img { width:100%; height:100%; display:block; object-fit:contain; }
#shot-one:checked ~ .tour-views .shot-one, #shot-bench:checked ~ .tour-views .shot-bench { display:flex; }
@media(max-width:790px) {
  .home-hero { grid-template-columns:1fr; gap:22px; }
  .home-hero .hero-desc { max-width:50ch; }
  .home-hero h1 { font-size:clamp(38px,7vw,52px); }
}
@media(max-width:620px) {
  .partner-invite { align-items:flex-start; flex-direction:column; gap:16px; }
  .masthead nav.frame { flex-wrap:wrap; gap:7px 12px; padding-block:12px; }
  .masthead .nav-links { flex-wrap:wrap; }
  .masthead .nav-links > a:first-child { display:inline-flex; }
  .masthead .nav-links a { display:inline-flex; min-height:36px; align-items:center; }
  .home-hero { margin:15px 0 28px; border-radius:16px; padding:22px 17px; }
  .tour-tabs label { padding:7px 12px; }
}
/* Product walkthroughs and the public toolkit directory */
.product-actions { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0 22px; }
.product-actions .secondary { color: #d8e6ff; text-decoration: underline; text-underline-offset: 4px; }
.product-section { margin: clamp(30px, 4.5vw, 62px) 0; }
.section-intro, .download-strip { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.section-intro { margin-bottom: 17px; }
.section-intro h2, .help-grid h2, .download-strip h2, .tool-row h2, .about-grid h2 { font-size: clamp(25px, 3vw, 39px); line-height: 1.08; letter-spacing: -.046em; }
.section-intro a, .text-link, .help-grid dd a { color: var(--accent); font-weight: 650; text-decoration: underline; text-underline-offset: 4px; }
.film-grid, .about-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(14px,2.2vw,28px); }
.film-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
.film-heading { display: flex; align-items: center; gap: 13px; min-height: 87px; color: white; padding: 14px clamp(15px,2.1vw,28px); background: linear-gradient(110deg,#163269,#1d4d9f 67%,#2f62af); }
.audio-film .film-heading { background: linear-gradient(110deg,#432454,#633974 67%,#805086); }
.film-heading img { display: block; object-fit: contain; flex-shrink: 0; }
.film-heading h3 { font-size: clamp(21px,2.2vw,30px); line-height: 1.1; letter-spacing: -.035em; }
.film-heading p { color: #eff2ff; font-size: 14px; margin-top: 3px; }
.film-card video { width: 100%; aspect-ratio: 1.6; object-fit: contain; background: #131820; display: block; }
.film-copy { padding: 16px clamp(15px,2.1vw,28px) 20px; color: var(--ink); }
.film-copy small, .screen-gallery > p { display: block; margin-top: 8px; color: var(--muted); font-size: 13px; }
.screen-gallery { margin-top: 26px; display: grid; grid-template-columns: minmax(0, 720px) minmax(0, 25ch); align-items: end; gap: 22px; }
.screen-gallery .app-tour legend { color: var(--ink); font-size: 17px; margin-bottom: 8px; }
.screen-gallery .tour-tabs { flex-wrap: wrap; }
.screen-gallery .tour-tabs label { color: var(--ink); border-color: var(--line); background: var(--surface); }
.screen-gallery .tour-input:focus-visible ~ .tour-tabs label { --focus: var(--accent); }
#shot-library:checked ~ .tour-tabs [for=shot-library], #shot-studio:checked ~ .tour-tabs [for=shot-studio], .screen-gallery #shot-one:checked ~ .tour-tabs [for=shot-one], .screen-gallery #shot-bench:checked ~ .tour-tabs [for=shot-bench] { background: var(--control); color: white; border-color: var(--control); }
#shot-library:focus-visible ~ .tour-tabs [for=shot-library], #shot-studio:focus-visible ~ .tour-tabs [for=shot-studio] { outline: 3px solid var(--accent); outline-offset: 2px; }
#shot-library:checked ~ .tour-views .shot-library, #shot-studio:checked ~ .tour-views .shot-studio { display: flex; }
.screen-gallery .tour-views { border-color: var(--line); box-shadow: none; }
.help-grid, .tool-row { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.3fr); gap: clamp(22px,5vw,72px); padding-block: clamp(24px,4.5vw,54px); border-top: 1px solid var(--line); }
.help-grid dl, .help-grid dd { margin: 0; }
.help-grid dt { font-size: 18px; font-weight: 700; }
.help-grid dd, .tool-row > div > p, .about-grid p, .download-strip p, .tool-list p { color: var(--muted); margin: 6px 0 18px; }
.help-grid .text-link,.about-grid .text-link,.audio-row .text-link { display: inline-block; margin-top: 12px; }
.download-strip { border: 1px solid var(--line); background: var(--surface); border-radius: 17px; padding: clamp(20px,3vw,36px); margin-block: 28px; }
.download-strip p { max-width: 65ch; margin-bottom: 0; }
.download-strip .home-primary { flex-shrink: 0; }
.product-lead { padding: clamp(27px,5vw,66px); margin: 22px 0 36px; border-radius: 22px; background: radial-gradient(ellipse at 95% 10%,#434cab,transparent 60%),linear-gradient(118deg,#102344,#1d2e5d 68%,#46376e); color: white; }
.product-lead > p:not(.kicker) { max-width: 59ch; color: #e1eaff; font-size: clamp(16px,1.5vw,19px); margin-top: 16px; }
.product-lead nav { display:flex; flex-wrap:wrap; gap: 9px; margin-top: 20px; }
.product-lead nav a { color:white; padding: 8px 14px; border:1px solid #91a8d3; border-radius: 9px; font-size:14px; font-weight:650; }
.product-lead nav a:hover { background:#324d84; }
.screen-link { display:block; overflow:hidden; background:#171c23; border:1px solid var(--line); border-radius:11px; }
.screen-link img { display:block; width:100%; height:auto; object-fit:contain; }
.tool-list { list-style:none; padding:0; }
.tool-list li { padding:12px 0; border-bottom:1px solid var(--line); }
.tool-list li:first-child { padding-top:0; }
.tool-list li > div { display:flex; align-items:baseline; gap:13px; flex-wrap:wrap; }
.tool-list strong { font-size:19px; }
.tool-list small { font-size:12px; color:var(--accent); font-weight:650; }
.tool-list p { margin:3px 0 0; }
.about-grid article { min-width:0; }
.about-grid .screen-link { aspect-ratio: 2560 / 1392; display: grid; align-items:center; }
.about-grid .screen-link img { height:auto; }
.about-grid h2 { margin-top:18px; }
.about-grid p { margin-bottom:0; }
@media(max-width:720px) {
  .film-grid, .about-grid, .tool-row, .help-grid, .screen-gallery { grid-template-columns:1fr; }
  .section-intro { align-items:baseline; }
  .section-intro a { font-size:14px; }
  .screen-gallery { gap:0; }
  .download-strip { align-items:flex-start; flex-direction:column; }
  .help-grid { gap:18px; }
}
