/* A-CLUSTER homepage v2 — catalogue-first architecture */
.home-hero {
  position: relative;
  overflow: hidden;
  padding: 76px 0 70px;
  background:
    radial-gradient(circle at 85% 16%, rgba(65,163,216,.14), transparent 26%),
    linear-gradient(rgba(255,255,255,.97), rgba(255,255,255,.97)),
    linear-gradient(90deg, transparent 49px, rgba(18,101,176,.055) 50px, transparent 51px),
    linear-gradient(transparent 49px, rgba(18,101,176,.055) 50px, transparent 51px);
  background-size:auto,auto,50px 50px,50px 50px;
}
.home-hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
  gap:62px;
  align-items:center;
}
.home-hero h1 {
  margin:16px 0 20px;
  max-width:760px;
  color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(48px,5.6vw,76px);
  line-height:.98;
  font-weight:500;
  letter-spacing:-.045em;
}
.home-hero h1 span { color:var(--blue); }
.home-hero-lead {
  max-width:700px;
  margin:0;
  color:#4c6073;
  font-size:17px;
  line-height:1.72;
}
.home-hero-actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:28px; }
.home-principles { display:flex; flex-wrap:wrap; gap:16px; margin-top:22px; color:var(--muted-2); font-size:11px; font-weight:650; }
.home-principles span { display:inline-flex; align-items:center; gap:7px; }
.home-principles i { width:5px; height:5px; border-radius:50%; background:var(--blue); }

