@view-transition { navigation: auto; }
.home-round-link, .home-inline-link { text-decoration: none; color: inherit; }
.home-round-link { color: #fff; }
/* Below-hero styles stay scoped so the approved gallery retains its exact layout. */
.home-bleed { margin-inline: calc(-1 * var(--gutter)); }
.home-inner, .home-section, .home-footer { max-width: 1300px; margin-inline: auto; }
.home-inner { padding: 88px var(--gutter); max-width: calc(1300px + 2 * var(--gutter)); }
.home-section { padding-block: 100px; }
.home-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 60px; margin-bottom: 48px; }
.home-eyebrow { font-size: 11px; font-weight: 550; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 20px; }
.home-section h2, .home-bleed h2 { font-size: clamp(34px, 4vw, 58px); font-weight: 550; line-height: 1.06; letter-spacing: -.055em; }
.home-section-head > p { max-width: 33ch; font-size: 15px; line-height: 1.65; color: #666; }
.home-work { background: #17191b; color: #fff; }
.home-work .home-eyebrow { color: #bbc2c9; }
.home-work .home-section-head > p { color: #bcc0c5; }
.home-films { display: grid; grid-template-columns: 1fr 1fr; gap: 48px 28px; }
.home-film { min-width: 0; }
.home-film-media { display: block; position: relative; aspect-ratio: 16/9; overflow: hidden; border-radius: 10px; background: #272a2e; text-decoration: none; }
.home-film-media video { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .35s; }
.home-film-media:hover video { transform: scale(1.025); }
.home-watch { position: absolute; left: 18px; bottom: 18px; display: flex; align-items: center; gap: 9px; padding: 9px 13px 9px 10px; border-radius: 24px; background: #fff; color: #171717; font-size: 11px; font-weight: 550; }
.home-watch > span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #171717; color: white; font-size: 9px; padding-left: 1px; }
.home-duration { position: absolute; bottom: 23px; right: 18px; padding: 4px 8px; border-radius: 4px; background: #171717d9; color: #fff; font-size: 11px; font-variant-numeric: tabular-nums; }
.home-film-top { display: flex; justify-content: space-between; gap: 14px; align-items: baseline; margin-top: 20px; }
.home-film h3 { font-size: 25px; font-weight: 500; letter-spacing: -.035em; }
.home-film-top > span { font-size: 11px; color: #b5bac1; }
.home-proof { font-size: 11px; color: #c1c7cf; margin-top: 7px; }
.home-film-description { max-width: 53ch; font-size: 13px; line-height: 1.7; color: #d1d4d8; margin-top: 14px; }
.home-credit { margin-top: 12px; font-size: 11px; color: #b7bdc5; }
.home-credit summary { cursor: pointer; width: fit-content; padding-block: 4px; }
.home-credit p { padding-top: 8px; max-width: 65ch; line-height: 1.65; }
.home-work :is(a, summary):focus-visible { outline: 2px solid #c4d1ff; outline-offset: 5px; }
.home-service-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.home-service { border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; }
.home-product { background: #ececfc; }
.home-education { background: #f2f0e6; }
.home-service-copy { padding: 36px 36px 28px; }
.home-service .home-eyebrow { margin-bottom: 16px; color: #535365; }
.home-service h3 { font-size: clamp(29px, 3vw, 42px); font-weight: 550; letter-spacing: -.045em; margin-bottom: 18px; }
.home-service-copy > p:last-child { font-size: 14px; line-height: 1.7; max-width: 46ch; color: #4b4b56; }
.home-service-visual { margin: 0 36px; }
.home-service-visual img { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; display: block; border-radius: 8px; box-shadow: 0 12px 24px #23233214; }
.home-service-visual > span { display: block; font-size: 10px; color: #62616c; margin-top: 10px; }
.home-service-bottom { padding: 28px 36px 32px; margin-top: auto; }
.home-tags { list-style: none; display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 20px; padding: 0; }
.home-tags li { padding: 5px 9px; border: 1px solid #34344338; border-radius: 20px; font-size: 10px; }
.home-scope { font-size: 13px; color: #53525d; line-height: 1.7; max-width: 48ch; }
.home-scope strong { color: #24242b; font-weight: 550; }
.home-service-action { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 27px 0 12px; padding-top: 22px; border-top: 1px solid #35354029; }
.home-service-action p strong { font-size: clamp(19px, 2vw, 25px); font-weight: 550; letter-spacing: -.035em; }
.home-service-action p span { display: block; font-size: 11px; color: #5c5b66; margin-top: 4px; }
.home-round-link { flex-shrink: 0; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: #171717; color: #fff; border: none; font-size: 24px; transition: transform .2s; }
.home-round-link:hover { transform: translate(2px, -2px); }
.home-small { font-size: 11px; line-height: 1.6; color: #62616c; }
.home-boundary { max-width: 95ch; margin: 26px auto 0; font-size: 11px; line-height: 1.8; text-align: center; color: #666; }
.home-process { background: #f6f6f5; }
.home-steps { list-style: none; padding: 0; margin: 58px 0 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.home-steps li { position: relative; border-top: 1px solid #ceced0; padding-top: 22px; }
.home-step-number { font-size: 12px; display: block; margin-bottom: 32px; color: #68686b; }
.home-steps h3 { font-weight: 550; font-size: 23px; letter-spacing: -.04em; line-height: 1.12; margin-bottom: 16px; }
.home-steps p { font-size: 13px; line-height: 1.75; color: #636367; }
.home-step-output { display: block; margin-top: 22px; font-size: 10px; font-weight: 550; }
.home-about { display: grid; grid-template-columns: 1.2fr 1fr; gap: 90px; align-items: center; }
.home-about h2 { font-size: clamp(32px, 3.6vw, 50px); }
.home-about-copy > p { font-size: 15px; line-height: 1.75; max-width: 48ch; }
.home-about-copy > p + p { font-size: 13px; margin-top: 18px; color: #666; }
.home-inline-link { display: inline-flex; gap: 22px; align-items: center; font-size: 12px; font-weight: 550; text-decoration: none; border: 0; border-bottom: 1px solid currentColor; background: transparent; padding: 0 0 5px; margin-top: 24px; }
.home-inline-link span { font-size: 19px; }
.home-faq { border-top: 1px solid #dedede; display: grid; grid-template-columns: 1fr 1.5fr; gap: 90px; }
.home-faq h2 { font-size: clamp(32px, 3.6vw, 50px); }
.home-faq > div:first-child > p:not(.home-eyebrow) { margin-top: 28px; font-size: 13px; color: #666; }
.home-faq .home-inline-link { margin-top: 14px; }
.home-questions details { border-bottom: 1px solid #ddd; }
.home-questions details:first-child { border-top: 1px solid #ddd; }
.home-questions summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 23px 0; font-size: 15px; font-weight: 500; line-height: 1.5; }
.home-questions summary::-webkit-details-marker { display: none; }
.home-questions summary::after { content: '+'; font-size: 24px; font-weight: 300; line-height: 1; }
.home-questions details[open] summary::after { content: '−'; }
.home-questions details > div { padding: 0 32px 24px 0; font-size: 13px; color: #5a5a61; line-height: 1.8; }
.home-questions details p + p { margin-top: 12px; }
.home-contact { background: #e9e7fb; overflow: hidden; }
.home-contact-inner { display: grid; grid-template-columns: 1.5fr 1fr; gap: 70px; align-items: center; padding-block: 80px; }
.home-contact h2 { font-size: clamp(36px, 4.2vw, 60px); }
.home-contact h2 + p { font-size: 14px; line-height: 1.7; color: #5d5b6b; margin-top: 24px; }
.home-contact-button { display: inline-flex; align-items: center; gap: 26px; padding: 15px 23px; border: 0; border-radius: 30px; background: #171717; color: white; font-size: 13px; margin: 28px 0 15px; }
.home-contact-button span { font-size: 20px; }
.home-contact-art { position: relative; aspect-ratio: 1.15; margin: 20px 10px; }
.home-contact-art img { position: absolute; display: block; width: 90%; height: auto; border: 7px solid white; border-radius: 10px; box-shadow: 0 12px 32px #26214520; }
.home-contact-art img:first-child { transform: rotate(-10deg); top: 5%; left: 0; }
.home-contact-art img:nth-child(2) { transform: rotate(7deg); top: 33%; left: 9%; }
.home-contact-art > span { position: absolute; bottom: -3%; left: 14%; transform: rotate(-4deg); background: #fff; padding: 10px 15px; font-size: 10px; font-weight: 550; letter-spacing: .08em; }
.home-footer { display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; padding: 44px 0 100px; }
.home-footer-brand { font-size: 23px; font-weight: 600; letter-spacing: -.055em; text-decoration: none; }
.home-footer p { font-size: 11px; color: #666; margin-top: 12px; line-height: 1.7; }
.home-footer nav { display: flex; gap: 24px; flex-wrap: wrap; margin-top: 8px; }
.home-footer nav a, .home-back-top { font-size: 12px; text-decoration: none; }
.home-footer a:hover { text-decoration: underline; text-underline-offset: 4px; }
.home-back-top { margin-top: 8px; }
@media (max-width: 1000px) {
  .home-section { padding-block: 72px; }
  .home-inner { padding-block: 72px; }
  .home-section-head { gap: 36px; }
  .home-section-head > p { max-width: 28ch; font-size: 13px; }
  .home-film-top { flex-wrap: wrap; gap: 6px; }
  .home-service-copy { padding: 28px 24px 24px; }
  .home-service-visual { margin-inline: 24px; }
  .home-service-bottom { padding: 24px; }
  .home-tags { gap: 5px; }
  .home-tags li { font-size: 9px; }
  .home-steps { grid-template-columns: 1fr 1fr; gap: 40px; }
  .home-step-number { margin-bottom: 22px; }
  .home-about, .home-faq { gap: 44px; }
  .home-contact-inner { gap: 24px; }
  .home-contact-art img { border-width: 5px; }
}
@media (max-width: 760px) {
  .home-section { padding-block: 58px; }
  .home-inner { padding-block: 58px; }
  .home-section-head { display: block; margin-bottom: 32px; }
  .home-section-head > p { max-width: 40ch; margin-top: 22px; }
  .home-eyebrow { font-size: 10px; margin-bottom: 17px; }
  .home-films { grid-template-columns: 1fr; gap: 34px; }
  .home-film-top { justify-content: space-between; }
  .home-film h3 { font-size: 23px; }
  .home-film-top > span { font-size: 10px; }
  .home-film-description { font-size: 12px; margin-top: 11px; }
  .home-watch { left: 12px; bottom: 12px; padding: 7px 10px 7px 8px; font-size: 10px; }
  .home-duration { bottom: 17px; right: 12px; }
  .home-service-grid { grid-template-columns: 1fr; gap: 22px; }
  .home-service { border-radius: 12px; }
  .home-service h3 { font-size: 32px; }
  .home-service-copy > p:last-child { font-size: 13px; }
  .home-service-action p strong { font-size: 22px; }
  .home-boundary { font-size: 10px; text-align: left; }
  .home-steps { margin-top: 36px; gap: 28px 22px; }
  .home-steps h3 { font-size: 21px; }
  .home-steps p { font-size: 12px; }
  .home-step-output { font-size: 9px; }
  .home-about, .home-faq { grid-template-columns: 1fr; gap: 30px; }
  .home-about-copy > p { font-size: 14px; }
  .home-faq > div:first-child > p:not(.home-eyebrow) { margin-top: 22px; }
  .home-questions summary { font-size: 14px; padding-block: 20px; }
  .home-questions details > div { padding-right: 16px; }
  .home-contact-inner { grid-template-columns: 1fr; gap: 34px; }
  .home-contact h2 { font-size: 36px; }
  .home-contact-art { width: 78%; max-width: 340px; margin: 0 auto 22px; }
  .home-footer { flex-wrap: wrap; padding-top: 35px; gap: 26px; }
  .home-footer nav { width: 100%; gap: 23px; order: 3; }
  .home-back-top { margin-left: auto; font-size: 11px; }
}
