/* History page — page-specific styles. Common site styles live in style.css. */
.history-page { background:#f5f8fd; }

.main-nav .is-current > button,
.nav-dropdown .is-current-link { color:#fff; background:linear-gradient(180deg,rgba(45,112,255,.22),rgba(37,217,255,.08)); }

.history-hero {
  position:relative; overflow:hidden; color:#fff;
  background:
    radial-gradient(circle at 82% 18%,rgba(37,217,255,.16),transparent 22%),
    radial-gradient(circle at 24% 100%,rgba(118,93,255,.22),transparent 32%),
    linear-gradient(135deg,#031022 0%,#061a39 52%,#0b3260 100%);
}
.history-hero::before {
  content:""; position:absolute; inset:0; opacity:.10; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:linear-gradient(90deg,#000,transparent 80%); mask-image:linear-gradient(90deg,#000,transparent 80%);
}
.history-hero__glow { position:absolute; border-radius:50%; filter:blur(2px); pointer-events:none; }
.history-hero__glow--one { width:390px; height:390px; left:-170px; bottom:-170px; background:radial-gradient(circle,rgba(37,217,255,.30),transparent 68%); animation:historyFloat 8s ease-in-out infinite; }
.history-hero__glow--two { width:310px; height:310px; right:21%; top:-150px; background:radial-gradient(circle,rgba(240,92,186,.20),transparent 68%); animation:historyFloat 10s -3s ease-in-out infinite; }
@keyframes historyFloat { 50% { transform:translate(20px,-18px) scale(1.06); } }

.history-hero__grid { min-height:650px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:58px; padding:70px 0 76px; position:relative; z-index:2; }
.history-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:24px; color:#92abc8; font-size:14px; font-weight:750; }
.history-breadcrumb a:hover { color:#fff; }
.history-breadcrumb strong { color:#dff6ff; }
.history-hero__copy h1 { margin:16px 0 20px; max-width:720px; font-size:clamp(48px,6.2vw,82px); line-height:.95; letter-spacing:-.055em; }
.history-hero__copy h1 span { background:linear-gradient(90deg,#6ee8ff,#46e3d0,#8a76ff,#ff70c4); -webkit-background-clip:text; background-clip:text; color:transparent; }
.history-hero__copy > p { max-width:650px; margin:0; color:#c7d8ea; font-size:17px; line-height:1.7; }
.history-hero__facts { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.history-hero__facts > div { min-width:145px; padding:15px 16px; border-radius:16px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.11); backdrop-filter:blur(12px); }
.history-hero__facts strong { display:block; font-size:28px; line-height:1; letter-spacing:-.04em; }
.history-hero__facts span { display:block; margin-top:6px; color:#9fb6d0; font-size:14px; font-weight:750; }

.history-hero__visual { position:relative; min-height:500px; }
.history-hero__image { position:absolute; inset:28px 0 24px 52px; border-radius:36px; overflow:hidden; clip-path:polygon(16% 0,100% 0,100% 86%,82% 100%,0 100%,0 18%); box-shadow:0 38px 90px rgba(0,0,0,.38); border:1px solid rgba(118,210,255,.18); }
.history-hero__image::after { content:""; position:absolute; inset:0; background:linear-gradient(145deg,rgba(5,20,48,.18),rgba(4,14,35,.66)),linear-gradient(to top,rgba(4,16,38,.78),transparent 60%); }
.history-hero__image img { width:100%; height:100%; object-fit:cover; object-position:64% center; filter:saturate(.76) contrast(1.02); }
.history-route { position:absolute; inset:0; width:100%; height:100%; z-index:3; filter:drop-shadow(0 0 8px rgba(37,217,255,.45)); }
.history-year { position:absolute; z-index:4; padding:11px 14px; border-radius:14px; background:rgba(5,20,48,.78); border:1px solid rgba(120,218,255,.23); box-shadow:0 15px 34px rgba(0,0,0,.26); backdrop-filter:blur(12px); }
.history-year small { display:block; color:#7f9bbd; font-size:14px; font-weight:900; letter-spacing:.12em; }
.history-year strong { display:block; margin-top:3px; color:#fff; font-size:24px; line-height:1; }
.history-year--start { left:1%; bottom:16%; }
.history-year--now { right:2%; top:8%; border-color:rgba(240,92,186,.28); }

.history-intro { background:#fff; }
.history-intro__grid { display:grid; grid-template-columns:220px 1fr; gap:52px; align-items:center; }
.history-intro__number { position:relative; font-size:112px; line-height:.85; font-weight:950; letter-spacing:-.08em; color:#0a2c5b; }
.history-intro__number::before { content:""; position:absolute; width:145px; height:145px; border-radius:50%; left:-20px; top:-20px; background:radial-gradient(circle,rgba(37,217,255,.17),transparent 67%); }
.history-intro__number span { color:#25d9ff; font-size:.46em; vertical-align:top; margin-left:4px; }

.history-timeline { background:radial-gradient(circle at 86% 12%,rgba(45,112,255,.07),transparent 25%),#f6f9fd; }
.timeline-track { position:relative; max-width:1060px; margin:46px auto 0; }
.timeline-track::before { content:""; position:absolute; left:50%; top:0; bottom:0; width:2px; transform:translateX(-50%); background:linear-gradient(#25d9ff,#765dff 52%,#f05cba); opacity:.55; }
.timeline-item { position:relative; display:grid; grid-template-columns:1fr 86px 1fr; align-items:center; min-height:170px; }
.timeline-item::before { content:""; grid-column:2; justify-self:center; width:15px; height:15px; border-radius:50%; background:#fff; border:4px solid #2d70ff; box-shadow:0 0 0 8px rgba(45,112,255,.10),0 0 28px rgba(37,217,255,.28); z-index:3; }
.timeline-year { font-size:44px; font-weight:950; letter-spacing:-.05em; color:#0d2d59; }
.timeline-card { padding:24px; border-radius:22px; background:#fff; border:1px solid #e0e9f5; box-shadow:0 14px 34px rgba(13,47,92,.07); }
.timeline-card h3 { margin:8px 0 8px; font-size:21px; line-height:1.15; }
.timeline-card p { margin:0; color:#6d7d96; font-size:14px; line-height:1.65; }
.timeline-index { color:#2d70ff; font-size:14px; font-weight:900; letter-spacing:.1em; }
.timeline-item:nth-child(odd) .timeline-year { grid-column:1; grid-row:1; text-align:right; padding-right:30px; }
.timeline-item:nth-child(odd) .timeline-card { grid-column:3; grid-row:1; }
.timeline-item:nth-child(even) .timeline-year { grid-column:3; grid-row:1; text-align:left; padding-left:30px; }
.timeline-item:nth-child(even) .timeline-card { grid-column:1; grid-row:1; text-align:right; }
.timeline-item:nth-child(even)::before { grid-column:2; grid-row:1; }
.timeline-item--accent .timeline-card { color:#fff; background:radial-gradient(circle at 90% 10%,rgba(37,217,255,.18),transparent 28%),linear-gradient(145deg,#071a35,#0d4b88); border-color:rgba(94,197,255,.25); box-shadow:0 22px 52px rgba(6,45,97,.24); }
.timeline-item--accent .timeline-card p { color:#c3d4e8; }
.timeline-item--accent .timeline-index { color:#72e9ff; }

.history-growth { background:#fff; }
.history-growth__hero { min-height:330px; padding:42px; border-radius:30px; color:#fff; display:grid; grid-template-columns:1fr 270px; align-items:center; overflow:hidden; position:relative; background:radial-gradient(circle at 85% 25%,rgba(37,217,255,.24),transparent 25%),radial-gradient(circle at 65% 100%,rgba(118,93,255,.28),transparent 31%),linear-gradient(135deg,#04152e,#0c4078 52%,#0a687c); box-shadow:0 28px 70px rgba(8,50,107,.18); }
.history-growth__hero h2 { margin:13px 0 13px; max-width:740px; font-size:clamp(35px,4.7vw,58px); line-height:1; letter-spacing:-.045em; }
.history-growth__hero p { max-width:670px; margin:0; color:#c7d8ea; font-size:15px; line-height:1.65; }
.history-growth__rings { position:relative; width:240px; height:240px; justify-self:end; }
.history-growth__rings span { position:absolute; inset:50%; border-radius:50%; transform:translate(-50%,-50%); border:1px solid rgba(255,255,255,.16); }
.history-growth__rings span:nth-child(1) { width:84px; height:84px; background:radial-gradient(circle,rgba(37,217,255,.28),transparent 66%); }
.history-growth__rings span:nth-child(2) { width:150px; height:150px; }
.history-growth__rings span:nth-child(3) { width:220px; height:220px; box-shadow:0 0 0 22px rgba(255,255,255,.02),0 0 0 46px rgba(255,255,255,.015); }
.history-growth__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:20px; }
.growth-card { min-height:235px; padding:24px; border-radius:22px; background:#f8faff; border:1px solid #e1eaf6; position:relative; overflow:hidden; transition:.22s ease; }
.growth-card:hover { transform:translateY(-5px); box-shadow:0 18px 40px rgba(26,72,139,.09); border-color:#cddffc; }
.growth-card--wide { grid-column:span 4; min-height:180px; display:grid; grid-template-columns:120px 70px minmax(0,1fr); grid-template-rows:auto auto; align-items:center; column-gap:22px; row-gap:6px; }
.growth-card__year { position:absolute; right:18px; top:14px; font-size:40px; font-weight:950; letter-spacing:-.06em; color:rgba(12,55,106,.10); }
.growth-card__icon { width:52px; height:52px; border-radius:16px; display:grid; place-items:center; color:#fff; font-size:23px; font-weight:900; background:linear-gradient(135deg,#2d70ff,#25d9ff); box-shadow:0 12px 28px rgba(45,112,255,.20); }
.growth-card h3 { margin:22px 0 8px; font-size:19px; line-height:1.18; }
.growth-card p { margin:0; color:#6d7d96; font-size:14px; line-height:1.6; }
.growth-card--wide .growth-card__year { position:static; grid-column:1; grid-row:1 / span 2; font-size:48px; text-align:center; align-self:center; }
.growth-card--wide .growth-card__icon { grid-column:2; grid-row:1 / span 2; margin:0; align-self:center; }
.growth-card--wide h3 { grid-column:3; grid-row:1; margin:0 0 2px; align-self:end; }
.growth-card--wide p { grid-column:3; grid-row:2; max-width:900px; align-self:start; }

.history-world { background:radial-gradient(circle at 10% 88%,rgba(118,93,255,.07),transparent 27%),#f6f9fd; }
.history-world__layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:54px; align-items:start; }
.history-world__intro { position:sticky; top:160px; }
.world-since { display:inline-flex; flex-direction:column; margin-top:28px; padding:16px 18px; border-radius:18px; background:#071a35; color:#fff; }
.world-since span { color:#8ea8c8; font-size:14px; font-weight:850; text-transform:uppercase; letter-spacing:.1em; }
.world-since strong { margin-top:4px; font-size:34px; line-height:1; background:linear-gradient(90deg,#69e5ff,#a485ff); -webkit-background-clip:text; background-clip:text; color:transparent; }
.world-list { display:grid; gap:14px; }
.world-card { padding:26px; border-radius:23px; background:#fff; border:1px solid #e0e9f5; box-shadow:0 12px 30px rgba(13,47,92,.06); position:relative; overflow:hidden; }
.world-card::after { content:""; position:absolute; width:150px; height:150px; border-radius:50%; right:-65px; top:-75px; background:radial-gradient(circle,rgba(37,217,255,.12),transparent 66%); }
.world-card > span { display:inline-flex; min-width:52px; height:30px; padding:0 10px; align-items:center; justify-content:center; border-radius:9px; color:#fff; background:linear-gradient(135deg,#2d70ff,#765dff); font-size:14px; font-weight:900; letter-spacing:.08em; }
.world-card h3 { margin:16px 0 8px; font-size:21px; }
.world-card p { margin:0; color:#6d7d96; font-size:14px; line-height:1.65; }

.history-honours { background:#fff; }
.honours-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.honour-card { padding:28px; border-radius:24px; background:linear-gradient(180deg,#fff,#f8fbff); border:1px solid #e0e9f5; box-shadow:0 14px 35px rgba(13,47,92,.06); }
.honour-card__badge { width:58px; height:58px; display:grid; place-items:center; border-radius:18px; background:linear-gradient(135deg,#0b2e61,#2d70ff 58%,#25d9ff); color:#fff; font-size:23px; font-weight:950; box-shadow:0 14px 28px rgba(45,112,255,.18); }
.honour-card h3 { margin:22px 0 9px; font-size:22px; }
.honour-card p { margin:0; color:#6d7d96; font-size:14px; line-height:1.65; }

.history-skills { background:linear-gradient(180deg,#f5f8fd,#edf3fb); }
.skills-years { display:grid; gap:12px; max-width:1060px; margin:0 auto; }
.skills-year { border-radius:22px; overflow:hidden; background:#fff; border:1px solid #dfe9f5; box-shadow:0 10px 26px rgba(13,47,92,.05); }
.skills-year summary { min-height:82px; padding:18px 22px; display:grid; grid-template-columns:110px 1fr 38px; align-items:center; gap:18px; cursor:pointer; list-style:none; }
.skills-year summary::-webkit-details-marker { display:none; }
.skills-year summary span { font-size:28px; font-weight:950; letter-spacing:-.04em; color:#0a2e61; }
.skills-year summary strong { font-size:16px; }
.skills-year summary i { width:34px; height:34px; border-radius:11px; display:grid; place-items:center; background:#edf4ff; color:#2d70ff; font-style:normal; font-size:20px; font-weight:800; transition:.2s ease; }
.skills-year[open] summary i { transform:rotate(45deg); background:#2d70ff; color:#fff; }
.skills-year__body { padding:0 28px 24px 150px; }
.skills-year__body ul { margin:0; padding:0; display:grid; gap:10px; list-style:none; }
.skills-year__body li { position:relative; padding-left:20px; color:#61728d; font-size:14px; line-height:1.65; }
.skills-year__body li::before { content:""; position:absolute; left:0; top:.63em; width:7px; height:7px; border-radius:50%; background:linear-gradient(135deg,#25d9ff,#765dff); box-shadow:0 0 0 5px rgba(45,112,255,.07); }

.history-final { padding:0 0 88px; background:#edf3fb; }
.history-final__box { min-height:320px; padding:40px 46px; display:grid; grid-template-columns:150px 1fr 150px; align-items:center; gap:28px; border-radius:30px; overflow:hidden; color:#fff; background:radial-gradient(circle at 85% 20%,rgba(37,217,255,.22),transparent 24%),radial-gradient(circle at 15% 90%,rgba(240,92,186,.16),transparent 26%),linear-gradient(135deg,#031022,#082652 55%,#0c4675); box-shadow:0 28px 75px rgba(4,37,88,.22); }
.history-final__year { font-size:56px; font-weight:950; letter-spacing:-.06em; color:rgba(255,255,255,.14); }
.history-final__year:last-child { text-align:right; }
.history-final__box h2 { margin:12px 0 12px; max-width:760px; font-size:clamp(34px,4.3vw,54px); line-height:1; letter-spacing:-.045em; }
.history-final__box p { margin:0 0 22px; max-width:690px; color:#bfd2e6; font-size:14px; line-height:1.65; }

@media(max-width:1100px) {
  .history-hero__grid { grid-template-columns:1fr .9fr; gap:30px; }
  .history-growth__grid { grid-template-columns:1fr 1fr; }
  .growth-card--wide { grid-column:span 2; }
  .history-world__layout { grid-template-columns:1fr; }
  .history-world__intro { position:static; }
}
@media(max-width:900px) {
  .history-hero__grid { min-height:auto; grid-template-columns:1fr; padding:58px 0 58px; }
  .history-hero__visual { min-height:420px; max-width:650px; width:100%; }
  .history-intro__grid { grid-template-columns:150px 1fr; gap:30px; }
  .history-intro__number { font-size:82px; }
  .timeline-track::before { left:25px; transform:none; }
  .timeline-item { grid-template-columns:50px 1fr; gap:15px; padding-bottom:20px; }
  .timeline-item::before,.timeline-item:nth-child(even)::before { grid-column:1; grid-row:1; justify-self:center; align-self:start; margin-top:22px; }
  .timeline-item .timeline-year,.timeline-item:nth-child(odd) .timeline-year,.timeline-item:nth-child(even) .timeline-year { grid-column:2; grid-row:1; text-align:left; padding:0 0 0 0; align-self:start; margin:0 0 10px; font-size:32px; }
  .timeline-item .timeline-card,.timeline-item:nth-child(odd) .timeline-card,.timeline-item:nth-child(even) .timeline-card { grid-column:2; grid-row:1; margin-top:50px; text-align:left; }
  .history-growth__hero { grid-template-columns:1fr; }
  .history-growth__rings { display:none; }
  .honours-grid { grid-template-columns:1fr; }
  .history-final__box { grid-template-columns:100px 1fr; }
  .history-final__year:last-child { display:none; }
}
@media(max-width:650px) {
  .history-hero__grid { padding:42px 0 45px; }
  .history-hero__copy h1 { font-size:clamp(43px,14vw,62px); }
  .history-hero__copy > p { font-size:15px; }
  .history-hero__facts { display:grid; grid-template-columns:1fr 1fr 1fr; gap:7px; }
  .history-hero__facts > div { min-width:0; padding:12px 10px; }
  .history-hero__facts strong { font-size:22px; }
  .history-hero__facts span { font-size:14px; }
  .history-hero__visual { min-height:340px; }
  .history-hero__image { inset:18px 0 20px 18px; border-radius:25px; }
  .history-year strong { font-size:20px; }
  .history-intro__grid { grid-template-columns:1fr; }
  .history-intro__number { font-size:74px; }
  .history-growth__hero { padding:30px 23px; }
  .history-growth__grid { grid-template-columns:1fr; }
  .growth-card--wide { grid-column:auto; display:block; }
  .growth-card--wide .growth-card__year { position:absolute; font-size:40px; }
  .growth-card--wide .growth-card__icon { margin-bottom:18px; }
  .skills-year summary { grid-template-columns:90px 1fr 34px; gap:10px; padding:15px 14px; }
  .skills-year summary span { font-size:21px; }
  .skills-year summary strong { font-size:14px; }
  .skills-year__body { padding:0 18px 20px 18px; }
  .history-final__box { grid-template-columns:1fr; padding:30px 23px; }
  .history-final__year { font-size:40px; }
}
@media(prefers-reduced-motion:reduce) {
  .history-hero__glow { animation:none; }
}

/* 2026 recognition milestone */
.timeline-item--award .timeline-year{
  color:#d88416;
  text-shadow:0 8px 24px rgba(255,174,61,.16);
}
.timeline-item--award::before{
  border-color:#ffb33d;
  box-shadow:0 0 0 8px rgba(255,179,61,.10),0 0 30px rgba(255,179,61,.26);
}
.timeline-item--award .timeline-card{
  border-color:rgba(255,183,77,.28);
  background:
    radial-gradient(circle at 92% 8%,rgba(255,210,94,.16),transparent 28%),
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,249,235,.98));
}
.timeline-item--award .timeline-card::after{
  content:"★";
  position:absolute;
  right:24px;
  top:18px;
  font-size:34px;
  color:#ffb33d;
  opacity:.85;
}
