.hub-hero .hero-content { padding-top: 160px; padding-bottom: 42px; }
.hub-hero h1 { font-size: clamp(50px,6.1vw,86px); line-height: 1.08; letter-spacing: -.055em; }
.hub-hero h1 .hub-soft { color: #9499a2; }
.hub-hero h1 span:first-child::after { content: none; }
.hub-hero .hero-actions { gap: 24px; }
.hub-simple-link { font-size: 14px; color: #626975; }
.hub-simple-link:hover { color: #17181c; }
.hub-film { position: relative; margin: 0 var(--page); height: clamp(380px,37vw,580px); border-radius: 18px; overflow: hidden; background: #0d1a28; }
.hub-film>video { width: 100%; height: 100%; object-fit: cover; }
.film-caption { position: absolute; bottom: 25px; left: 28px; right: 25px; display: flex; justify-content: space-between; align-items: center; color: #fff; font-size: 12px; letter-spacing: .1em; }
.hub-motion { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #ffffff60; background: #ffffff18; color: white; border-radius: 50%; font-size: 18px; backdrop-filter: blur(10px); }
.hub-heading { display: grid; grid-template-columns: 1.3fr 1fr; gap: 60px; align-items: end; margin-bottom: 42px; }
.hub-heading>p { font-size: 16px; color: #69717b; max-width: 400px; margin: 0 0 4px; }
.source-label { font-size: 12px; color: #737b87; letter-spacing: .08em; }
.hub-directions { background: #f7f8fa; }
.direction-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.direction-card { border: 1px solid var(--line); background: #fff; border-radius: 14px; overflow: hidden; }
.direction-image { aspect-ratio: 16/9; overflow: hidden; background: #1d232e; }
.direction-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.direction-card:hover img { transform: scale(1.035); }
.direction-copy { padding: 30px; }
.direction-card h3 { font-weight: 400; font-size: 31px; line-height: 1.2; letter-spacing: -.035em; margin: 15px 0; }
.direction-card p { color: #69717b; font-size: 16px; line-height: 1.65; margin: 0; max-width: 470px; }
.direction-text { padding: 30px; }
.direction-statement { font-size: 38px; line-height: 1.18; letter-spacing: -.035em; margin: 25px 0 30px; }
.direction-statement span { color: #949aa3; }
.direction-text h3 { font-size: 22px; }
.hub-small-note { max-width: 850px; font-size: 14px; color: #69717b; margin-top: 23px; }
.hub-ideas { background: #f7f8fa; }
.idea-layout { display: grid; grid-template-columns: 1.05fr 1fr; gap: 55px; align-items: center; }
.idea-film { position: relative; height: 580px; border-radius: 15px; overflow: hidden; background: #dddde5; }
.idea-film>video { width: 100%; height: 100%; object-fit: cover; }
.idea-copy>p { font-size: 16px; color: #69717b; margin: 25px 0; }
.idea-info { border-top: 1px solid var(--line); padding-top: 22px; min-height: 150px; }
.idea-info h3 { font-size: 20px; font-weight: 400; line-height: 1.35; letter-spacing: -.025em; margin: 0 0 10px; }
.idea-info p { font-size: 15px; color: #69717b; margin: 0; }
.next-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.next-grid h3 { font-size: 23px; line-height: 1.3; letter-spacing: -.03em; font-weight: 400; margin: 23px 0 14px; }
.next-grid p { color: #69717b; font-size: 15px; line-height: 1.65; margin: 0 0 28px; }
.hub-cta { min-height: 490px; }
.hub-page .reveal { scroll-margin-top: 42px; }
@media(max-width:1000px) { .hub-heading { gap: 35px; } .idea-layout { gap: 32px; } .idea-film { height: 530px; } .next-grid { gap: 16px; } .next-grid a { padding: 23px; } }
@media(max-width:800px) { .hub-heading { grid-template-columns: 1fr; gap: 22px; } .hub-heading>p { max-width: 620px; } .idea-layout { grid-template-columns: 1fr; gap: 35px; } .idea-film { height: 420px; } .next-grid { grid-template-columns: 1fr; } .next-grid p { margin-bottom: 20px; } .direction-copy,.direction-text { padding: 24px; } .direction-card h3 { font-size: 27px; } }
@media(max-width:650px) { .hub-hero .hero-content { padding-top: 128px; } .hub-hero h1 { font-size: clamp(39px,10vw,58px); line-height: 1.1; } .hub-hero h1 .hub-soft { display: block; font-size: .83em; margin-top: 8px; } .hub-hero .hero-actions { flex-direction: row; flex-wrap: wrap; gap: 17px; } .hub-film { height: 330px; border-radius: 13px; } .film-caption { left: 20px; right: 18px; bottom: 18px; letter-spacing: .05em; } .film-caption>span { max-width: 180px; line-height: 1.5; } .hub-heading { margin-bottom: 30px; } .source-selector { padding: 25px 22px; } .hub-tabs { gap: 7px; } .hub-tabs button { font-size: 13px; padding: 10px 13px; } .source-panel h3 { font-size: 28px; } .direction-grid { grid-template-columns: 1fr; gap: 18px; } .direction-card h3 { font-size: 31px; } .direction-statement { font-size: 36px; } .direction-text h3 { font-size: 23px; } .idea-film { height: 380px; } .idea-info { min-height: 0; } .hub-cta { min-height: 440px; } .hub-cta h2 { font-size: 39px; } }
@media(prefers-reduced-motion:reduce) { .direction-card:hover img,.next-grid a:hover { transform: none; } }
.hub-hero h1 .hub-soft, .hub-page h2 em { color: #8a8f98; }
.idea-info p, .next-grid p { font-size: 16px; }

.source-options { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.source-options article { border-top: 1px solid var(--line); padding-top: 25px; }
.source-options h3 { font-size: 24px; line-height: 1.3; letter-spacing: -.03em; font-weight: 400; margin: 15px 0; }
.source-options p { font-size: 16px; line-height: 1.7; color: #69717b; margin: 0; }
.next-grid article { border: 1px solid var(--line); border-radius: 12px; padding: 28px; }
@media(max-width:800px) { .source-options { grid-template-columns: 1fr; gap: 30px; } }
@media(max-width:650px) { .next-grid article { padding: 24px; } }
