/* ===== MY JOURNEY ===== */
.jr-head{padding:clamp(120px,16vw,190px) 0 0;}
.jr-title{font-size:clamp(64px,15vw,200px);margin:.12em 0 0;line-height:.86;}
.jr-sub{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.6vw,34px);color:var(--brown);margin:18px 0 0;}

/* ---- education (top) ---- */
.edu-top{padding:clamp(44px,6vw,72px) 0 0;}
.edu-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-top:18px;}
.edu-main h2{font-size:clamp(30px,4.4vw,62px);font-weight:500;line-height:1;}
.edu-org{font-family:var(--serif);font-style:italic;color:var(--brown);font-size:clamp(16px,1.8vw,22px);margin:10px 0 0;}
.edu-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;}
.edu-years{font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--terra);font-weight:600;}
.edu-lvl{font-size:13px;color:var(--brown);}
.jr-corp-label{margin-bottom:clamp(28px,5vw,48px);}
@media(max-width:600px){.edu-meta{align-items:flex-start;}}

/* ---- timeline ---- */
.timeline-wrap{padding:clamp(50px,8vw,90px) 0 clamp(40px,6vw,80px);}
.timeline{position:relative;}
.tl-track{position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);background:rgba(36,31,26,.14);}
.tl-fill{position:absolute;left:0;top:0;width:100%;height:0;background:var(--terra);}
.tl-item{position:relative;width:50%;padding:0 clamp(28px,4vw,60px);margin-bottom:clamp(40px,6vw,72px);box-sizing:border-box;}
.tl-item.left{left:0;text-align:right;}
.tl-item.right{left:50%;text-align:left;}
.tl-card{display:inline-block;max-width:420px;text-align:left;background:var(--cream);border:1px solid rgba(36,31,26,.1);
  border-radius:16px;padding:clamp(22px,2.6vw,32px);box-shadow:0 26px 50px -40px rgba(36,31,26,.5);}
.tl-date{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);font-weight:600;}
.tl-logo{display:inline-flex;align-items:center;justify-content:center;height:46px;min-width:46px;padding:8px 14px;margin-bottom:14px;
  background:var(--cream-deep);border:1px solid rgba(36,31,26,.1);border-radius:10px;}
.tl-logo img{max-height:30px;max-width:130px;object-fit:contain;}
.tl-logo.dark{background:var(--ink);}
.tl-logo.dark img{filter:brightness(0) invert(1);opacity:.92;}
.tl-card h3{font-weight:500;font-size:clamp(22px,2.4vw,30px);margin:.25em 0 .1em;line-height:1.05;}
.tl-org{font-family:var(--serif);font-style:italic;color:var(--brown);margin:0 0 12px;font-size:18px;}
.tl-note{color:var(--ink-soft);font-size:15.5px;margin:0;}
.tl-dot{position:absolute;top:30px;width:15px;height:15px;border-radius:999px;background:var(--cream);border:3px solid var(--terra);z-index:2;}
.tl-item.left .tl-dot{right:-7.5px;}
.tl-item.right .tl-dot{left:-7.5px;}

/* ---- flagship spread (count up) ---- */
.flagship{background:var(--ink);color:var(--cream);padding:clamp(80px,12vw,150px) 0;margin:clamp(30px,5vw,60px) 0;}
.fl-eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--terra);margin:0 0 20px;}
.fl-title{font-size:clamp(34px,6vw,84px);font-weight:500;line-height:1.0;}
.fl-em{font-style:italic;color:var(--terra);}
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(20px,2.4vw,36px);margin:clamp(50px,8vw,90px) 0;}
.stat .num{font-family:var(--serif);font-weight:500;font-size:clamp(38px,5vw,76px);line-height:1;display:block;letter-spacing:-.02em;}
.stat p{font-size:14px;color:rgba(247,243,236,.72);margin:14px 0 0;line-height:1.45;}
.fl-take{font-family:var(--serif);font-size:clamp(22px,3vw,40px);font-weight:400;line-height:1.3;max-width:24ch;}
.fl-hi{color:var(--terra);font-style:italic;}

