/* Inner-page shared styles */
.inner-page{position:relative;width:1440px;margin:0;background:#fff;overflow:hidden}
.inner-hero{position:relative;height:520px;background:#0e1216;overflow:hidden;color:#fff}
.inner-hero .image{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.35}
.inner-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.85),rgba(0,0,0,.2))}
.inner-hero .content{position:relative;padding-top:240px;z-index:2}
.inner-hero h1{font-size:50px;font-weight:300;letter-spacing:.05em;margin:0;line-height:1.05;color:#fff}
.inner-hero p{font-size:14px;color:#cdd3da;max-width:560px;line-height:24px;margin-top:18px;letter-spacing:.075em;font-weight:300}
.inner-hero .red-stripe{position:absolute;left:0;top:140px;width:32px;height:240px;background:var(--red);clip-path:polygon(0 0,100% 0,100% 100%,0 80%)}

.crumbs{font-size:12px;letter-spacing:.15em;color:#fff;display:flex;gap:10px;align-items:center;text-transform:uppercase;margin-bottom:30px}
.crumbs .sep{opacity:.4}
.crumbs span:not(.sep){opacity:.7}
.crumbs .now{opacity:1;color:var(--red)}

.section{padding:90px 0;position:relative}
.section h2{font-size:30px;font-weight:300;letter-spacing:.075em;margin:0 0 18px;color:#000}
.section .lead{font-size:14px;line-height:24px;color:var(--text-2);max-width:680px;letter-spacing:.05em}
.section .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.section .grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.section .grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}

.card{position:relative;background:#fff;border:1px solid var(--line);padding:24px;height:280px;display:flex;flex-direction:column;justify-content:space-between;transition:.18s;overflow:hidden}
.card:hover{border-color:var(--red);transform:translateY(-2px);box-shadow:0 18px 40px -22px rgba(0,0,0,.18)}
.card .num{font-family:ui-monospace,Menlo,monospace;font-size:11px;letter-spacing:.2em;color:var(--muted);margin-bottom:14px}
.card h3{font-size:16px;font-weight:600;margin:0 0 12px;letter-spacing:.05em;color:#000}
.card p{font-size:12px;line-height:18px;color:var(--muted-2);margin:0;letter-spacing:.075em;font-weight:300}
.card .arr{margin-top:18px;color:var(--red);display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.2em;font-weight:700}

.card.media{padding:0;height:340px;color:#fff;background:#000}
.card.media .img{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.5}
.card.media::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 50%, rgba(0,0,0,.8))}
.card.media .meta{position:absolute;left:24px;right:24px;bottom:24px;z-index:2}
.card.media h3{color:#fff}
.card.media p{color:rgba(255,255,255,.85)}

.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:60px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.kpi .v{font-size:50px;font-weight:300;letter-spacing:.04em;color:var(--red);line-height:1}
.kpi small{display:block;color:var(--muted);font-size:11px;letter-spacing:.15em;text-transform:uppercase;margin-top:8px}

/* Two-up split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.split .img{height:480px;background-size:cover;background-position:center;background-color:var(--gray)}

/* Pagination */
.pagination{display:flex;justify-content:center;gap:8px;margin-top:60px}
.pagination a{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--line);
  display:inline-flex;align-items:center;justify-content:center;font-size:13px;color:var(--text);
}
.pagination a.is-active{background:var(--red);color:#fff;border-color:var(--red)}

/* Tag bar / filters */
.filter-bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:40px}
.filter-bar a{padding:10px 22px;border:1px solid var(--line);font-size:12px;letter-spacing:.1em;color:var(--text);border-radius:30px;font-weight:600}
.filter-bar a.is-active{background:#000;color:#fff;border-color:#000}

/* Form */
.form{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:780px}
.form .full{grid-column:1/3}
.form label{display:block;font-size:11px;letter-spacing:.15em;color:var(--muted);text-transform:uppercase;margin-bottom:8px;font-weight:600}
.form input,.form select,.form textarea{
  width:100%;padding:14px 16px;font-size:14px;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:0;font-family:inherit;
}
.form textarea{min-height:140px;resize:vertical}
.form button[type=submit]{
  background:var(--red);color:#fff;padding:14px 36px;font-size:12px;letter-spacing:.2em;font-weight:700;text-transform:uppercase;
}

/* Timeline */
.timeline{position:relative;padding:30px 0}
.timeline::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line)}
.timeline .item{display:grid;grid-template-columns:1fr 80px 1fr;gap:20px;align-items:flex-start;padding:30px 0}
.timeline .item .dot{width:18px;height:18px;border-radius:50%;background:var(--red);margin:0 auto;position:relative;top:6px}
.timeline .item h4{margin:0 0 6px;font-size:15px;letter-spacing:.05em}
.timeline .item .y{font-size:36px;font-weight:300;color:var(--red);letter-spacing:.04em;line-height:1}
.timeline .item p{font-size:12px;color:var(--muted-2);line-height:18px;margin:6px 0 0;font-weight:300}
.timeline .item.right .l{text-align:right}
.timeline .item.left .r{order:3}
.timeline .item.left .l{order:1}

/* Map placeholder */
.map-box{
  position:relative;height:520px;background:linear-gradient(135deg,#1f2c36,#2b3944);overflow:hidden;
}
.map-box .pin{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--red);box-shadow:0 0 0 6px rgba(171,5,45,.18)}
.map-box .legend{
  position:absolute;left:30px;bottom:30px;background:rgba(255,255,255,.95);padding:18px 22px;color:var(--text);
  font-size:12px;letter-spacing:.075em;border-radius:6px;
}
.map-box .legend h4{margin:0 0 8px;font-size:13px;letter-spacing:.1em;color:#000}

/* Featured strip */
.feature-strip{
  position:relative;height:260px;background:var(--dark);color:#fff;display:flex;align-items:center;padding:0 80px;overflow:hidden;
}
.feature-strip::before{content:"";position:absolute;left:0;top:0;width:8px;height:100%;background:var(--red)}
.feature-strip h3{font-size:30px;font-weight:300;letter-spacing:.05em;margin:0;flex:1}
.feature-strip a{padding:14px 32px;background:var(--red);color:#fff;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700}
