
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --bg:#080a0d;
  --bg2:#0d1014;
  --panel:#10141a;
  --panel2:#151a21;
  --line:#242b35;
  --ink:#f2f4f7;
  --muted:#8f9baa;
  --acid:#dfff3f;
  --acid-soft:rgba(223,255,63,.12);
  --blue:#7597ff;
  --shadow:0 24px 80px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:
radial-gradient(circle at 84% 8%,rgba(117,151,255,.09),transparent 24rem),
radial-gradient(circle at 10% 28%,rgba(223,255,63,.045),transparent 24rem),
var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
img{display:block;max-width:100%}
::selection{background:var(--acid);color:#0a0c0e}
.shell{width:min(calc(100% - 36px),1280px);margin:auto}
.mono{font-family:"DM Mono",monospace}
.noise{pointer-events:none;position:fixed;inset:0;z-index:1000;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}
.cursor-glow{position:fixed;width:430px;height:430px;border-radius:50%;pointer-events:none;z-index:-1;background:radial-gradient(circle,rgba(117,151,255,.07),transparent 68%);transform:translate(-50%,-50%);transition:opacity .2s}

/* NAV */
.topbar{position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.055);background:rgba(8,10,13,.78);backdrop-filter:blur(18px)}
.topbar-inner{min-height:66px;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center}
.wordmark{display:flex;align-items:center;gap:10px;font-weight:700;font-size:13px;letter-spacing:-.02em}
.wordmark-mark{width:27px;height:27px;border-radius:7px;background:var(--acid);color:#0a0c0e;display:grid;place-items:center;font:700 10px "DM Mono"}
.nav{justify-self:center;display:flex;align-items:center;gap:6px}
.nav a{font:400 10px "DM Mono";color:#8995a5;padding:8px 9px;border-radius:8px;transition:.2s}
.nav a:hover{color:#fff;background:#141820}
.top-actions{display:flex;gap:8px}
.micro-btn{border:1px solid var(--line);background:#10141a;color:#d7dce4;padding:9px 11px;border-radius:9px;font:400 10px "DM Mono";cursor:pointer}
.micro-btn.primary{background:var(--acid);border-color:var(--acid);color:#0a0c0e;font-weight:500}

/* HERO */
.hero{min-height:calc(100vh - 67px);display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:42px;align-items:center;padding:76px 0 54px;position:relative}
.eyebrow{display:flex;align-items:center;gap:11px;color:#92a0b2;font:400 10px "DM Mono";letter-spacing:.06em;text-transform:uppercase}
.pulse{width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 0 0 rgba(223,255,63,.45);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(223,255,63,0)}100%{box-shadow:0 0 0 0 rgba(223,255,63,0)}}
.hero h1{font-size:clamp(58px,8.2vw,126px);line-height:.86;letter-spacing:-.075em;margin:28px 0 30px;max-width:900px}
.hero h1 span{display:block;color:#707a89}
.hero-lead{font-size:clamp(16px,1.55vw,20px);line-height:1.55;color:#a6b1bf;max-width:680px}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);background:#11151b;color:#f3f5f7;padding:12px 15px;border-radius:10px;font-size:12px;font-weight:600;transition:.22s}
.btn:hover{transform:translateY(-2px);border-color:#48515f}
.btn.acid{background:var(--acid);border-color:var(--acid);color:#0b0d10}
.hero-meta{display:flex;gap:22px;flex-wrap:wrap;margin-top:35px}
.hero-meta div{display:grid;gap:4px}
.hero-meta small{font:400 9px "DM Mono";color:#657182;text-transform:uppercase}
.hero-meta strong{font-size:12px;font-weight:500;color:#cbd2dc}

/* identity console */
.identity-wrap{position:relative}
.identity-window{background:linear-gradient(180deg,#131820,#0d1116);border:1px solid #29313c;border-radius:18px;box-shadow:var(--shadow);overflow:hidden;transform:rotate(1.2deg);transition:.35s}
.identity-window:hover{transform:rotate(0deg) translateY(-5px)}
.window-bar{height:42px;border-bottom:1px solid #242b35;display:flex;align-items:center;justify-content:space-between;padding:0 14px;color:#758194;font:400 9px "DM Mono"}
.dots{display:flex;gap:5px}.dots i{display:block;width:7px;height:7px;border-radius:50%;background:#2b333e}.dots i:first-child{background:var(--acid)}
.identity-photo{position:relative;margin:14px 14px 0;border-radius:12px;overflow:hidden;aspect-ratio:1.18/1;background:#151a21}
.identity-photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:saturate(.9) contrast(1.04)}
.identity-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(5,7,10,.56))}
.photo-tag{position:absolute;bottom:13px;left:13px;z-index:2;background:rgba(7,9,12,.72);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);border-radius:999px;padding:7px 9px;font:400 9px "DM Mono";color:#d6dde6}
.identity-info{padding:17px}
.identity-info h2{font-size:20px;margin:0 0 5px}
.identity-info p{font-size:11px;color:#8996a7;margin:0}
.identity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:15px}
.identity-cell{border:1px solid #232a33;border-radius:10px;padding:11px;background:#0d1116}
.identity-cell small{font:400 8px "DM Mono";color:#637083;text-transform:uppercase}
.identity-cell strong{display:block;margin-top:5px;font-size:11px}
.float-chip{position:absolute;right:-25px;top:16%;border:1px solid #2a323d;background:rgba(15,19,25,.9);padding:10px 12px;border-radius:12px;box-shadow:var(--shadow);font:400 9px "DM Mono";color:#aab5c4}
.float-chip strong{color:var(--acid)}

/* ticker */
.ticker{border-block:1px solid #1c222a;overflow:hidden;background:#0b0e12}
.ticker-track{display:flex;width:max-content;animation:ticker 24s linear infinite}
.ticker-item{padding:14px 24px;font:400 9px "DM Mono";color:#758294;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.ticker-item b{color:var(--acid);font-weight:400;margin-right:10px}
@keyframes ticker{to{transform:translateX(-50%)}}

/* shared sections */
.section{padding:110px 0;border-bottom:1px solid #171d24}
.section-head{display:grid;grid-template-columns:160px 1fr;gap:34px;margin-bottom:50px}
.section-kicker{font:400 9px "DM Mono";color:#657184;text-transform:uppercase;padding-top:8px}
.section-title{font-size:clamp(38px,5vw,66px);line-height:1;letter-spacing:-.055em;margin:0;max-width:900px}
.section-title em{font-style:normal;color:#626d7b}

/* NOW / STATUS */
.status-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}
.status-panel{border:1px solid var(--line);background:#0e1217;border-radius:18px;overflow:hidden}
.status-main{min-height:420px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;background:
linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px),
#0e1217;background-size:42px 42px}
.status-label{font:400 9px "DM Mono";color:#6f7b8d;text-transform:uppercase}
.status-main h3{font-size:clamp(34px,4.2vw,58px);letter-spacing:-.05em;margin:14px 0;line-height:1.02}
.status-main p{max-width:590px;color:#8e9aaa;font-size:13px;line-height:1.65}
.live-row{display:flex;justify-content:space-between;align-items:flex-end;gap:18px}
.clock{font:300 clamp(36px,5vw,64px) "DM Mono";letter-spacing:-.06em}
.clock-sub{font:400 9px "DM Mono";color:#677386;text-transform:uppercase}
.side-stack{display:grid;gap:14px}
.mini-panel{border:1px solid var(--line);background:#0e1217;border-radius:18px;padding:22px;min-height:130px}
.mini-panel .big{font-size:30px;letter-spacing:-.04em;margin-top:21px}
.mini-panel p{font-size:11px;color:#7f8c9c;margin:5px 0 0}

/* EXPERIENCE */
.log{border-top:1px solid #242a32}
.log-row{display:grid;grid-template-columns:140px 1fr 160px 22px;gap:20px;align-items:center;padding:22px 5px;border-bottom:1px solid #20262e;cursor:pointer;transition:.2s}
.log-row:hover{background:#0e1217;padding-inline:14px}
.log-row time{font:400 9px "DM Mono";color:#687486}
.log-row h3{font-size:18px;margin:0 0 4px}.log-row p{font-size:11px;color:#7f8b9b;margin:0}
.log-row .place{font:400 9px "DM Mono";color:#7b8798;text-align:right}
.log-row .arrow{color:#5f6976;transition:.2s}.log-row:hover .arrow{transform:translateX(3px);color:var(--acid)}

/* MODES */
.mode-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:22px}
.mode-btn{border:1px solid var(--line);background:#0e1217;color:#788597;padding:9px 12px;border-radius:9px;font:400 9px "DM Mono";cursor:pointer}
.mode-btn.active{background:var(--acid);color:#0a0c0e;border-color:var(--acid)}
.capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cap-card{border:1px solid var(--line);background:#0e1217;border-radius:16px;padding:22px;min-height:190px;transition:.25s}
.cap-card:hover{transform:translateY(-4px);border-color:#3b4655}
.cap-card.hidden{display:none}
.cap-num{font:400 9px "DM Mono";color:#647083}
.cap-card h3{font-size:19px;margin:35px 0 10px}
.cap-card p{font-size:11px;line-height:1.6;color:#7f8b9b}
.cap-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:16px}.cap-tags span{font:400 8px "DM Mono";padding:5px 6px;border-radius:6px;background:#151a21;color:#8c98a7}

/* WORK */
.work-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:14px}
.work-card{position:relative;border:1px solid var(--line);background:#0e1217;border-radius:18px;padding:25px;min-height:360px;overflow:hidden}
.work-card.featured{background:linear-gradient(145deg,#10151c,#151c28)}
.work-card .label{font:400 9px "DM Mono";color:#6d798a}
.work-card h3{font-size:30px;letter-spacing:-.045em;margin:58px 0 12px;max-width:520px}
.work-card p{font-size:12px;line-height:1.65;color:#8491a1;max-width:520px}
.work-card .tags{position:absolute;left:25px;bottom:24px;display:flex;gap:6px;flex-wrap:wrap}
.tags span{font:400 8px "DM Mono";border:1px solid #2b333e;padding:6px 7px;border-radius:7px;color:#778496}
.preview-terminal{position:absolute;right:-32px;top:55px;width:280px;background:#090c10;border:1px solid #28313e;border-radius:13px;box-shadow:0 24px 70px rgba(0,0,0,.38);transform:rotate(5deg);overflow:hidden}
.preview-terminal .bar{height:32px;border-bottom:1px solid #202731;padding:10px;font:400 8px "DM Mono";color:#626f81}
.preview-terminal pre{margin:0;padding:15px;font:400 8px/1.7 "DM Mono";color:#8290a1}
.preview-terminal b{color:var(--acid);font-weight:400}

/* TERMINAL */
.terminal{border:1px solid #29313c;background:#080b0f;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.term-bar{height:44px;padding:0 16px;border-bottom:1px solid #202731;display:flex;justify-content:space-between;align-items:center;font:400 9px "DM Mono";color:#687486}
.term-body{padding:22px;min-height:330px;font:400 11px/1.7 "DM Mono"}
.term-output{min-height:220px;color:#8794a5;white-space:pre-wrap}
.term-output .accent{color:var(--acid)}
.term-output .white{color:#e6eaf0}
.term-input-row{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;border-top:1px solid #202731;padding-top:14px;color:var(--acid)}
.term-input{background:transparent;border:0;outline:0;color:#e9edf2;font:400 11px "DM Mono";min-width:0}
.command-pills{display:flex;gap:5px;flex-wrap:wrap;margin-top:14px}
.command-pills button{border:1px solid #252d37;background:#10141a;color:#667386;border-radius:7px;padding:5px 7px;font:400 8px "DM Mono";cursor:pointer}
.command-pills button:hover{color:#fff;border-color:#3a4656}

/* CERTIFICATE */
.cert-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:14px}
.cert-visual{border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#11151a;padding:14px}
.cert-visual img{width:100%;height:100%;object-fit:contain;border-radius:10px;filter:saturate(.85)}
.cert-copy{border:1px solid var(--line);border-radius:18px;background:#0e1217;padding:28px;display:flex;flex-direction:column;justify-content:center}
.cert-copy h3{font-size:32px;line-height:1.1;letter-spacing:-.04em;margin:15px 0}
.cert-copy p{font-size:12px;color:#8793a3;line-height:1.7}
.cert-copy .btn{align-self:flex-start;margin-top:12px}

/* CONTACT */
.contact-section{padding:120px 0 70px}
.contact-box{position:relative;border:1px solid #2b333d;background:linear-gradient(145deg,#10141a,#0b0e12);border-radius:22px;padding:42px;overflow:hidden}
.contact-box:after{content:"MH";position:absolute;right:-20px;bottom:-60px;font-size:220px;font-weight:700;letter-spacing:-.1em;color:#121820;pointer-events:none}
.contact-box h2{font-size:clamp(45px,7vw,90px);letter-spacing:-.065em;line-height:.95;margin:0 0 22px;max-width:830px;position:relative;z-index:2}
.contact-box p{color:#8895a5;max-width:650px;line-height:1.6;position:relative;z-index:2}
.contact-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px;position:relative;z-index:2}
.footer{display:flex;justify-content:space-between;gap:20px;padding:28px 0 40px;color:#5e6978;font:400 9px "DM Mono"}

/* resume */
.resume-body{background:#f2f4f6;color:#111827;min-height:100vh}
.resume-shell{width:min(calc(100% - 32px),1000px);margin:auto;padding:36px 0 70px}
.resume-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}
.resume-back{font:500 11px "DM Mono";color:#526070}
.resume-print{border:1px solid #d2d7df;background:#fff;border-radius:8px;padding:8px 10px;font:500 10px "DM Mono";cursor:pointer}
.resume-paper{background:#fff;border:1px solid #dde2e8;box-shadow:0 20px 70px rgba(20,30,45,.08);padding:42px;border-radius:18px}
.resume-header{display:grid;grid-template-columns:1fr auto;gap:30px;padding-bottom:28px;border-bottom:2px solid #111827}
.resume-header h1{font-size:38px;letter-spacing:-.05em;margin:0 0 6px}.resume-header p{margin:3px 0;color:#667085;font-size:12px}
.resume-contact{text-align:right;font-size:10px;line-height:1.7;color:#667085}
.resume-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:38px;padding-top:30px}
.resume-block{margin-bottom:28px}.resume-block h2{font:500 9px "DM Mono";letter-spacing:.08em;text-transform:uppercase;color:#5865e8;margin:0 0 12px}
.resume-block>p{font-size:11px;line-height:1.7;color:#667085}
.resume-item{padding:0 0 15px}.resume-item+.resume-item{border-top:1px solid #e5e7eb;padding-top:15px}
.resume-item small{font-size:9px;color:#98a2b3}.resume-item h3{font-size:13px;margin:5px 0}.resume-item p{font-size:10px;color:#667085;line-height:1.55;margin:3px 0}
.resume-tags{display:flex;flex-wrap:wrap;gap:5px}.resume-tags span{font-size:8px;border:1px solid #e2e5e9;border-radius:6px;padding:5px 6px;background:#f8f9fb}

@media(max-width:900px){
  .nav{display:none}
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:60px}
  .identity-wrap{max-width:540px}
  .float-chip{right:8px}
  .section-head{grid-template-columns:1fr;gap:12px}
  .status-grid,.work-grid,.cert-grid{grid-template-columns:1fr}
  .capabilities{grid-template-columns:repeat(2,1fr)}
  .log-row{grid-template-columns:110px 1fr 20px}.log-row .place{display:none}
  .preview-terminal{opacity:.35}
}
@media(max-width:620px){
  .shell{width:min(calc(100% - 24px),1280px)}
  .topbar-inner{grid-template-columns:1fr auto}.top-actions .micro-btn:not(.primary){display:none}
  .hero h1{font-size:58px}.hero-meta{display:grid;grid-template-columns:1fr 1fr}
  .identity-window{transform:none}.float-chip{display:none}
  .status-main{min-height:360px;padding:22px}
  .capabilities{grid-template-columns:1fr}
  .log-row{grid-template-columns:1fr 20px;gap:7px}.log-row time{grid-column:1}.log-row .arrow{grid-column:2;grid-row:1/3}
  .work-card{min-height:420px}
  .preview-terminal{right:-80px;top:115px}
  .contact-box{padding:28px 22px}.contact-box:after{font-size:150px}
  .resume-paper{padding:24px}.resume-header,.resume-grid{grid-template-columns:1fr}.resume-contact{text-align:left}
}
@media print{
  .resume-top{display:none}.resume-shell{padding:0;width:100%}.resume-paper{border:0;box-shadow:none;border-radius:0;padding:0}
}


/* =========================================================
   RESUME V2 — professional A4 / inspired by clean split CVs
   ========================================================= */
.cv-page{
  min-height:100vh;
  background:#e9edf2;
  color:#17202a;
  font-family:Inter,system-ui,sans-serif;
}
.cv-toolbar{
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(233,237,242,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid #d8dee6;
}
.cv-toolbar-inner{
  width:min(calc(100% - 28px),1060px);
  min-height:62px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.cv-toolbar a,
.cv-toolbar button{
  border:1px solid #cfd6df;
  background:#fff;
  color:#344054;
  border-radius:9px;
  padding:9px 12px;
  font:500 10px "DM Mono",monospace;
  cursor:pointer;
}
.cv-toolbar .cv-download{
  background:#1688d4;
  border-color:#1688d4;
  color:#fff;
}
.cv-stage{
  padding:32px 14px 64px;
}
.cv-paper{
  width:min(100%,1060px);
  min-height:1499px;
  margin:auto;
  background:#fff;
  border-radius:14px;
  box-shadow:0 30px 90px rgba(35,48,66,.15);
  overflow:hidden;
  border:1px solid #dce2e9;
}
.cv-header{
  display:grid;
  grid-template-columns:235px 1fr;
  gap:34px;
  align-items:center;
  padding:38px 44px 25px;
}
.cv-photo-wrap{
  display:flex;
  justify-content:flex-start;
}
.cv-photo{
  width:190px;
  height:190px;
  border-radius:50%;
  object-fit:cover;
  object-position:center 18%;
  border:7px solid #eef6fc;
  box-shadow:0 0 0 1px #dceaf5;
}
.cv-name{
  margin:0;
  color:#1188d1;
  font-size:47px;
  line-height:1.02;
  letter-spacing:-.055em;
}
.cv-role{
  margin:13px 0 0;
  font-size:15px;
  font-weight:700;
  letter-spacing:.055em;
  text-transform:uppercase;
  color:#202a35;
}
.cv-tagline{
  margin:11px 0 0;
  max-width:610px;
  color:#667085;
  font-size:12px;
  line-height:1.65;
}
.cv-body{
  display:grid;
  grid-template-columns:235px 1fr;
  gap:34px;
  padding:8px 44px 45px;
}
.cv-sidebar{
  padding-right:22px;
}
.cv-main{
  min-width:0;
}
.cv-section{
  margin:0 0 30px;
}
.cv-section-title{
  margin:0 0 13px;
  color:#202a35;
  font-size:13px;
  font-weight:800;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.cv-sidebar .cv-section-title{
  border-bottom:2px solid #eff3f7;
  padding-bottom:8px;
}
.cv-about{
  margin:0;
  color:#4c5765;
  font-size:11px;
  line-height:1.72;
}
.cv-contact{
  display:grid;
  gap:12px;
}
.cv-contact-row{
  display:grid;
  grid-template-columns:20px 1fr;
  gap:8px;
  align-items:start;
  font-size:10.5px;
  color:#4c5765;
  line-height:1.4;
}
.cv-contact-icon{
  width:18px;
  height:18px;
  border-radius:5px;
  display:grid;
  place-items:center;
  background:#eaf6fd;
  color:#1688d4;
  font:700 10px "DM Mono",monospace;
}
.cv-contact-row a{
  color:#4c5765;
  overflow-wrap:anywhere;
}
.cv-skill-list{
  display:grid;
  gap:8px;
}
.cv-skill{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
}
.cv-skill span{
  font-size:10.5px;
  color:#3f4955;
}
.cv-skill-level{
  display:flex;
  gap:3px;
}
.cv-skill-level i{
  display:block;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#dce2e8;
}
.cv-skill-level i.on{
  background:#1688d4;
}
.cv-language{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:7px 0;
  border-bottom:1px solid #eef1f4;
  font-size:10.5px;
}
.cv-language span:last-child{
  color:#7c8793;
  font-size:9.5px;
}
.cv-timeline{
  position:relative;
  padding-left:25px;
}
.cv-timeline:before{
  content:"";
  position:absolute;
  left:5px;
  top:7px;
  bottom:9px;
  width:2px;
  background:#d8eefb;
}
.cv-entry{
  position:relative;
  padding:0 0 22px;
}
.cv-entry:last-child{
  padding-bottom:0;
}
.cv-entry:before{
  content:"";
  position:absolute;
  left:-24px;
  top:5px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#1688d4;
  box-shadow:0 0 0 4px #fff;
}
.cv-entry-head{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:start;
  margin-bottom:5px;
}
.cv-entry-org{
  color:#1688d4;
  font-size:12px;
  font-weight:700;
}
.cv-entry-date{
  color:#55606d;
  font-size:10px;
  font-weight:600;
  white-space:nowrap;
}
.cv-entry-role{
  margin:3px 0 7px;
  font-size:12px;
  font-weight:800;
  color:#222c37;
  text-transform:uppercase;
}
.cv-entry-location{
  margin:0 0 8px;
  color:#7b8794;
  font-size:9.5px;
}
.cv-entry ul{
  margin:0;
  padding-left:16px;
  color:#48525f;
}
.cv-entry li{
  margin:4px 0;
  font-size:10.5px;
  line-height:1.5;
}
.cv-education-row{
  position:relative;
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  padding:0 0 18px 25px;
}
.cv-education-row:before{
  content:"";
  position:absolute;
  left:1px;
  top:4px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#1688d4;
}
.cv-education-row:after{
  content:"";
  position:absolute;
  left:5px;
  top:13px;
  bottom:-3px;
  width:2px;
  background:#d8eefb;
}
.cv-education-row:last-child:after{
  display:none;
}
.cv-education-row h3{
  margin:0 0 4px;
  color:#1688d4;
  font-size:12px;
}
.cv-education-row p{
  margin:0;
  color:#303a45;
  font-size:10.5px;
  font-weight:700;
}
.cv-education-row small{
  color:#7b8794;
  font-size:9.5px;
}
.cv-projects{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.cv-project{
  border:1px solid #e4e9ef;
  border-radius:9px;
  padding:13px 14px;
  background:#fbfcfd;
}
.cv-project h3{
  margin:0 0 5px;
  font-size:11px;
  color:#26313d;
}
.cv-project p{
  margin:0;
  color:#687381;
  font-size:9.5px;
  line-height:1.5;
}
.cv-chip-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
}
.cv-chip{
  padding:7px 8px;
  background:#f3f5f7;
  border-radius:6px;
  color:#4d5865;
  font-size:9.5px;
  text-align:left;
}
.cv-cert{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:start;
  border-top:1px solid #e8edf2;
  padding-top:13px;
}
.cv-cert h3{
  margin:0 0 4px;
  font-size:11px;
  color:#26313d;
}
.cv-cert p{
  margin:0;
  color:#687381;
  font-size:9.5px;
  line-height:1.5;
}
.cv-cert a{
  color:#1688d4;
  font-size:9px;
  font-weight:700;
  white-space:nowrap;
}
.cv-note{
  margin-top:18px;
  padding-top:13px;
  border-top:1px solid #eef1f4;
  color:#98a2ad;
  font-size:8.8px;
  line-height:1.5;
}
@media(max-width:760px){
  .cv-stage{padding:16px 8px 40px}
  .cv-paper{min-height:0;border-radius:10px}
  .cv-header,.cv-body{grid-template-columns:1fr}
  .cv-header{padding:30px 24px 20px;text-align:center}
  .cv-photo-wrap{justify-content:center}
  .cv-photo{width:160px;height:160px}
  .cv-name{font-size:39px}
  .cv-tagline{margin-inline:auto}
  .cv-body{padding:10px 24px 34px}
  .cv-sidebar{padding-right:0}
  .cv-main{border-top:1px solid #e8edf2;padding-top:28px}
  .cv-projects,.cv-chip-grid{grid-template-columns:1fr}
  .cv-entry-head,.cv-education-row{grid-template-columns:1fr}
  .cv-entry-date{text-align:left}
}
@media print{
  @page{size:A4;margin:0}
  .cv-page{background:#fff}
  .cv-toolbar{display:none!important}
  .cv-stage{padding:0}
  .cv-paper{
    width:210mm;
    min-height:297mm;
    margin:0;
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  .cv-header{padding:12mm 12mm 5mm}
  .cv-body{padding:2mm 12mm 10mm}
  .cv-photo{width:42mm;height:42mm}
  .cv-name{font-size:31pt}
  .cv-section{margin-bottom:6mm}
  .cv-entry{padding-bottom:4mm}
  a{color:inherit!important}
}


/* =========================================================
   RESUME V3 — A4 PRINT OVERRIDES
   Keeps the professional two-column CV layout in print and
   prevents the responsive mobile stylesheet from creating
   multiple mostly-empty pages.
   ========================================================= */
@media print {
  @page {
    size: A4 portrait;
    margin: 7mm;
  }

  html, body {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .cv-page {
    background: #fff !important;
  }

  .cv-toolbar {
    display: none !important;
  }

  .cv-stage {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .cv-paper {
    width: 196mm !important;
    min-width: 196mm !important;
    max-width: 196mm !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
  }

  /* Force desktop/two-column layout even when Chrome's print viewport
     is narrow enough to trigger the mobile media query. */
  .cv-header {
    display: grid !important;
    grid-template-columns: 39mm minmax(0, 1fr) !important;
    gap: 7mm !important;
    align-items: center !important;
    padding: 1mm 1mm 4mm !important;
    text-align: left !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  .cv-photo-wrap {
    display: flex !important;
    justify-content: flex-start !important;
  }

  .cv-photo {
    width: 35mm !important;
    height: 35mm !important;
    border-width: 1.4mm !important;
    box-shadow: 0 0 0 .25mm #dceaf5 !important;
  }

  .cv-name {
    margin: 0 0 1.2mm !important;
    font-size: 24pt !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
  }

  .cv-role {
    margin: 1.5mm 0 0 !important;
    font-size: 8.2pt !important;
    letter-spacing: .045em !important;
  }

  .cv-tagline {
    margin: 1.4mm 0 0 !important;
    max-width: none !important;
    font-size: 7.4pt !important;
    line-height: 1.42 !important;
  }

  .cv-body {
    display: grid !important;
    grid-template-columns: 46mm minmax(0, 1fr) !important;
    gap: 7mm !important;
    padding: 2mm 1mm 0 !important;
    align-items: start !important;
  }

  .cv-sidebar {
    padding: 0 4mm 0 0 !important;
    border-right: .3mm solid #e8edf2 !important;
  }

  .cv-main {
    min-width: 0 !important;
    padding: 0 !important;
    border-top: 0 !important;
  }

  .cv-section {
    margin: 0 0 3.8mm !important;
  }

  .cv-section:last-child {
    margin-bottom: 0 !important;
  }

  .cv-section-title {
    margin: 0 0 2mm !important;
    padding: 0 0 1.2mm !important;
    border-bottom: .35mm solid #eff3f7 !important;
    font-size: 7.5pt !important;
    letter-spacing: .035em !important;
    break-after: avoid !important;
    page-break-after: avoid !important;
  }

  .cv-about {
    font-size: 6.9pt !important;
    line-height: 1.48 !important;
  }

  .cv-contact {
    gap: 1.8mm !important;
  }

  .cv-contact-row {
    grid-template-columns: 4.5mm minmax(0, 1fr) !important;
    gap: 1.6mm !important;
    font-size: 6.8pt !important;
    line-height: 1.28 !important;
  }

  .cv-contact-icon {
    width: 4mm !important;
    height: 4mm !important;
    border-radius: 1mm !important;
    font-size: 5.6pt !important;
  }

  .cv-skill-list {
    gap: 1.25mm !important;
  }

  .cv-skill {
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 1.5mm !important;
  }

  .cv-skill span {
    font-size: 6.8pt !important;
  }

  .cv-skill-level {
    gap: .6mm !important;
  }

  .cv-skill-level i {
    width: 1.25mm !important;
    height: 1.25mm !important;
  }

  .cv-language {
    gap: 2mm !important;
    padding: 1.25mm 0 !important;
    font-size: 6.8pt !important;
  }

  .cv-language span:last-child {
    font-size: 6.1pt !important;
  }

  .cv-chip-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap: 1.2mm !important;
  }

  .cv-sidebar .cv-chip-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  .cv-chip {
    padding: 1.4mm 1.5mm !important;
    border-radius: 1.1mm !important;
    font-size: 6.25pt !important;
    line-height: 1.18 !important;
  }

  .cv-timeline {
    padding-left: 5.7mm !important;
  }

  .cv-timeline:before {
    left: 1.2mm !important;
    top: 1.5mm !important;
    bottom: 2mm !important;
    width: .45mm !important;
  }

  .cv-entry {
    padding: 0 0 3.2mm !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  .cv-entry:before {
    left: -5.5mm !important;
    top: 1.2mm !important;
    width: 2.4mm !important;
    height: 2.4mm !important;
    box-shadow: 0 0 0 1mm #fff !important;
  }

  .cv-entry-head {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 4mm !important;
    margin-bottom: 1mm !important;
  }

  .cv-entry-org {
    font-size: 7.5pt !important;
  }

  .cv-entry-date {
    font-size: 6.5pt !important;
  }

  .cv-entry-role {
    margin: .7mm 0 1mm !important;
    font-size: 7.2pt !important;
  }

  .cv-entry-location {
    margin: 0 0 1.2mm !important;
    font-size: 6.2pt !important;
  }

  .cv-entry ul {
    margin: 0 !important;
    padding-left: 4mm !important;
  }

  .cv-entry li {
    margin: .75mm 0 !important;
    font-size: 6.75pt !important;
    line-height: 1.37 !important;
  }

  .cv-education-row {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 4mm !important;
    padding: 0 0 2.8mm 5.7mm !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  .cv-education-row:before {
    left: .2mm !important;
    top: 1mm !important;
    width: 2.4mm !important;
    height: 2.4mm !important;
  }

  .cv-education-row:after {
    left: 1.2mm !important;
    top: 3mm !important;
    bottom: -.5mm !important;
    width: .45mm !important;
  }

  .cv-education-row h3 {
    margin: 0 0 .7mm !important;
    font-size: 7.5pt !important;
  }

  .cv-education-row p {
    font-size: 6.9pt !important;
  }

  .cv-education-row small {
    display: block !important;
    margin-top: .7mm !important;
    font-size: 6.1pt !important;
    line-height: 1.28 !important;
  }

  .cv-projects {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2mm !important;
  }

  .cv-project {
    padding: 2.5mm 2.7mm !important;
    border-radius: 1.8mm !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  .cv-project h3 {
    margin: 0 0 1mm !important;
    font-size: 6.9pt !important;
  }

  .cv-project p {
    font-size: 6.15pt !important;
    line-height: 1.35 !important;
  }

  .cv-cert {
    gap: 3mm !important;
    padding-top: 2.2mm !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  .cv-cert h3 {
    margin: 0 0 .8mm !important;
    font-size: 6.9pt !important;
  }

  .cv-cert p {
    font-size: 6.1pt !important;
  }

  .cv-cert a {
    font-size: 5.8pt !important;
  }

  .cv-note {
    margin-top: 2.4mm !important;
    padding-top: 1.8mm !important;
    font-size: 5.8pt !important;
    line-height: 1.25 !important;
    break-inside: avoid !important;
  }

  /* Keep blocks intact and avoid orphaned headings. */
  .cv-section,
  .cv-project,
  .cv-cert,
  .cv-contact-row,
  .cv-skill,
  .cv-language {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  /* Hyperlinks remain visually clean in printed copies. */
  a {
    text-decoration: none !important;
  }
}


/* Final print balancing: fill the A4 page cleanly and remove
   timeline pseudo-elements that can render inconsistently in PDF engines. */
@media print {
  .cv-body {
    min-height: 224mm !important;
  }

  .cv-sidebar,
  .cv-main {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
  }

  .cv-section {
    margin-bottom: 0 !important;
  }

  .cv-education-row {
    padding-left: 3mm !important;
    border-left: .55mm solid #d8eefb !important;
  }

  .cv-education-row:before,
  .cv-education-row:after {
    display: none !important;
  }

  .cv-note {
    margin-top: 0 !important;
  }
}


/* =========================================================
   HOME V2 — polished light/dark system + stronger UX
   Resume styles remain unchanged.
   ========================================================= */
html{
  color-scheme:dark;
}
html[data-theme="light"]{
  color-scheme:light;
}

body,
.topbar,
.identity-window,
.status-panel,
.mini-panel,
.cap-card,
.work-card,
.terminal,
.cert-copy,
.contact-box,
.ticker,
.btn,
.micro-btn,
.theme-menu,
.mobile-menu{
  transition:
    background-color .32s ease,
    border-color .32s ease,
    color .32s ease,
    box-shadow .32s ease;
}

/* Better keyboard accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible{
  outline:2px solid var(--acid);
  outline-offset:3px;
}

/* Active nav */
.nav a.active{
  color:#fff;
  background:#141820;
}
.nav a.active:before{
  content:"";
  display:inline-block;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--acid);
  margin-right:6px;
  vertical-align:1px;
}

/* Theme control */
.theme-control{
  position:relative;
}
.theme-toggle{
  min-width:108px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
}
.theme-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--acid);
  box-shadow:0 0 0 3px var(--acid-soft);
}
.theme-menu{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  width:190px;
  padding:8px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#0f1319;
  box-shadow:0 20px 55px rgba(0,0,0,.3);
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px);
  pointer-events:none;
  z-index:80;
}
.theme-control.open .theme-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}
.theme-option{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  border:0;
  background:transparent;
  color:#909cad;
  padding:9px 10px;
  border-radius:8px;
  cursor:pointer;
  font:400 9px "DM Mono",monospace;
  text-align:left;
}
.theme-option:hover,
.theme-option.active{
  background:#171c24;
  color:#fff;
}
.theme-option .check{
  color:var(--acid);
}
.theme-note{
  padding:8px 10px 5px;
  border-top:1px solid #242b35;
  margin-top:5px;
  color:#657184;
  font:400 8px/1.45 "DM Mono",monospace;
}

/* Mobile nav */
.mobile-menu-btn{
  display:none;
}
.mobile-menu{
  display:none;
}
@media(max-width:900px){
  .mobile-menu-btn{display:inline-flex}
  .mobile-menu{
    display:grid;
    position:fixed;
    left:12px;
    right:12px;
    top:74px;
    z-index:70;
    padding:10px;
    border:1px solid var(--line);
    border-radius:14px;
    background:rgba(12,15,20,.97);
    box-shadow:0 20px 55px rgba(0,0,0,.35);
    opacity:0;
    visibility:hidden;
    transform:translateY(-8px);
    pointer-events:none;
  }
  .mobile-menu.open{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
  }
  .mobile-menu a{
    padding:11px 10px;
    border-radius:8px;
    color:#9ba7b7;
    font:400 10px "DM Mono",monospace;
  }
  .mobile-menu a:hover{background:#161b22;color:#fff}
}

/* Hero polish */
.hero{
  min-height:min(860px,calc(100vh - 67px));
}
.hero-lead strong{
  color:var(--ink);
  font-weight:600;
}
.hero-proof{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.hero-proof span{
  border:1px solid #27303a;
  background:#0f1318;
  border-radius:999px;
  padding:7px 9px;
  color:#7f8b9b;
  font:400 8px "DM Mono",monospace;
}
.hero-proof b{
  color:var(--acid);
  font-weight:400;
}

/* More useful current-focus presentation */
.focus-list{
  display:grid;
  gap:0;
  margin-top:22px;
  border-top:1px solid #242b35;
}
.focus-row{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:18px;
  padding:13px 0;
  border-bottom:1px solid #20262e;
}
.focus-row span{
  font:400 8px "DM Mono",monospace;
  color:#647184;
  text-transform:uppercase;
}
.focus-row strong{
  font-size:11px;
  font-weight:500;
  color:#cbd3dd;
}

/* Work CTA */
.case-link{
  position:absolute;
  right:24px;
  bottom:22px;
  z-index:3;
  color:#aeb8c7;
  font:400 9px "DM Mono",monospace;
}
.case-link:hover{color:var(--acid)}

/* Keep terminal visually special even in light mode */
.terminal{
  isolation:isolate;
}

/* ---------- LIGHT THEME ---------- */
html[data-theme="light"] body{
  --bg:#f5f6f8;
  --bg2:#eef1f4;
  --panel:#ffffff;
  --panel2:#f7f8fa;
  --line:#dfe4ea;
  --ink:#17202a;
  --muted:#667281;
  --acid:#2049d8;
  --acid-soft:rgba(32,73,216,.10);
  --blue:#2049d8;
  --shadow:0 22px 70px rgba(24,39,62,.10);
  background:
    radial-gradient(circle at 84% 8%,rgba(32,73,216,.07),transparent 24rem),
    radial-gradient(circle at 10% 28%,rgba(44,122,92,.045),transparent 24rem),
    #f5f6f8;
  color:#17202a;
}

html[data-theme="light"] .noise{opacity:.012}
html[data-theme="light"] .cursor-glow{
  background:radial-gradient(circle,rgba(32,73,216,.055),transparent 68%);
}
html[data-theme="light"] .topbar{
  background:rgba(247,248,250,.84);
  border-bottom-color:rgba(23,32,42,.08);
}
html[data-theme="light"] .wordmark-mark{
  background:#17202a;
  color:#fff;
}
html[data-theme="light"] .nav a{
  color:#677382;
}
html[data-theme="light"] .nav a:hover,
html[data-theme="light"] .nav a.active{
  color:#17202a;
  background:#e9edf2;
}
html[data-theme="light"] .micro-btn,
html[data-theme="light"] .btn{
  background:#fff;
  color:#27313d;
  border-color:#d9e0e7;
}
html[data-theme="light"] .micro-btn.primary,
html[data-theme="light"] .btn.acid{
  background:#17202a;
  color:#fff;
  border-color:#17202a;
}
html[data-theme="light"] .theme-dot{
  background:#2049d8;
  box-shadow:0 0 0 3px rgba(32,73,216,.10);
}
html[data-theme="light"] .theme-menu,
html[data-theme="light"] .mobile-menu{
  background:rgba(255,255,255,.98);
  border-color:#dfe4ea;
  box-shadow:0 20px 55px rgba(24,39,62,.14);
}
html[data-theme="light"] .theme-option{
  color:#647184;
}
html[data-theme="light"] .theme-option:hover,
html[data-theme="light"] .theme-option.active{
  color:#17202a;
  background:#eef1f4;
}
html[data-theme="light"] .theme-note{
  border-top-color:#e4e8ed;
  color:#7c8794;
}
html[data-theme="light"] .mobile-menu a{
  color:#647184;
}
html[data-theme="light"] .mobile-menu a:hover{
  background:#eef1f4;
  color:#17202a;
}
html[data-theme="light"] .eyebrow{color:#677382}
html[data-theme="light"] .pulse{
  background:#2049d8;
  box-shadow:0 0 0 0 rgba(32,73,216,.28);
}
html[data-theme="light"] .hero h1 span{color:#8792a0}
html[data-theme="light"] .hero-lead{color:#5d6977}
html[data-theme="light"] .hero-proof span{
  border-color:#dfe4ea;
  background:#fff;
  color:#6d7886;
}
html[data-theme="light"] .hero-proof b{color:#2049d8}
html[data-theme="light"] .hero-meta small{color:#8a95a2}
html[data-theme="light"] .hero-meta strong{color:#35404c}
html[data-theme="light"] .identity-window{
  background:linear-gradient(180deg,#fff,#f7f8fa);
  border-color:#dce2e8;
}
html[data-theme="light"] .window-bar{
  border-bottom-color:#e5e9ee;
  color:#8792a0;
}
html[data-theme="light"] .dots i{background:#d7dde4}
html[data-theme="light"] .dots i:first-child{background:#2049d8}
html[data-theme="light"] .identity-photo{background:#eef1f4}
html[data-theme="light"] .photo-tag{
  background:rgba(255,255,255,.78);
  border-color:rgba(23,32,42,.10);
  color:#27313d;
}
html[data-theme="light"] .identity-info p{color:#6d7886}
html[data-theme="light"] .identity-cell{
  border-color:#e1e6eb;
  background:#fff;
}
html[data-theme="light"] .identity-cell small{color:#8a95a2}
html[data-theme="light"] .float-chip{
  background:rgba(255,255,255,.92);
  border-color:#dce2e8;
  color:#687381;
}
html[data-theme="light"] .float-chip strong{color:#2049d8}
html[data-theme="light"] .ticker{
  background:#eef1f4;
  border-color:#dfe4ea;
}
html[data-theme="light"] .ticker-item{color:#7a8694}
html[data-theme="light"] .ticker-item b{color:#2049d8}
html[data-theme="light"] .section{
  border-bottom-color:#e0e5eb;
}
html[data-theme="light"] .section-kicker{color:#8792a0}
html[data-theme="light"] .section-title em{color:#86919e}
html[data-theme="light"] .status-panel,
html[data-theme="light"] .mini-panel,
html[data-theme="light"] .cap-card,
html[data-theme="light"] .work-card,
html[data-theme="light"] .cert-copy{
  background:#fff;
  border-color:#dfe4ea;
}
html[data-theme="light"] .status-main{
  background:
    linear-gradient(rgba(23,32,42,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(23,32,42,.035) 1px,transparent 1px),
    #fff;
  background-size:42px 42px;
}
html[data-theme="light"] .status-main p,
html[data-theme="light"] .mini-panel p,
html[data-theme="light"] .cap-card p,
html[data-theme="light"] .work-card p,
html[data-theme="light"] .cert-copy p{
  color:#6b7683;
}
html[data-theme="light"] .status-label{color:#8792a0}
html[data-theme="light"] .clock-sub{color:#7f8a97}
html[data-theme="light"] .focus-list,
html[data-theme="light"] .focus-row,
html[data-theme="light"] .log,
html[data-theme="light"] .log-row{
  border-color:#e2e7ec;
}
html[data-theme="light"] .focus-row span{color:#8a95a2}
html[data-theme="light"] .focus-row strong{color:#35404c}
html[data-theme="light"] .log-row:hover{background:#fff}
html[data-theme="light"] .log-row time,
html[data-theme="light"] .log-row .place,
html[data-theme="light"] .log-row p{color:#788493}
html[data-theme="light"] .mode-btn{
  background:#fff;
  color:#6e7987;
  border-color:#dfe4ea;
}
html[data-theme="light"] .mode-btn.active{
  background:#17202a;
  border-color:#17202a;
  color:#fff;
}
html[data-theme="light"] .cap-card:hover{border-color:#bfc7d1}
html[data-theme="light"] .cap-num{color:#8a95a2}
html[data-theme="light"] .cap-tags span,
html[data-theme="light"] .tags span{
  background:#f4f6f8;
  color:#75818f;
  border-color:#e0e5eb;
}
html[data-theme="light"] .work-card.featured{
  background:linear-gradient(145deg,#fff,#f3f6fb);
}
html[data-theme="light"] .work-card .label{color:#8792a0}
html[data-theme="light"] .case-link{color:#667281}
html[data-theme="light"] .case-link:hover{color:#2049d8}
html[data-theme="light"] .cert-visual{
  background:#fff;
  border-color:#dfe4ea;
}
html[data-theme="light"] .contact-box{
  background:linear-gradient(145deg,#17202a,#26313d);
  border-color:#17202a;
  color:#fff;
}
html[data-theme="light"] .contact-box:after{color:#222e3a}
html[data-theme="light"] .contact-box p{color:#b9c2cc}
html[data-theme="light"] .contact-box .btn{
  background:#2b3642;
  color:#fff;
  border-color:#3b4754;
}
html[data-theme="light"] .contact-box .btn.acid{
  background:#fff;
  color:#17202a;
  border-color:#fff;
}
html[data-theme="light"] .footer{color:#7b8794}

/* terminal intentionally stays dark in both themes for visual hierarchy */
html[data-theme="light"] .terminal{
  background:#0a0d11;
  border-color:#28313c;
  color:#f2f4f7;
}
html[data-theme="light"] .term-bar{
  border-bottom-color:#202731;
  color:#687486;
}
html[data-theme="light"] .term-output{color:#8794a5}
html[data-theme="light"] .term-input{color:#e9edf2}
html[data-theme="light"] .command-pills button{
  background:#10141a;
  border-color:#252d37;
  color:#667386;
}

/* More compact on shorter laptop screens */
@media(max-height:820px) and (min-width:901px){
  .hero{min-height:auto;padding-top:54px;padding-bottom:44px}
  .hero h1{font-size:clamp(58px,7vw,100px)}
}

/* Motion preference */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
}


/* RESUME V4 — content expansion, preserving the approved visual style */
.cv-chip-grid-2{grid-template-columns:1fr 1fr!important}
.cv-training-section{margin-bottom:0}
.cv-mini-item{display:grid;gap:3px;padding:9px 0;border-bottom:1px solid #eef1f4}
.cv-mini-item:last-child{border-bottom:0;padding-bottom:0}
.cv-mini-item strong{color:#34404c;font-size:10px}
.cv-mini-item span{color:#7a8694;font-size:9px;line-height:1.35}
.cv-mini-item a{color:#1688d4;font-size:8.5px;font-weight:700}
.cv-course-note{margin-top:5px!important;color:#687381!important;line-height:1.45!important}
.cv-section-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:13px}
.cv-section-title-row .cv-section-title{margin-bottom:0}
.cv-inline-link{color:#1688d4;font-size:8.8px;font-weight:700;white-space:nowrap}
.cv-portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cv-portfolio-item{border:1px solid #e4e9ef;border-radius:9px;background:#fbfcfd;padding:11px 12px}
.cv-portfolio-item h3{margin:4px 0 5px;color:#26313d;font-size:10.5px;line-height:1.25}
.cv-portfolio-item h3 a{color:inherit}
.cv-portfolio-item p{margin:0;color:#687381;font-size:8.9px;line-height:1.45}
.cv-portfolio-meta{color:#1688d4;font:700 7px "DM Mono",monospace;letter-spacing:.04em;text-transform:uppercase}
.cv-portfolio-featured{grid-column:1/-1;background:linear-gradient(135deg,#f7fbfe,#fbfcfd);border-color:#d8eaf6}
.cv-more-work{margin-top:8px;padding:8px 10px;border-radius:7px;background:#f5f7f9;color:#6b7683;font-size:8.8px;line-height:1.45}
.cv-more-work strong{color:#3a4652}
.home-portfolio-strip{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;margin-top:14px;padding:18px 0 0;border-top:1px solid var(--line)}
.home-portfolio-strip .label{margin-bottom:7px}
.home-portfolio-strip strong{display:block;font-size:17px;letter-spacing:-.025em}
.home-portfolio-strip span{display:block;margin-top:5px;color:#758193;font-size:10px;line-height:1.5}
@media(max-width:760px){
  .cv-portfolio-grid{grid-template-columns:1fr}
  .cv-portfolio-featured{grid-column:auto}
  .home-portfolio-strip{grid-template-columns:1fr}
}
@media print{
  .cv-header{grid-template-columns:36mm minmax(0,1fr)!important;gap:6mm!important;padding:0 1mm 3mm!important}
  .cv-photo{width:32mm!important;height:32mm!important}
  .cv-name{font-size:22pt!important}
  .cv-role{font-size:7.6pt!important}
  .cv-tagline{font-size:6.8pt!important;line-height:1.34!important}
  .cv-body{grid-template-columns:43mm minmax(0,1fr)!important;gap:6mm!important;padding:1mm 1mm 0!important}
  .cv-sidebar{padding-right:3.3mm!important}
  .cv-section{margin-bottom:2.7mm!important}
  .cv-section-title{margin-bottom:1.3mm!important;padding-bottom:.9mm!important;font-size:7pt!important}
  .cv-about{font-size:6.25pt!important;line-height:1.38!important}
  .cv-contact{gap:1.25mm!important}
  .cv-contact-row{font-size:6.15pt!important;line-height:1.2!important}
  .cv-skill-list{gap:.8mm!important}
  .cv-skill span{font-size:6.15pt!important}
  .cv-language{padding:.8mm 0!important;font-size:6.1pt!important}
  .cv-chip{padding:1mm 1.1mm!important;font-size:5.7pt!important}
  .cv-mini-item{gap:.5mm!important;padding:1mm 0!important}
  .cv-mini-item strong{font-size:6.1pt!important}
  .cv-mini-item span{font-size:5.5pt!important}
  .cv-mini-item a{font-size:5.2pt!important}
  .cv-entry{padding-bottom:2.2mm!important}
  .cv-entry li{margin:.45mm 0!important;font-size:6.1pt!important;line-height:1.28!important}
  .cv-education-row{padding-bottom:1.8mm!important}
  .cv-education-row small{margin-top:.45mm!important;font-size:5.6pt!important;line-height:1.22!important}
  .cv-course-note{margin-top:.5mm!important}
  .cv-section-title-row{margin-bottom:1.3mm!important}
  .cv-inline-link{font-size:5.2pt!important}
  .cv-portfolio-grid{gap:1.2mm!important}
  .cv-portfolio-item{padding:1.5mm 1.7mm!important;border-radius:1.4mm!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .cv-portfolio-item h3{margin:.55mm 0 .6mm!important;font-size:6.15pt!important;line-height:1.18!important}
  .cv-portfolio-item p{font-size:5.4pt!important;line-height:1.26!important}
  .cv-portfolio-meta{font-size:4.75pt!important}
  .cv-more-work{margin-top:1.2mm!important;padding:1.2mm 1.5mm!important;font-size:5.25pt!important;line-height:1.25!important}
  .cv-note{margin-top:1.5mm!important;padding-top:1.2mm!important;font-size:5.2pt!important}
}


/* Bilingual resume / Persian RTL */
.cv-toolbar-links{display:flex;align-items:center;gap:14px}
.cv-lang-link{
  border:1px solid #d6dce2;
  border-radius:6px;
  padding:5px 8px;
  color:#33404d!important;
  font-size:8.5px;
  font-weight:700;
}
.rtl-resume{
  direction:rtl;
  text-align:right;
  font-family:Tahoma,Arial,"Segoe UI",sans-serif!important;
}
.rtl-resume .cv-paper{direction:rtl}
.rtl-resume .cv-header,
.rtl-resume .cv-body,
.rtl-resume .cv-entry-head,
.rtl-resume .cv-education-row,
.rtl-resume .cv-section-title-row{
  direction:rtl;
}
.rtl-resume .cv-name{letter-spacing:-.035em}
.rtl-resume .cv-section-title,
.rtl-resume .cv-portfolio-meta{
  letter-spacing:0;
}
.rtl-resume .cv-sidebar{
  padding-right:0;
  padding-left:20px;
  border-right:0;
  border-left:1px solid #e1e6ea;
}
.rtl-resume .cv-contact-row{
  grid-template-columns:18px minmax(0,1fr);
}
.rtl-resume .cv-contact-row .ltr,
.rtl-resume .ltr{
  direction:ltr;
  unicode-bidi:isolate;
  display:inline-block;
  text-align:left;
}
.rtl-resume .cv-entry ul{padding-right:17px;padding-left:0}
.rtl-resume .cv-chip-grid{direction:rtl}
.rtl-resume .cv-skill{direction:rtl}
.rtl-resume .cv-skill-level{direction:ltr}
.rtl-resume .cv-language{direction:rtl}
@media print{
  .rtl-resume .cv-sidebar{
    padding-right:0!important;
    padding-left:3.3mm!important;
    border-right:0!important;
    border-left:1px solid #e1e6ea!important;
  }
  .rtl-resume .cv-toolbar{display:none!important}
}


/* === Persian Resume Redesign V2 === */

.fa-cv-page{
  margin:0;
  background:#edf2f7;
  color:#1f2933;
  direction:rtl;
  text-align:right;
  font-family:Tahoma,"Segoe UI",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.fa-cv-page *{box-sizing:border-box}
.fa-cv-page a{color:inherit;text-decoration:none}

.fa-cv-toolbar{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(237,242,247,.94);
  border-bottom:1px solid #dce5ed;
  backdrop-filter:blur(10px);
}
.fa-toolbar-inner{
  width:min(1120px,calc(100% - 32px));
  min-height:58px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.fa-toolbar-back{
  color:#475569;
  font-size:13px;
  font-weight:700;
}
.fa-toolbar-actions{
  display:flex;
  align-items:center;
  gap:9px;
}
.fa-lang-btn,
.fa-print-btn{
  min-height:35px;
  border-radius:9px;
  border:1px solid #cfd9e3;
  background:#fff;
  color:#334155;
  padding:0 13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:inherit;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}
.fa-print-btn{
  border-color:#1688d4;
  background:#1688d4;
  color:#fff;
}

.fa-cv-stage{
  padding:30px 18px 52px;
}
.fa-cv-paper{
  width:min(1040px,100%);
  min-height:1120px;
  margin:auto;
  overflow:hidden;
  background:#fff;
  border:1px solid #dde5ec;
  border-radius:18px;
  box-shadow:0 22px 65px rgba(40,60,80,.12);
}

.fa-cv-hero{
  position:relative;
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  gap:24px;
  align-items:center;
  padding:34px 38px 26px;
  border-bottom:1px solid #e8edf2;
}
.fa-cv-photo{
  width:112px;
  height:112px;
  border-radius:50%;
  object-fit:cover;
  border:5px solid #e8f1f8;
  box-shadow:0 0 0 1px #d4e1eb;
}
.fa-cv-kicker{
  margin-bottom:4px;
  color:#1688d4;
  font-size:10px;
  font-weight:800;
}
.fa-cv-identity h1{
  margin:0;
  color:#1688d4;
  font-size:36px;
  line-height:1.15;
  letter-spacing:-1.2px;
}
.fa-cv-identity h2{
  margin:8px 0 9px;
  color:#243140;
  font-size:17px;
  font-weight:800;
}
.fa-cv-identity p{
  max-width:690px;
  margin:0;
  color:#647181;
  font-size:12px;
  line-height:1.9;
}

.fa-cv-contact-strip{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:7px;
  overflow:hidden;
  border:1px solid #e4eaf0;
  border-radius:12px;
  background:#f8fafc;
}
.fa-cv-contact-strip a{
  min-width:0;
  padding:11px 13px;
  border-left:1px solid #e4eaf0;
}
.fa-cv-contact-strip a:last-child{border-left:0}
.fa-cv-contact-strip span{
  display:block;
  margin-bottom:4px;
  color:#8a97a5;
  font-size:8px;
  font-weight:700;
}
.fa-cv-contact-strip b{
  display:block;
  overflow:hidden;
  color:#334155;
  font-size:9.5px;
  font-weight:700;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.fa-cv-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 250px;
  grid-template-areas:"main side";
  gap:0;
  padding:0 38px;
}
.fa-cv-main{
  grid-area:main;
  padding:30px 0 30px 30px;
}
.fa-cv-sidebar{
  grid-area:side;
  padding:30px 28px 30px 0;
  border-right:1px solid #e8edf2;
}

.fa-cv-section{
  margin-bottom:28px;
}
.fa-section-head{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:15px;
}
.fa-section-head > span,
.fa-section-head > div > span{
  color:#1688d4;
  font:700 8px Arial,sans-serif;
}
.fa-section-head h3{
  margin:0;
  color:#1e2935;
  font-size:16px;
}
.fa-section-head-with-link{
  justify-content:space-between;
}
.fa-section-head-with-link > div{
  display:flex;
  align-items:center;
  gap:9px;
}
.fa-section-head-with-link > a{
  color:#1688d4;
  font-size:9px;
  font-weight:800;
}

.fa-timeline-item{
  position:relative;
  padding-right:20px;
}
.fa-timeline-item:before{
  content:"";
  position:absolute;
  top:9px;
  bottom:2px;
  right:4px;
  width:1px;
  background:#cfe6f7;
}
.fa-timeline-mark{
  position:absolute;
  top:6px;
  right:0;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#1688d4;
  box-shadow:0 0 0 4px #eff7fc;
}
.fa-entry-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.fa-entry-top h4{
  margin:0;
  color:#202b38;
  font-size:14px;
}
.fa-company{
  margin-top:4px;
  color:#1688d4;
  font-size:11px;
  font-weight:800;
}
.fa-date{
  flex:none;
  color:#64748b;
  font:700 9px Arial,sans-serif;
}
.fa-meta{
  margin-top:5px;
  color:#8a96a4;
  font-size:9px;
}
.fa-timeline-content ul{
  margin:11px 0 0;
  padding:0 17px 0 0;
}
.fa-timeline-content li{
  margin:5px 0;
  color:#4d5b6a;
  font-size:10.2px;
  line-height:1.75;
}

.fa-education-card{
  padding:15px 17px;
  border:1px solid #e3e9ef;
  border-radius:12px;
  background:#fcfdfe;
}
.fa-course-block{
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid #edf1f4;
}
.fa-course-block > b{
  display:block;
  margin-bottom:8px;
  color:#334155;
  font-size:9px;
}
.fa-course-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.fa-course-list span{
  padding:5px 8px;
  border-radius:6px;
  background:#f1f5f8;
  color:#445160;
  font-size:8.7px;
  font-weight:700;
}
.fa-course-block p{
  margin:8px 0 0;
  color:#6b7785;
  font-size:8.8px;
  line-height:1.65;
}

.fa-projects{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.fa-project{
  display:block;
  min-width:0;
  padding:13px 14px;
  border:1px solid #e2e8ee;
  border-radius:11px;
  background:#fff;
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.fa-project:hover{
  transform:translateY(-1px);
  border-color:#b9d8ec;
  box-shadow:0 8px 22px rgba(37,99,140,.07);
}
.fa-project-wide{
  grid-column:1/-1;
  background:linear-gradient(135deg,#f8fcff,#fff);
  border-color:#cee5f5;
}
.fa-project-label{
  margin-bottom:5px;
  color:#1688d4;
  font-size:7.7px;
  font-weight:800;
}
.fa-project h4{
  margin:0 0 7px;
  color:#27323e;
  font-size:11px;
  line-height:1.55;
}
.fa-project p{
  margin:0;
  color:#667381;
  font-size:8.7px;
  line-height:1.65;
}
.fa-project-tools{
  margin-top:8px;
  color:#8b97a4;
  font:700 7px Arial,sans-serif;
}
.fa-additional-work{
  margin-top:9px;
  padding:8px 10px;
  border-radius:8px;
  background:#f4f6f8;
  color:#697582;
  font-size:8.7px;
  line-height:1.55;
}
.fa-additional-work b{color:#374151}

.fa-side-section{
  margin-bottom:24px;
}
.fa-side-section h3{
  margin:0 0 10px;
  padding-bottom:8px;
  border-bottom:1px solid #e7edf2;
  color:#26313d;
  font-size:12px;
}
.fa-side-section p{
  margin:0;
  color:#65717f;
  font-size:9.3px;
  line-height:1.8;
}
.fa-tool-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.fa-tool-list span{
  padding:5px 7px;
  border-radius:6px;
  background:#f3f6f8;
  color:#41505f;
  font:700 8px Arial,sans-serif;
}
.fa-focus-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
}
.fa-focus-list span{
  padding:6px 7px;
  border-radius:6px;
  background:#f4f6f8;
  color:#4f5c69;
  font-size:8px;
  text-align:center;
}
.fa-training{
  display:grid;
  gap:12px;
}
.fa-training > div{
  display:grid;
  gap:4px;
}
.fa-training b{
  color:#384553;
  font-size:9px;
}
.fa-training span{
  color:#7c8895;
  font-size:8px;
  line-height:1.55;
}
.fa-training a{
  color:#1688d4;
  font-size:8px;
  font-weight:800;
}
.fa-language-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:7px 0;
  border-bottom:1px solid #eef2f5;
  font-size:8.7px;
}
.fa-language-row:last-child{border-bottom:0}
.fa-language-row b{color:#384553}
.fa-language-row span{color:#7b8794}
.fa-side-links{
  display:grid;
  gap:6px;
}
.fa-side-links h3{grid-column:1/-1}
.fa-side-links a{
  overflow:hidden;
  color:#1688d4;
  font:700 8px Arial,sans-serif;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.fa-cv-footer{
  display:flex;
  justify-content:space-between;
  gap:18px;
  margin:0 38px;
  padding:14px 0 18px;
  border-top:1px solid #e8edf2;
  color:#8a95a1;
  font-size:8px;
}

@media(max-width:760px){
  .fa-cv-stage{padding:14px 8px 30px}
  .fa-cv-paper{border-radius:12px}
  .fa-cv-hero{
    grid-template-columns:82px minmax(0,1fr);
    gap:16px;
    padding:22px 18px;
  }
  .fa-cv-photo{width:78px;height:78px;border-width:4px}
  .fa-cv-identity h1{font-size:27px}
  .fa-cv-identity h2{font-size:14px}
  .fa-cv-identity p{font-size:10px}
  .fa-cv-contact-strip{grid-template-columns:1fr 1fr}
  .fa-cv-contact-strip a:nth-child(2){border-left:0}
  .fa-cv-contact-strip a:nth-child(-n+2){border-bottom:1px solid #e4eaf0}
  .fa-cv-layout{
    grid-template-columns:1fr;
    grid-template-areas:"main" "side";
    padding:0 18px;
  }
  .fa-cv-main{padding:24px 0 0}
  .fa-cv-sidebar{
    padding:24px 0;
    border-right:0;
    border-top:1px solid #e8edf2;
  }
  .fa-projects{grid-template-columns:1fr}
  .fa-project-wide{grid-column:auto}
  .fa-focus-list{grid-template-columns:repeat(2,1fr)}
  .fa-cv-footer{margin:0 18px}
}

@media print{
  @page{size:A4 portrait;margin:0}
  .fa-cv-page{background:#fff!important}
  .fa-cv-toolbar{display:none!important}
  .fa-cv-stage{padding:0!important}
  .fa-cv-paper{
    width:210mm!important;
    height:297mm!important;
    min-height:297mm!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
  .fa-cv-hero{
    grid-template-columns:29mm minmax(0,1fr)!important;
    gap:5mm!important;
    padding:7mm 9mm 4.5mm!important;
  }
  .fa-cv-photo{
    width:28mm!important;
    height:28mm!important;
    border-width:1mm!important;
  }
  .fa-cv-kicker{font-size:5.5pt!important}
  .fa-cv-identity h1{font-size:21pt!important}
  .fa-cv-identity h2{margin:1.1mm 0 1.4mm!important;font-size:8.5pt!important}
  .fa-cv-identity p{font-size:6.25pt!important;line-height:1.55!important}
  .fa-cv-contact-strip{margin-top:2mm!important;border-radius:2mm!important}
  .fa-cv-contact-strip a{padding:1.5mm 2mm!important}
  .fa-cv-contact-strip span{margin-bottom:.5mm!important;font-size:4.4pt!important}
  .fa-cv-contact-strip b{font-size:5.1pt!important}

  .fa-cv-layout{
    grid-template-columns:minmax(0,1fr) 51mm!important;
    padding:0 9mm!important;
  }
  .fa-cv-main{padding:5mm 0 3mm 5mm!important}
  .fa-cv-sidebar{padding:5mm 4mm 3mm 0!important}
  .fa-cv-section{margin-bottom:4mm!important}
  .fa-section-head{gap:1.6mm!important;margin-bottom:2mm!important}
  .fa-section-head h3{font-size:8.6pt!important}
  .fa-section-head > span,.fa-section-head > div > span{font-size:4.5pt!important}
  .fa-section-head-with-link > a{font-size:4.7pt!important}

  .fa-timeline-item{padding-right:3.5mm!important}
  .fa-entry-top h4{font-size:7.2pt!important}
  .fa-company{margin-top:.6mm!important;font-size:5.8pt!important}
  .fa-date{font-size:5pt!important}
  .fa-meta{margin-top:.7mm!important;font-size:4.8pt!important}
  .fa-timeline-content ul{margin-top:1.5mm!important;padding-right:3.2mm!important}
  .fa-timeline-content li{margin:.6mm 0!important;font-size:5.25pt!important;line-height:1.45!important}

  .fa-education-card{padding:2.2mm 2.7mm!important;border-radius:2mm!important}
  .fa-course-block{margin-top:1.8mm!important;padding-top:1.7mm!important}
  .fa-course-block > b{margin-bottom:1mm!important;font-size:4.8pt!important}
  .fa-course-list{gap:.8mm!important}
  .fa-course-list span{padding:.8mm 1.1mm!important;border-radius:1mm!important;font-size:4.6pt!important}
  .fa-course-block p{margin-top:1mm!important;font-size:4.6pt!important;line-height:1.4!important}

  .fa-projects{gap:1.3mm!important}
  .fa-project{padding:1.8mm 2mm!important;border-radius:1.7mm!important}
  .fa-project-label{margin-bottom:.6mm!important;font-size:4.1pt!important}
  .fa-project h4{margin-bottom:.8mm!important;font-size:5.8pt!important;line-height:1.35!important}
  .fa-project p{font-size:4.55pt!important;line-height:1.4!important}
  .fa-project-tools{margin-top:.8mm!important;font-size:3.9pt!important}
  .fa-additional-work{margin-top:1.2mm!important;padding:1.1mm 1.4mm!important;font-size:4.4pt!important}

  .fa-side-section{margin-bottom:3.2mm!important}
  .fa-side-section h3{margin-bottom:1.2mm!important;padding-bottom:1mm!important;font-size:6.4pt!important}
  .fa-side-section p{font-size:4.8pt!important;line-height:1.5!important}
  .fa-tool-list{gap:.8mm!important}
  .fa-tool-list span{padding:.75mm 1mm!important;font-size:4.15pt!important}
  .fa-focus-list{gap:.8mm!important}
  .fa-focus-list span{padding:.8mm 1mm!important;font-size:4.2pt!important}
  .fa-training{gap:1.6mm!important}
  .fa-training > div{gap:.5mm!important}
  .fa-training b{font-size:4.7pt!important}
  .fa-training span,.fa-training a{font-size:4.1pt!important}
  .fa-language-row{padding:1mm 0!important;font-size:4.5pt!important}
  .fa-side-links{gap:.7mm!important}
  .fa-side-links a{font-size:4.1pt!important}

  .fa-cv-footer{
    margin:0 9mm!important;
    padding:2mm 0 2.5mm!important;
    font-size:4.5pt!important;
  }
}


/* === Persian Resume Typography Fix V3 ===
   Layout intentionally preserved; this pass only improves typography/readability.
*/
.fa-cv-page{
  font-family:"Vazirmatn",Tahoma,"Segoe UI",Arial,sans-serif!important;
  font-weight:400;
  line-height:1.75;
}
.fa-cv-page button,
.fa-cv-page input,
.fa-cv-page a{
  font-family:inherit;
}

/* Screen typography */
.fa-cv-kicker{
  font-size:12px!important;
  font-weight:700!important;
}
.fa-cv-identity h1{
  font-size:42px!important;
  line-height:1.2!important;
  letter-spacing:-1.2px!important;
  font-weight:800!important;
}
.fa-cv-identity h2{
  font-size:18px!important;
  line-height:1.55!important;
  font-weight:700!important;
}
.fa-cv-identity p{
  max-width:720px!important;
  font-size:14px!important;
  line-height:2!important;
  font-weight:400!important;
}

.fa-cv-contact-strip span{
  font-size:10px!important;
  font-weight:500!important;
}
.fa-cv-contact-strip b{
  font-size:11px!important;
  font-weight:600!important;
}

.fa-section-head h3{
  font-size:18px!important;
  font-weight:800!important;
}
.fa-section-head > span,
.fa-section-head > div > span{
  font-size:10px!important;
  font-weight:700!important;
}
.fa-section-head-with-link > a{
  font-size:11px!important;
  font-weight:600!important;
}

.fa-entry-top h4{
  font-size:16px!important;
  line-height:1.6!important;
  font-weight:700!important;
}
.fa-company{
  font-size:13px!important;
  font-weight:700!important;
}
.fa-date{
  font-size:11px!important;
  font-weight:600!important;
}
.fa-meta{
  font-size:11px!important;
  line-height:1.6!important;
}
.fa-timeline-content li{
  font-size:12.5px!important;
  line-height:1.9!important;
  font-weight:400!important;
}

.fa-course-block > b{
  font-size:11px!important;
}
.fa-course-list span{
  font-size:10.5px!important;
  font-weight:600!important;
}
.fa-course-block p{
  font-size:11px!important;
  line-height:1.85!important;
}

.fa-project-label{
  font-size:9.5px!important;
  font-weight:700!important;
}
.fa-project h4{
  font-size:13px!important;
  line-height:1.75!important;
  font-weight:700!important;
}
.fa-project p{
  font-size:11px!important;
  line-height:1.85!important;
}
.fa-project-tools{
  font-size:8.5px!important;
  line-height:1.5!important;
}
.fa-additional-work{
  font-size:10.5px!important;
  line-height:1.8!important;
}

.fa-side-section h3{
  font-size:14px!important;
  font-weight:800!important;
}
.fa-side-section p{
  font-size:11.5px!important;
  line-height:1.95!important;
}
.fa-tool-list span{
  font-size:9.5px!important;
  font-weight:600!important;
}
.fa-focus-list span{
  font-size:10px!important;
  font-weight:500!important;
}
.fa-training b{
  font-size:11px!important;
  font-weight:700!important;
}
.fa-training span{
  font-size:10px!important;
  line-height:1.7!important;
}
.fa-training a{
  font-size:10px!important;
  font-weight:600!important;
}
.fa-language-row{
  font-size:10.5px!important;
  line-height:1.7!important;
}
.fa-side-links a{
  font-size:9.5px!important;
}
.fa-cv-footer{
  font-size:9.5px!important;
}

/* Latin fragments remain visually stable beside Persian text. */
.fa-cv-page [dir="ltr"],
.fa-project-tools,
.fa-tool-list{
  font-family:"Vazirmatn","Segoe UI",Arial,sans-serif;
}

/* Print/PDF readability pass.
   Previous version compressed many lines to roughly 4–6 pt.
   This deliberately brings the page into a normal readable CV range.
*/
@media print{
  .fa-cv-hero{
    grid-template-columns:31mm minmax(0,1fr)!important;
    gap:5.5mm!important;
    padding:8mm 9mm 5mm!important;
  }
  .fa-cv-photo{
    width:30mm!important;
    height:30mm!important;
  }

  .fa-cv-kicker{
    font-size:7pt!important;
  }
  .fa-cv-identity h1{
    font-size:26pt!important;
    line-height:1.16!important;
  }
  .fa-cv-identity h2{
    margin:1.2mm 0 1.4mm!important;
    font-size:10pt!important;
    line-height:1.45!important;
  }
  .fa-cv-identity p{
    font-size:8.2pt!important;
    line-height:1.65!important;
  }

  .fa-cv-contact-strip{
    margin-top:2.5mm!important;
  }
  .fa-cv-contact-strip a{
    padding:2mm 2.3mm!important;
  }
  .fa-cv-contact-strip span{
    margin-bottom:.5mm!important;
    font-size:5.8pt!important;
  }
  .fa-cv-contact-strip b{
    font-size:6.6pt!important;
  }

  .fa-cv-layout{
    grid-template-columns:minmax(0,1fr) 53mm!important;
    padding:0 9mm!important;
  }
  .fa-cv-main{
    padding:6mm 0 4mm 5mm!important;
  }
  .fa-cv-sidebar{
    padding:6mm 4mm 4mm 0!important;
  }

  .fa-cv-section{
    margin-bottom:5mm!important;
  }
  .fa-section-head{
    gap:1.8mm!important;
    margin-bottom:2.5mm!important;
  }
  .fa-section-head h3{
    font-size:10.5pt!important;
  }
  .fa-section-head > span,
  .fa-section-head > div > span{
    font-size:5.6pt!important;
  }
  .fa-section-head-with-link > a{
    font-size:5.8pt!important;
  }

  .fa-timeline-item{
    padding-right:4mm!important;
  }
  .fa-entry-top h4{
    font-size:8.8pt!important;
    line-height:1.4!important;
  }
  .fa-company{
    margin-top:.7mm!important;
    font-size:7.2pt!important;
  }
  .fa-date{
    font-size:6.4pt!important;
  }
  .fa-meta{
    margin-top:.8mm!important;
    font-size:6.2pt!important;
  }
  .fa-timeline-content ul{
    margin-top:1.8mm!important;
    padding-right:3.5mm!important;
  }
  .fa-timeline-content li{
    margin:.7mm 0!important;
    font-size:7.1pt!important;
    line-height:1.55!important;
  }

  .fa-education-card{
    padding:2.8mm 3mm!important;
  }
  .fa-course-block{
    margin-top:2.2mm!important;
    padding-top:2mm!important;
  }
  .fa-course-block > b{
    margin-bottom:1.2mm!important;
    font-size:6.4pt!important;
  }
  .fa-course-list{
    gap:1mm!important;
  }
  .fa-course-list span{
    padding:1mm 1.3mm!important;
    font-size:6.1pt!important;
  }
  .fa-course-block p{
    margin-top:1.3mm!important;
    font-size:6.2pt!important;
    line-height:1.55!important;
  }

  .fa-projects{
    gap:1.6mm!important;
  }
  .fa-project{
    padding:2.2mm 2.4mm!important;
  }
  .fa-project-label{
    margin-bottom:.8mm!important;
    font-size:5.2pt!important;
  }
  .fa-project h4{
    margin-bottom:1mm!important;
    font-size:7.2pt!important;
    line-height:1.45!important;
  }
  .fa-project p{
    font-size:6.25pt!important;
    line-height:1.5!important;
  }
  .fa-project-tools{
    margin-top:1mm!important;
    font-size:4.8pt!important;
  }
  .fa-additional-work{
    margin-top:1.5mm!important;
    padding:1.5mm 1.7mm!important;
    font-size:5.8pt!important;
    line-height:1.5!important;
  }

  .fa-side-section{
    margin-bottom:4mm!important;
  }
  .fa-side-section h3{
    margin-bottom:1.5mm!important;
    padding-bottom:1.2mm!important;
    font-size:7.7pt!important;
  }
  .fa-side-section p{
    font-size:6.5pt!important;
    line-height:1.65!important;
  }
  .fa-tool-list{
    gap:1mm!important;
  }
  .fa-tool-list span{
    padding:.9mm 1.1mm!important;
    font-size:5.3pt!important;
  }
  .fa-focus-list{
    gap:1mm!important;
  }
  .fa-focus-list span{
    padding:1mm 1.1mm!important;
    font-size:5.5pt!important;
  }
  .fa-training{
    gap:2mm!important;
  }
  .fa-training > div{
    gap:.6mm!important;
  }
  .fa-training b{
    font-size:6.2pt!important;
  }
  .fa-training span{
    font-size:5.6pt!important;
    line-height:1.5!important;
  }
  .fa-training a{
    font-size:5.6pt!important;
  }
  .fa-language-row{
    padding:1.2mm 0!important;
    font-size:5.9pt!important;
  }
  .fa-side-links{
    gap:.9mm!important;
  }
  .fa-side-links a{
    font-size:5.4pt!important;
  }

  .fa-cv-footer{
    padding:2.5mm 0 3mm!important;
    font-size:5.4pt!important;
  }
}


/* === Persian Resume Typography V4 === */
.fa-cv-page{
  font-family:"Noto Sans Arabic","Vazirmatn",Tahoma,Arial,sans-serif!important;
  font-size:15px!important;
  font-weight:400!important;
  line-height:1.9!important;
}
.fa-cv-page button,
.fa-cv-page a{font-family:inherit!important}

.fa-cv-kicker{font-size:13px!important;line-height:1.6!important;font-weight:700!important}
.fa-cv-identity h1{
  margin-top:2px!important;
  font-size:50px!important;
  line-height:1.18!important;
  letter-spacing:-1.5px!important;
  font-weight:800!important;
}
.fa-cv-identity h2{
  margin:8px 0 9px!important;
  font-size:21px!important;
  line-height:1.6!important;
  font-weight:700!important;
}
.fa-cv-identity p{
  max-width:760px!important;
  font-size:15.5px!important;
  line-height:2.05!important;
  color:#5d6b7b!important;
}

.fa-cv-contact-strip span{font-size:11px!important;line-height:1.5!important;font-weight:500!important}
.fa-cv-contact-strip b{font-size:12.5px!important;line-height:1.5!important;font-weight:700!important}

.fa-section-head{margin-bottom:18px!important}
.fa-section-head h3{font-size:22px!important;line-height:1.5!important;font-weight:800!important}
.fa-section-head > span,
.fa-section-head > div > span{font-size:11px!important;line-height:1.4!important;font-weight:700!important}
.fa-section-head-with-link > a{font-size:12.5px!important;font-weight:700!important}

.fa-entry-top h4{font-size:18px!important;line-height:1.65!important;font-weight:800!important}
.fa-company{font-size:14.5px!important;line-height:1.6!important;font-weight:700!important}
.fa-date{font-size:12.5px!important;line-height:1.5!important;font-weight:600!important}
.fa-meta{font-size:12.5px!important;line-height:1.7!important}
.fa-timeline-content li{margin:7px 0!important;font-size:14px!important;line-height:2!important}

.fa-course-block > b{font-size:13px!important;font-weight:700!important}
.fa-course-list span{padding:7px 10px!important;font-size:12.5px!important;line-height:1.5!important;font-weight:600!important}
.fa-course-block p{font-size:12.5px!important;line-height:1.9!important}

.fa-project{padding:16px 17px!important}
.fa-project-label{font-size:11px!important;line-height:1.5!important;font-weight:700!important}
.fa-project h4{margin:4px 0 8px!important;font-size:15px!important;line-height:1.8!important;font-weight:800!important}
.fa-project p{font-size:12.5px!important;line-height:1.95!important}
.fa-project-tools{margin-top:9px!important;font-size:10px!important;line-height:1.55!important;font-weight:600!important}
.fa-additional-work{padding:10px 12px!important;font-size:12px!important;line-height:1.9!important}

.fa-side-section{margin-bottom:27px!important}
.fa-side-section h3{margin-bottom:12px!important;padding-bottom:9px!important;font-size:17px!important;line-height:1.6!important;font-weight:800!important}
.fa-side-section p{font-size:13.5px!important;line-height:2.05!important}
.fa-tool-list{gap:7px!important}
.fa-tool-list span{padding:6px 9px!important;font-size:11px!important;line-height:1.45!important;font-weight:600!important}
.fa-focus-list{gap:7px!important}
.fa-focus-list span{padding:8px!important;font-size:11.5px!important;line-height:1.5!important;font-weight:500!important}
.fa-training{gap:15px!important}
.fa-training b{font-size:13px!important;line-height:1.6!important;font-weight:700!important}
.fa-training span{font-size:11.5px!important;line-height:1.85!important}
.fa-training a{font-size:11.5px!important;line-height:1.6!important;font-weight:700!important}
.fa-language-row{padding:9px 0!important;font-size:12px!important;line-height:1.7!important}
.fa-side-links a{font-size:11px!important;line-height:1.65!important}
.fa-cv-footer{font-size:10.5px!important}

.fa-cv-layout{grid-template-columns:minmax(0,1fr) 270px!important}
.fa-cv-main{padding-left:32px!important}
.fa-cv-sidebar{padding-right:30px!important}

@media(max-width:900px){
  .fa-cv-identity h1{font-size:42px!important}
  .fa-cv-identity h2{font-size:19px!important}
  .fa-cv-identity p{font-size:14.5px!important}
}
@media(max-width:760px){
  .fa-cv-identity h1{font-size:34px!important}
  .fa-cv-identity h2{font-size:16.5px!important}
  .fa-cv-identity p{font-size:13.5px!important}
  .fa-section-head h3{font-size:19px!important}
  .fa-entry-top h4{font-size:16px!important}
  .fa-timeline-content li{font-size:13px!important}
  .fa-cv-layout{grid-template-columns:1fr!important}
  .fa-cv-main{padding-left:0!important}
  .fa-cv-sidebar{padding-right:0!important}
}

@media print{
  .fa-cv-identity h1{font-size:25pt!important}
  .fa-cv-identity h2{font-size:10.5pt!important}
  .fa-cv-identity p{font-size:8.5pt!important;line-height:1.7!important}
  .fa-section-head h3{font-size:11pt!important}
  .fa-entry-top h4{font-size:9pt!important}
  .fa-company{font-size:7.4pt!important}
  .fa-date,.fa-meta{font-size:6.5pt!important}
  .fa-timeline-content li{font-size:7.3pt!important;line-height:1.6!important}
  .fa-course-block > b{font-size:6.7pt!important}
  .fa-course-list span{font-size:6.25pt!important}
  .fa-course-block p{font-size:6.35pt!important;line-height:1.55!important}
  .fa-project-label{font-size:5.4pt!important}
  .fa-project h4{font-size:7.4pt!important}
  .fa-project p{font-size:6.35pt!important;line-height:1.55!important}
  .fa-project-tools{font-size:4.9pt!important}
  .fa-additional-work{font-size:5.9pt!important}
  .fa-side-section h3{font-size:8pt!important}
  .fa-side-section p{font-size:6.6pt!important;line-height:1.6!important}
  .fa-tool-list span{font-size:5.4pt!important}
  .fa-focus-list span{font-size:5.6pt!important}
  .fa-training b{font-size:6.2pt!important}
  .fa-training span,.fa-training a{font-size:5.7pt!important}
  .fa-language-row{font-size:6pt!important}
  .fa-side-links a{font-size:5.4pt!important}
}


/* === Persian Resume Elegant V5 ===
   Refined editorial typography. The structural layout stays the same.
*/

.fa-cv-page{
  --fa-blue:#1688d4;
  --fa-ink:#1f2933;
  --fa-muted:#657281;
  --fa-soft:#8793a0;
  --fa-line:#e6ebef;
  --fa-panel:#fafbfc;
  font-family:"Vazirmatn",Tahoma,Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.9!important;
  color:var(--fa-ink)!important;
}
.fa-cv-page [dir="ltr"],
.fa-project-tools,
.fa-tool-list,
.fa-date,
.fa-cv-contact-strip b{
  font-family:"Inter","Segoe UI",Arial,sans-serif!important;
}

/* HEADER — calmer, more premium */
.fa-cv-hero{
  gap:25px!important;
  padding-top:36px!important;
  padding-bottom:27px!important;
}
.fa-cv-kicker{
  margin-bottom:7px!important;
  color:var(--fa-blue)!important;
  font-size:10px!important;
  font-weight:600!important;
  letter-spacing:0!important;
}
.fa-cv-identity h1{
  margin:0!important;
  color:#202a35!important;
  font-size:40px!important;
  line-height:1.3!important;
  letter-spacing:-1px!important;
  font-weight:700!important;
}
.fa-cv-identity h2{
  margin:6px 0 10px!important;
  color:#33404d!important;
  font-size:16px!important;
  line-height:1.7!important;
  font-weight:600!important;
}
.fa-cv-identity p{
  max-width:720px!important;
  margin:0!important;
  color:var(--fa-muted)!important;
  font-size:12.6px!important;
  line-height:2!important;
  font-weight:400!important;
}

/* CONTACT — flatter, less like a dashboard */
.fa-cv-contact-strip{
  margin-top:13px!important;
  border-color:var(--fa-line)!important;
  border-radius:10px!important;
  background:#fff!important;
}
.fa-cv-contact-strip a{
  padding:10px 14px!important;
}
.fa-cv-contact-strip span{
  margin-bottom:2px!important;
  color:#94a0ac!important;
  font-size:8.5px!important;
  font-weight:500!important;
}
.fa-cv-contact-strip b{
  color:#43515f!important;
  font-size:9.7px!important;
  font-weight:600!important;
}

/* SECTION TITLES — restrained hierarchy */
.fa-cv-section{
  margin-bottom:25px!important;
}
.fa-section-head{
  margin-bottom:14px!important;
}
.fa-section-head h3{
  color:#25313d!important;
  font-size:15.5px!important;
  line-height:1.55!important;
  font-weight:700!important;
}
.fa-section-head > span,
.fa-section-head > div > span{
  color:var(--fa-blue)!important;
  font-size:8px!important;
  font-weight:600!important;
}
.fa-section-head-with-link > a{
  color:var(--fa-blue)!important;
  font-size:9.5px!important;
  font-weight:600!important;
}

/* EXPERIENCE / EDUCATION */
.fa-entry-top h4{
  color:#26323e!important;
  font-size:13.5px!important;
  line-height:1.7!important;
  font-weight:700!important;
}
.fa-company{
  margin-top:2px!important;
  color:var(--fa-blue)!important;
  font-size:11.2px!important;
  font-weight:600!important;
}
.fa-date{
  color:#6f7e8d!important;
  font-size:9.3px!important;
  font-weight:600!important;
}
.fa-meta{
  margin-top:4px!important;
  color:#98a2ad!important;
  font-size:9.3px!important;
}
.fa-timeline-content li{
  margin:5px 0!important;
  color:#536170!important;
  font-size:10.8px!important;
  line-height:1.85!important;
  font-weight:400!important;
}

/* Education card becomes much lighter */
.fa-education-card{
  padding:14px 16px!important;
  border:1px solid var(--fa-line)!important;
  border-radius:9px!important;
  background:#fff!important;
}
.fa-course-block{
  margin-top:11px!important;
  padding-top:10px!important;
  border-top:1px solid #eef2f5!important;
}
.fa-course-block > b{
  margin-bottom:6px!important;
  color:#465461!important;
  font-size:9.4px!important;
  font-weight:600!important;
}
.fa-course-list{
  gap:10px!important;
}
.fa-course-list span{
  position:relative;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#3d4a57!important;
  font-size:9.7px!important;
  line-height:1.6!important;
  font-weight:600!important;
}
.fa-course-list span + span:before{
  content:"•";
  margin-left:10px;
  color:#b0bac3;
}
.fa-course-block p{
  margin-top:7px!important;
  color:#7a8793!important;
  font-size:9px!important;
  line-height:1.7!important;
}

/* PROJECTS — editorial cards, less bold */
.fa-projects{
  gap:8px!important;
}
.fa-project{
  padding:12px 13px!important;
  border:1px solid var(--fa-line)!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.fa-project:hover{
  transform:none!important;
  border-color:#bdd9eb!important;
  box-shadow:none!important;
}
.fa-project-wide{
  background:#fbfdff!important;
  border-color:#d7e8f4!important;
}
.fa-project-label{
  margin-bottom:4px!important;
  color:var(--fa-blue)!important;
  font-size:7.8px!important;
  font-weight:600!important;
}
.fa-project h4{
  margin:0 0 5px!important;
  color:#2c3844!important;
  font-size:11.3px!important;
  line-height:1.7!important;
  font-weight:700!important;
}
.fa-project p{
  color:#6f7b87!important;
  font-size:9.3px!important;
  line-height:1.8!important;
}
.fa-project-tools{
  margin-top:6px!important;
  color:#9aa5af!important;
  font-size:7px!important;
  font-weight:500!important;
}
.fa-additional-work{
  margin-top:8px!important;
  padding:7px 10px!important;
  border-radius:6px!important;
  background:#f7f8f9!important;
  color:#7a858f!important;
  font-size:8.7px!important;
  line-height:1.7!important;
}

/* SIDEBAR — no large grey UI blocks */
.fa-cv-sidebar{
  padding-right:28px!important;
}
.fa-side-section{
  margin-bottom:22px!important;
}
.fa-side-section h3{
  margin-bottom:9px!important;
  padding-bottom:7px!important;
  border-bottom:1px solid var(--fa-line)!important;
  color:#2d3945!important;
  font-size:12px!important;
  line-height:1.65!important;
  font-weight:700!important;
}
.fa-side-section p{
  color:#6f7b87!important;
  font-size:9.7px!important;
  line-height:1.9!important;
}
.fa-tool-list{
  gap:5px!important;
}
.fa-tool-list span{
  padding:4px 6px!important;
  border:1px solid #edf1f4!important;
  border-radius:5px!important;
  background:#fbfcfd!important;
  color:#5d6b78!important;
  font-size:7.8px!important;
  font-weight:500!important;
}

/* Focus area: convert grey pills into a clean two-column list */
.fa-focus-list{
  gap:0 14px!important;
}
.fa-focus-list span{
  position:relative;
  padding:5px 11px 5px 0!important;
  border-bottom:1px solid #f0f2f4!important;
  border-radius:0!important;
  background:transparent!important;
  color:#5b6875!important;
  font-size:8.8px!important;
  line-height:1.6!important;
  text-align:right!important;
  font-weight:400!important;
}
.fa-focus-list span:before{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#9bcdea;
  transform:translateY(-50%);
}

/* Training / language / links */
.fa-training{
  gap:11px!important;
}
.fa-training > div{
  gap:2px!important;
}
.fa-training b{
  color:#43505d!important;
  font-size:9.7px!important;
  font-weight:600!important;
}
.fa-training span{
  color:#8b96a0!important;
  font-size:8.3px!important;
  line-height:1.65!important;
}
.fa-training a{
  color:var(--fa-blue)!important;
  font-size:8.5px!important;
  font-weight:600!important;
}
.fa-language-row{
  padding:6px 0!important;
  color:#66737f!important;
  font-size:9px!important;
}
.fa-language-row b{
  color:#475461!important;
  font-weight:600!important;
}
.fa-side-links{
  gap:4px!important;
}
.fa-side-links a{
  color:#667684!important;
  font-size:8px!important;
  font-weight:500!important;
}
.fa-cv-footer{
  color:#9aa4ae!important;
  font-size:7.7px!important;
}

/* Print: preserve the same refined hierarchy */
@media print{
  .fa-cv-kicker{font-size:5.6pt!important}
  .fa-cv-identity h1{font-size:22pt!important}
  .fa-cv-identity h2{font-size:8.6pt!important}
  .fa-cv-identity p{font-size:6.9pt!important;line-height:1.65!important}

  .fa-cv-contact-strip span{font-size:4.5pt!important}
  .fa-cv-contact-strip b{font-size:5.2pt!important}

  .fa-section-head h3{font-size:8.5pt!important}
  .fa-section-head > span,
  .fa-section-head > div > span{font-size:4.3pt!important}
  .fa-section-head-with-link > a{font-size:4.8pt!important}

  .fa-entry-top h4{font-size:7.2pt!important}
  .fa-company{font-size:5.9pt!important}
  .fa-date,.fa-meta{font-size:5pt!important}
  .fa-timeline-content li{font-size:5.9pt!important;line-height:1.5!important}

  .fa-course-block > b{font-size:5pt!important}
  .fa-course-list span{font-size:5.2pt!important}
  .fa-course-block p{font-size:4.8pt!important}

  .fa-project-label{font-size:4.1pt!important}
  .fa-project h4{font-size:6pt!important}
  .fa-project p{font-size:4.9pt!important;line-height:1.5!important}
  .fa-project-tools{font-size:3.7pt!important}
  .fa-additional-work{font-size:4.6pt!important}

  .fa-side-section h3{font-size:6.4pt!important}
  .fa-side-section p{font-size:5.1pt!important;line-height:1.55!important}
  .fa-tool-list span{font-size:4.2pt!important}
  .fa-focus-list span{font-size:4.7pt!important}
  .fa-training b{font-size:5.1pt!important}
  .fa-training span,.fa-training a{font-size:4.4pt!important}
  .fa-language-row{font-size:4.7pt!important}
  .fa-side-links a{font-size:4.2pt!important}
}


/* === Persian Contact Polish V6 === */
.fa-cv-contact-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:15px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.fa-cv-contact-grid .fa-contact-item{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  min-height:78px!important;
  padding:12px 14px!important;
  border:1px solid #e6ebef!important;
  border-left:1px solid #e6ebef!important;
  border-radius:10px!important;
  background:#fcfdfe!important;
  transition:border-color .18s ease, background .18s ease, transform .18s ease;
}
.fa-cv-contact-grid .fa-contact-item:hover{
  border-color:#cde3f1!important;
  background:#ffffff!important;
  transform:translateY(-1px)!important;
}
.fa-cv-contact-grid .fa-contact-item-primary{
  background:linear-gradient(180deg,#f8fcff 0%,#fbfdff 100%)!important;
  border-color:#cfe2f1!important;
}
.fa-cv-contact-grid .fa-contact-item span{
  display:block!important;
  margin:0 0 4px!important;
  color:#8e99a5!important;
  font-size:9px!important;
  line-height:1.45!important;
  font-weight:500!important;
}
.fa-cv-contact-grid .fa-contact-item b{
  display:block!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  white-space:normal!important;
  text-overflow:clip!important;
  color:#2f3d4a!important;
  font-size:11px!important;
  line-height:1.65!important;
  font-weight:700!important;
}
.fa-cv-contact-grid .fa-contact-item small{
  display:block!important;
  margin-top:3px!important;
  color:#9aa5af!important;
  font-size:8.2px!important;
  line-height:1.45!important;
  font-weight:500!important;
}
.fa-side-links a{
  overflow-wrap:anywhere!important;
  white-space:normal!important;
  line-height:1.75!important;
}
@media(max-width:760px){
  .fa-cv-contact-grid{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .fa-cv-contact-grid .fa-contact-item{
    min-height:auto!important;
  }
}
@media print{
  .fa-cv-contact-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:1.3mm!important;
    margin-top:2.4mm!important;
  }
  .fa-cv-contact-grid .fa-contact-item{
    min-height:auto!important;
    padding:1.9mm 2mm!important;
    border-radius:2mm!important;
  }
  .fa-cv-contact-grid .fa-contact-item span{
    margin-bottom:.5mm!important;
    font-size:4.6pt!important;
  }
  .fa-cv-contact-grid .fa-contact-item b{
    font-size:5.55pt!important;
    line-height:1.45!important;
  }
  .fa-cv-contact-grid .fa-contact-item small{
    margin-top:.4mm!important;
    font-size:4pt!important;
  }
}


/* === Contact Detail Polish V7 === */
.cv-contact-row{
  align-items:start;
}
.cv-contact-row a{
  overflow-wrap:anywhere;
}
.cv-contact-icon{
  font-size:7px;
  font-weight:700;
}
@media print{
  .cv-contact-row{
    font-size:5.7pt!important;
  }
}


/* === Final Persian Size +3 V8 ===
   Font family intentionally untouched. Only Persian resume sizes are increased.
*/
.fa-cv-kicker{font-size:13px!important}
.fa-cv-identity h1{font-size:43px!important}
.fa-cv-identity h2{font-size:19px!important}
.fa-cv-identity p{font-size:15.6px!important}
.fa-section-head h3{font-size:18.5px!important}
.fa-section-head > span,.fa-section-head > div > span{font-size:11px!important}
.fa-section-head-with-link > a{font-size:12.5px!important}
.fa-entry-top h4{font-size:16.5px!important}
.fa-company{font-size:14.2px!important}
.fa-date,.fa-meta{font-size:12.3px!important}
.fa-timeline-content li{font-size:13.8px!important}
.fa-course-block > b{font-size:12.4px!important}
.fa-course-list span{font-size:12.7px!important}
.fa-course-block p{font-size:12px!important}
.fa-project-label{font-size:10.8px!important}
.fa-project h4{font-size:14.3px!important}
.fa-project p{font-size:12.3px!important}
.fa-project-tools{font-size:10px!important}
.fa-additional-work{font-size:11.7px!important}
.fa-side-section h3{font-size:15px!important}
.fa-side-section p{font-size:12.7px!important}
.fa-tool-list span{font-size:10.8px!important}
.fa-focus-list span{font-size:11.8px!important}
.fa-training b{font-size:12.7px!important}
.fa-training span{font-size:11.3px!important}
.fa-training a{font-size:11.5px!important}
.fa-language-row{font-size:12px!important}
.fa-side-links a{font-size:11px!important}
.fa-cv-footer{font-size:10.7px!important}
.fa-cv-contact-grid .fa-contact-item span{font-size:12px!important}
.fa-cv-contact-grid .fa-contact-item b{font-size:14px!important}
.fa-cv-contact-grid .fa-contact-item small{font-size:11.2px!important}

/* Keep print one-page friendly while making it less microscopic. */
@media print{
  .fa-cv-identity h1{font-size:22.8pt!important}
  .fa-cv-identity h2{font-size:9.2pt!important}
  .fa-cv-identity p{font-size:7.4pt!important}
  .fa-section-head h3{font-size:9.1pt!important}
  .fa-entry-top h4{font-size:7.7pt!important}
  .fa-company{font-size:6.3pt!important}
  .fa-date,.fa-meta{font-size:5.4pt!important}
  .fa-timeline-content li{font-size:6.3pt!important}
  .fa-project h4{font-size:6.4pt!important}
  .fa-project p{font-size:5.3pt!important}
  .fa-side-section h3{font-size:6.8pt!important}
  .fa-side-section p{font-size:5.5pt!important}
  .fa-cv-contact-grid .fa-contact-item span{font-size:4.9pt!important}
  .fa-cv-contact-grid .fa-contact-item b{font-size:5.9pt!important}
  .fa-cv-contact-grid .fa-contact-item small{font-size:4.3pt!important}
}


/* === Credentials Resume Links V9 === */
.cv-training-link{display:block;margin-top:3px;color:#1688d4!important;font-size:8px!important;font-weight:700!important}
.fa-training-page-link{display:block;margin-top:4px;color:#1688d4!important;font-size:8.5px!important;font-weight:600!important}
@media print{
  .cv-training-link{font-size:4.9pt!important;margin-top:.4mm!important}
  .fa-training-page-link{font-size:4.7pt!important;margin-top:.5mm!important}
}


/* === Persian Print Overflow Fix V11 ===
   Screen design is untouched.
   The Persian resume is allowed to continue to a second printed page instead of being clipped.
*/
@media print{
  .fa-cv-page{
    background:#fff!important;
    overflow:visible!important;
  }

  .fa-cv-stage{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }

  .fa-cv-paper{
    width:210mm!important;
    height:auto!important;
    min-height:297mm!important;
    max-height:none!important;
    overflow:visible!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }

  /* Let the document naturally fragment across pages. */
  .fa-cv-layout,
  .fa-cv-main,
  .fa-cv-sidebar{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  /* Keep small logical blocks together whenever possible. */
  .fa-cv-hero,
  .fa-cv-contact-grid,
  .fa-education-card,
  .fa-project,
  .fa-additional-work,
  .fa-side-section,
  .fa-training > div{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  /* Avoid headings being stranded at the bottom of a printed page. */
  .fa-section-head,
  .fa-side-section h3{
    break-after:avoid!important;
    page-break-after:avoid!important;
  }

  /* Allow the main sections themselves to flow when they are taller than one page. */
  .fa-cv-section,
  .fa-projects{
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
}