/* ---- credentials ---- */
.creds{padding:clamp(60px,9vw,120px) 0 clamp(40px,6vw,70px);}
.cred-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px) clamp(24px,4vw,64px);}
.cred{border-top:1px solid rgba(36,31,26,.2);padding-top:22px;}
.cred-label{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--terra);margin:0 0 14px;}
.cred h3{font-weight:500;font-size:clamp(24px,2.6vw,34px);margin:0 0 8px;}
.cred-note{color:var(--ink-soft);font-size:16px;margin:0 0 16px;}
.cred-list{list-style:none;padding:0;margin:0;}
.cred-list li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid rgba(36,31,26,.08);font-size:16px;}
.cred-list li span{color:var(--brown);font-family:var(--serif);font-style:italic;flex-shrink:0;}
.chips{display:flex;flex-wrap:wrap;gap:9px;}
.chips span{font-size:13.5px;padding:7px 14px;border:1px solid rgba(36,31,26,.18);border-radius:999px;color:var(--ink-soft);}
.cred-cta{display:flex;flex-direction:column;align-items:flex-start;gap:14px;justify-content:center;border-top-color:transparent;}

@media(max-width:820px){
  .stats{grid-template-columns:repeat(2,1fr);}
  .cred-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:680px){
  .tl-track{left:8px;}
  .tl-item{width:100%;left:0 !important;text-align:left !important;padding-left:44px;padding-right:0;}
  .tl-item .tl-dot{left:1px !important;right:auto !important;}
  .stats{grid-template-columns:1fr 1fr;}
  .cred-grid{grid-template-columns:1fr;}
}

/* ---- certificates grid ---- */
.cert-section{padding:clamp(60px,9vw,110px) 0 clamp(50px,7vw,90px);}
.cert-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:clamp(20px,3vw,40px);
  margin-top:clamp(28px,4vw,48px);
}
.cert-card{
  background:var(--cream);
  border:1px solid rgba(36,31,26,.1);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 20px 48px -28px rgba(36,31,26,.28);
  transition:transform .22s cubic-bezier(0.23,1,0.32,1), box-shadow .22s cubic-bezier(0.23,1,0.32,1);
}
.cert-card:hover{
  transform:translateY(-6px);
  box-shadow:0 32px 64px -28px rgba(36,31,26,.38);
}
.cert-img-wrap{
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#f5f4f0;
  border-bottom:1px solid rgba(36,31,26,.08);
}
.cert-img-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
  transition:transform .4s cubic-bezier(0.23,1,0.32,1);
}
.cert-card:hover .cert-img-wrap img{transform:scale(1.03);}
.cert-meta{
  padding:clamp(16px,2vw,24px);
  display:flex;
  flex-direction:column;
  gap:6px;
}
.cert-issuer{
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--terra);
  font-weight:600;
}
.cert-name{
  font-size:clamp(15px,1.6vw,18px);
  font-weight:500;
  color:var(--ink);
  margin:0;
  line-height:1.35;
}
.cert-year{
  font-family:var(--serif);
  font-style:italic;
  color:var(--brown);
  font-size:14px;
}
@media(max-width:680px){
  .cert-grid{grid-template-columns:1fr;}
}

/* ============================================================
   JOURNEY PAGE — MOBILE OPTIMISATION  (comprehensive rewrite)
   ============================================================ */

@media(max-width:820px){
  /* header */
  .jr-title{font-size:clamp(52px,16vw,140px);}
  .jr-head{padding:clamp(90px,14vw,140px) 0 0;}
  .jr-sub{font-size:clamp(16px,4.5vw,24px);}

  /* education */
  .edu-row{flex-direction:column;align-items:flex-start;gap:12px;}
  .edu-meta{align-items:flex-start;}
  .edu-main h2{font-size:clamp(24px,7vw,44px);}

  /* flagship stats */
  .stats{grid-template-columns:repeat(2,1fr);gap:16px;}
  .stat .num{font-size:clamp(32px,9vw,56px);}
  .fl-title{font-size:clamp(26px,7vw,56px);}
  .fl-take{font-size:clamp(16px,4.5vw,24px);}

  /* credentials */
  .cred-grid{grid-template-columns:1fr;gap:24px;}

  /* cert grid */
  .cert-grid{grid-template-columns:1fr;}
  .cert-section{padding:clamp(40px,7vw,80px) 0 clamp(36px,6vw,60px);}

  /* timeline */
  .tl-card{padding:20px;}
  .tl-card h3{font-size:clamp(18px,6vw,28px);}
  .tl-org{font-size:15px;}
  .tl-note{font-size:14px;}
}

@media(max-width:480px){
  .jr-title{font-size:clamp(44px,14vw,100px);}
  .stats{grid-template-columns:1fr 1fr;}
}
