.inf-page { background:#000; color:#fff; min-height:100vh; }
.inf-hero { position:relative; overflow:hidden; background:#111; }
.inf-hero.hero { margin:0; padding:0; }
.inf-hero img { width:100%; height:auto; display:block; min-height:420px; object-fit:cover; }
.inf-hero-copy {
  position:absolute; inset:0; display:flex; flex-direction:column;
  align-items:center; justify-content:center; text-align:center; padding:96px 24px 80px;
}
.inf-hero h1 { margin:0; font-size:clamp(32px,5vw,56px); font-weight:600; letter-spacing:-.03em; line-height:1.15; }
.inf-hero p { margin:8px 0 0; font-size:16px; line-height:1.75; color:rgba(255,255,255,.92); }
.inf-hero-actions { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-top:50px; }
.inf-btn {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:148px; height:48px; padding:0 28px; border-radius:999px;
  font:600 15px/1 var(--font); cursor:pointer; text-decoration:none; border:0;
  transition:opacity .2s;
}
.inf-btn:hover { opacity:.88; }
.inf-btn-blue { background:#2f6bff; color:#fff; }
.inf-btn-white { background:#fff; color:#111; }
.inf-wrap { max-width:1280px; margin:0 auto; padding:0 80px; }
.inf-feat { padding:88px 0 64px; overflow:hidden; }
.inf-feat-stage { position:relative; max-width:850px; margin:0 auto; }
.inf-feat-slide {
  display:none; width:100%; background:none; border:0; color:#fff;
  cursor:pointer; font:inherit; text-align:center; padding:0;
}
.inf-feat-slide.is-on { display:block; }
.inf-feat-title { display:block; margin-top:14px; font-size:24px; font-weight:600; line-height:1.3; }
.inf-nav-btn {
  position:absolute; top:38%; transform:translateY(-50%);
  width:56px; height:56px; border:0; border-radius:50%;
  background:rgba(255,255,255,.12); color:#fff; cursor:pointer; font-size:28px; line-height:1;
}
.inf-nav-btn:hover { background:rgba(255,255,255,.22); }
.inf-nav-btn.prev { left:-86px; }
.inf-nav-btn.next { right:-86px; }
.inf-dots { display:flex; justify-content:center; gap:8px; margin-top:28px; }
.inf-dots button { width:6px; height:6px; border:0; border-radius:50%; padding:0; background:rgba(255,255,255,.45); cursor:pointer; }
.inf-dots button.on { width:10px; height:10px; background:#fff; }
.inf-thumb { position:relative; display:block; overflow:hidden; border-radius:16px; background:#111; }
.inf-thumb img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.inf-play {
  position:absolute; inset:0; margin:auto; width:64px; height:64px;
  border-radius:50%; background:rgba(0,0,0,.38);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.85);
}
.inf-play::after {
  content:""; position:absolute; top:50%; left:54%;
  transform:translate(-50%,-50%);
  border-style:solid; border-width:10px 0 10px 16px;
  border-color:transparent transparent transparent #fff;
}
.inf-block { padding:24px 0 80px; }
.inf-block h2 { margin:0 0 28px; font-size:32px; font-weight:600; letter-spacing:-.02em; }
.inf-yt { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px 18px; margin-bottom:72px; }
.inf-ig { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:48px 18px; }
.inf-card h3 { margin:16px 0 6px; font-size:18px; font-weight:600; line-height:1.4; text-align:center; }
.inf-card p { margin:0; font-size:13px; line-height:1.6; color:rgba(255,255,255,.6); text-align:center; }
.inf-join { padding:40px 0 0; }
.inf-join-item { background:#141414 center/cover no-repeat; padding:64px 80px 90px; scroll-margin-top:72px; }
.inf-join-item h2 { margin:0 0 50px; font-size:32px; font-weight:600; }
.inf-join-body { background:rgba(0,0,0,.4); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border-radius:16px; padding:56px 40px; }
.inf-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.inf-steps h3 { margin:0 0 12px; font-size:22px; font-weight:600; line-height:1.35; }
.inf-steps p { margin:0; font-size:14px; line-height:1.6; font-weight:300; color:rgba(255,255,255,.92); }
.inf-join-body .inf-btn { margin:48px auto 0; display:flex; width:fit-content; }
.inf-join-item--photo { min-height:420px; padding:0; }
.inf-popup,.inf-video { position:fixed; inset:0; z-index:420; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,.42); backdrop-filter:blur(10px); }
.inf-popup.open,.inf-video.open { display:flex; }
.inf-popup-box,.inf-video-box { position:relative; background:#fff; color:#111; border-radius:16px; width:min(656px,92vw); padding:36px 40px 48px; max-height:90vh; overflow:auto; }
.inf-video-box { width:min(920px,94vw); background:#000; padding:0; aspect-ratio:16/9; }
.inf-video-box iframe { width:100%; height:100%; border:0; display:block; border-radius:16px; }
.inf-close { position:absolute; top:10px; right:10px; width:40px; height:40px; border:0; border-radius:50%; background:#f6f6f6; cursor:pointer; font-size:20px; color:#333; }
.inf-video .inf-close { background:rgba(255,255,255,.16); color:#fff; }
.inf-popup h3 { margin:0; font-size:32px; font-weight:600; }
.inf-popup .sub { margin:8px 0 24px; font-size:16px; color:#333; }
.inf-form { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
.inf-form input,.inf-form select { width:100%; height:56px; border:0; border-bottom:1px solid #f0f0f0; font:400 14px/1 var(--font); color:#111; background:transparent; outline:none; }
.inf-form textarea { grid-column:1/-1; width:100%; min-height:140px; margin-top:24px; border:0; border-radius:16px; background:#f6f6f6; padding:16px; font:400 14px/1.5 var(--font); resize:vertical; outline:none; }
.inf-form button { grid-column:1/-1; margin-top:28px; width:100%; height:48px; border:0; border-radius:999px; background:#2f6bff; color:#fff; font:600 15px/1 var(--font); cursor:pointer; }
.inf-form button:disabled { opacity:.55; cursor:wait; }
.inf-form .hp { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.inf-file { grid-column:1/-1; display:flex; flex-direction:column; gap:8px; margin-top:18px; font-size:13px; color:#666; }
.inf-file input { height:auto; border:0; padding:8px 0; }
.inf-error { grid-column:1/-1; color:#c0352b; font-size:13px; margin:12px 0 0; }
.inf-ok { display:none; text-align:center; padding:28px 8px 8px; }
.inf-ok.show { display:block; }
.inf-ok h4 { margin:0 0 8px; font-size:28px; }
@media (max-width:1100px) {
  .inf-wrap { padding:0 24px; }
  .inf-nav-btn.prev { left:8px; }
  .inf-nav-btn.next { right:8px; }
  .inf-yt { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 14px; }
  .inf-ig { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .inf-join-item { padding:40px 20px 56px; }
  .inf-join-item--photo { min-height:280px; padding:0; }
  .inf-steps { grid-template-columns:1fr 1fr; gap:28px 18px; }
}
@media (max-width:720px) {
  .inf-hero img { min-height:520px; }
  .inf-hero-actions { margin-top:28px; }
  .inf-feat { padding:48px 0 32px; }
  .inf-feat-title { font-size:18px; }
  .inf-yt,.inf-ig,.inf-steps,.inf-form { grid-template-columns:1fr; }
  .inf-popup-box { padding:28px 20px 32px; }
  .inf-popup h3 { font-size:24px; }
}