.home-system-card {
  border:1px solid var(--line-strong);
  border-radius:20px;
  background:#fff;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.home-system-head { padding:24px 25px 18px; border-bottom:1px solid var(--line); }
.home-system-head span { color:var(--blue); font-size:9px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.home-system-head h2 { margin:7px 0 0; color:var(--navy); font-family:Georgia,"Times New Roman",serif; font-size:28px; font-weight:500; }
.home-system-row { display:grid; grid-template-columns:92px 1fr; gap:16px; padding:17px 25px; border-bottom:1px solid #edf1f5; }
.home-system-row:last-child { border-bottom:0; }
.home-system-row strong { color:var(--navy); font-size:12px; }
.home-system-row p { margin:3px 0 0; color:var(--muted); font-size:11px; line-height:1.45; }
.home-system-row .code { color:var(--blue); font-size:10px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.home-system-foot { padding:14px 25px 17px; background:var(--panel); color:var(--muted-2); font-size:10px; line-height:1.5; }

.home-section { padding:74px 0; }
.home-section.alt { background:var(--canvas); border-top:1px solid #edf1f4; border-bottom:1px solid #edf1f4; }
.home-section-head { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:50px; align-items:end; margin-bottom:30px; }
.home-section-head h2 {
  margin:8px 0 0;
  color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(32px,4vw,50px);
  font-weight:500;
  line-height:1.05;
  letter-spacing:-.03em;
}
.home-section-head p { margin:0; color:var(--muted); font-size:15px; line-height:1.7; }

.home-live-grid { display:grid; grid-template-columns:1.15fr .925fr .925fr; gap:16px; }
.home-live-card {
  display:flex;
  min-height:310px;
  flex-direction:column;
  justify-content:space-between;
  padding:25px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.home-live-card:hover { transform:translateY(-2px); border-color:#b7c9d9; box-shadow:0 12px 30px rgba(16,32,51,.07); }
.home-live-card.primary { color:#fff; border-color:#0b3556; background:linear-gradient(145deg,#081f36,#0b395b); }
.home-card-meta { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.home-card-meta span { color:var(--blue); font-size:9px; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.home-live-card.primary .home-card-meta span { color:#8bd1f2; }
.home-card-state { padding:5px 8px; border:1px solid var(--line); border-radius:999px; background:var(--panel); color:var(--muted)!important; letter-spacing:.05em!important; }
.home-live-card.primary .home-card-state { border-color:rgba(255,255,255,.16); background:rgba(255,255,255,.07); color:#b8c9d7!important; }
.home-live-card h3 { margin:44px 0 11px; color:var(--navy); font-family:Georgia,"Times New Roman",serif; font-size:30px; line-height:1.08; font-weight:500; letter-spacing:-.025em; }
.home-live-card.primary h3 { color:#fff; font-size:36px; }
.home-live-card p { margin:0; color:var(--muted); font-size:13px; line-height:1.65; }
.home-live-card.primary p { color:#c1cfda; }
.home-live-foot { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-top:28px; padding-top:16px; border-top:1px solid var(--line); color:var(--muted-2); font-size:10px; }
.home-live-card.primary .home-live-foot { border-top-color:rgba(255,255,255,.13); color:#9fb5c6; }
.home-live-foot strong { color:var(--blue); font-size:11px; }
.home-live-card.primary .home-live-foot strong { color:#8bd1f2; }

.home-macro-layout { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.home-explore-panel { border:1px solid var(--line); border-radius:16px; background:#fff; overflow:hidden; }
.home-explore-top { padding:24px 25px 20px; border-bottom:1px solid var(--line); }
.home-explore-top span { color:var(--blue); font-size:9px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.home-explore-top h3 { margin:7px 0 0; color:var(--navy); font-family:Georgia,"Times New Roman",serif; font-size:28px; font-weight:500; }
.home-explore-list { display:grid; grid-template-columns:1fr 1fr; }
.home-explore-item { padding:18px 22px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.home-explore-item:nth-child(2n) { border-right:0; }
.home-explore-item:nth-last-child(-n+2) { border-bottom:0; }
.home-explore-item strong { display:block; color:var(--navy); font-size:13px; }
.home-explore-item span { display:block; margin-top:5px; color:var(--muted-2); font-size:10px; line-height:1.45; }
.home-macro-action { margin-top:22px; display:flex; justify-content:flex-end; }

.home-stream-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.home-stream-card { min-height:230px; padding:24px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.home-stream-card .index { display:inline-block; color:var(--blue); font-size:10px; font-weight:850; letter-spacing:.1em; }
.home-stream-card h3 { margin:30px 0 10px; color:var(--navy); font-size:19px; }
.home-stream-card p { margin:0; color:var(--muted); font-size:13px; line-height:1.65; }
.home-stream-card small { display:block; margin-top:20px; color:var(--muted-2); font-size:10px; }

.home-book {
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);
  gap:52px;
  align-items:center;
  padding:38px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(135deg,#fff,#f7fafc);
}
.home-book h2 { margin:8px 0 14px; color:var(--navy); font-family:Georgia,"Times New Roman",serif; font-size:clamp(34px,4vw,52px); font-weight:500; line-height:1.05; letter-spacing:-.03em; }
.home-book p { margin:0; color:var(--muted); font-size:14px; line-height:1.7; }
.home-book-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.home-book-panel { padding:24px; border-radius:14px; color:#fff; background:linear-gradient(145deg,#081f36,#0d456d); }
.home-book-panel span { color:#8bd1f2; font-size:9px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.home-book-panel strong { display:block; margin-top:12px; font-family:Georgia,"Times New Roman",serif; font-size:29px; font-weight:500; line-height:1.14; }
.home-book-panel p { margin-top:13px; color:#c1cfda; font-size:12px; }

.home-professional { padding:72px 0; color:#fff; background:var(--navy); }
.home-professional-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(380px,1fr); gap:58px; align-items:center; }
.home-professional h2 { margin:9px 0 16px; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:clamp(36px,4.2vw,54px); font-weight:500; line-height:1.04; letter-spacing:-.03em; }
.home-professional p { margin:0; color:#b8c8d5; font-size:14px; line-height:1.7; }
.home-service-list { display:grid; grid-template-columns:1fr 1fr; border:1px solid rgba(255,255,255,.14); border-radius:14px; overflow:hidden; }
.home-service-list div { padding:18px 20px; border-right:1px solid rgba(255,255,255,.12); border-bottom:1px solid rgba(255,255,255,.12); }
.home-service-list div:nth-child(2n) { border-right:0; }
.home-service-list div:nth-last-child(-n+2) { border-bottom:0; }
.home-service-list strong { display:block; color:#fff; font-size:12px; }
.home-service-list span { display:block; margin-top:5px; color:#9eb2c2; font-size:10px; line-height:1.4; }

@media (max-width:1050px) {
  .home-hero-grid,.home-book,.home-professional-grid { grid-template-columns:1fr; }
  .home-live-grid { grid-template-columns:1fr 1fr; }
  .home-live-card.primary { grid-column:1 / -1; min-height:270px; }
  .home-stream-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:820px) {
  .home-section-head,.home-macro-layout { grid-template-columns:1fr; }
  .home-section-head { gap:16px; }
  .home-live-grid,.home-stream-grid { grid-template-columns:1fr; }
  .home-live-card.primary { grid-column:auto; }
}
@media (max-width:620px) {
  .home-hero { padding:52px 0 50px; }
  .home-hero h1 { font-size:45px; }
  .home-hero-lead { font-size:15px; }
  .home-system-row { grid-template-columns:72px 1fr; padding:15px 18px; }
  .home-section { padding:58px 0; }
  .home-explore-list,.home-service-list { grid-template-columns:1fr; }
  .home-explore-item,.home-service-list div { border-right:0!important; border-bottom:1px solid var(--line); }
  .home-explore-item:last-child,.home-service-list div:last-child { border-bottom:0; }
  .home-book { padding:26px 22px; }
}
