:root{--ink:#15263d;--muted:#5c6d83;--line:#d9e2ee;--blue:#116bb8;--cyan:#00a9a1;--navy:#0a1d35;--soft:#f2f6fb;--page-w:210mm;--page-h:297mm}*{box-sizing:border-box}.cv-body{margin:0;background:#e8eef6;color:var(--ink);font-family:"Inter","Segoe UI Variable","Segoe UI",Arial,sans-serif;font-size:10pt;line-height:1.35}.cv-toolbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px max(18px,calc((100vw - 1120px)/2));background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.cv-brand{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none}.cv-brand span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,#1c8bea,#865cff);color:white;font-weight:900}.cv-toolbar>div{display:flex;gap:8px}.cv-btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 13px;border:1px solid var(--line);border-radius:10px;text-decoration:none;font:700 12px/1 inherit;cursor:pointer}.cv-btn.primary{background:linear-gradient(135deg,#167ce0,#7758e8);color:white;border:0}.cv-btn.secondary{background:white;color:var(--ink)}.cv-stack{display:grid;gap:24px;justify-content:center;padding:26px}.cv-sheet{width:var(--page-w);height:var(--page-h);overflow:hidden;background:white;box-shadow:0 18px 60px rgba(30,52,84,.18);position:relative}.cv-sheet:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4mm;background:linear-gradient(90deg,var(--blue),var(--cyan),#7556df)}.cv-header{display:grid;grid-template-columns:1fr 31mm;gap:6mm;padding:9mm 11mm 6mm;background:linear-gradient(135deg,var(--navy),#143d68);color:white}.cv-header .kicker{margin:0 0 2mm;color:#72e0d6;font-size:7.5pt;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.cv-header h1{margin:0;font-size:25pt;line-height:1;letter-spacing:-.04em}.cv-header h2{margin:2mm 0 2.5mm;color:#69c8ff;font-size:12pt}.cv-header p{margin:0;color:#d2dfed;font-size:8.7pt;line-height:1.45}.cv-header img{width:31mm;height:37mm;object-fit:cover;object-position:center 22%;border-radius:5mm;border:1px solid rgba(255,255,255,.22)}.cv-contact-line{display:flex;flex-wrap:wrap;gap:2mm 4mm;margin-top:3mm;color:#d9e7f5;font-size:7.8pt}.cv-content{padding:6mm 11mm 8mm}.cv-grid{display:grid;grid-template-columns:1.55fr .85fr;gap:7mm}.cv-section{margin-bottom:4.5mm;break-inside:avoid}.cv-section-title{display:flex;align-items:center;gap:2.5mm;margin:0 0 3mm;color:var(--blue);font-size:9.4pt;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.cv-section-title:after{content:"";height:1px;flex:1;background:var(--line)}.cv-summary{margin:0;color:var(--muted);font-size:9.4pt;line-height:1.52}.cv-capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:2mm;margin-top:3mm}.cv-capabilities span{padding:2.3mm;border:1px solid var(--line);border-radius:2.4mm;background:var(--soft);color:#36506f;font-size:7.4pt;font-weight:750;text-align:center}.cv-job{position:relative;padding:0 0 3.4mm 4mm;margin:0 0 3.5mm;border-left:1.2mm solid #2aa8ff;break-inside:avoid}.cv-job:last-child{margin-bottom:0}.cv-job time{color:var(--blue);font-size:7.4pt;font-weight:850}.cv-job h3{margin:.7mm 0 0;font-size:10.5pt}.cv-job h4{margin:.5mm 0 1.2mm;color:var(--muted);font-size:8pt}.cv-job p{margin:0;color:var(--muted);font-size:8.1pt;line-height:1.42}.cv-bullets{display:flex;gap:1.2mm;flex-wrap:wrap;margin-top:1.7mm}.cv-bullets span{padding:1.2mm 1.8mm;border:1px solid var(--line);border-radius:999px;background:#fbfdff;color:#425a77;font-size:6.8pt}.cv-side-card{padding:3.5mm;border:1px solid var(--line);border-radius:3.2mm;background:var(--soft);break-inside:avoid}.cv-side-card+.cv-side-card{margin-top:3mm}.cv-side-card h3{margin:0 0 2.2mm;color:var(--blue);font-size:8.8pt;text-transform:uppercase;letter-spacing:.1em}.cv-side-card p{margin:0;color:var(--muted);font-size:7.8pt;line-height:1.45}.cv-tool-list{display:flex;flex-wrap:wrap;gap:1.2mm}.cv-tool-list span{padding:1.3mm 1.8mm;border:1px solid var(--line);border-radius:999px;background:white;color:#3f5775;font-size:6.8pt;font-weight:750}.cv-education,.cv-cert,.cv-project{padding:2.7mm 0;border-bottom:1px solid var(--line);break-inside:avoid}.cv-education:last-child,.cv-cert:last-child,.cv-project:last-child{border:0}.cv-education b,.cv-cert b,.cv-project b{display:block;font-size:9pt}.cv-education span,.cv-cert span,.cv-project span{display:block;margin-top:.7mm;color:var(--muted);font-size:7.6pt}.cv-education p,.cv-project p{margin:1.1mm 0 0;color:var(--muted);font-size:7.7pt;line-height:1.4}.cv-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:2mm 4mm}.cv-project{border:1px solid var(--line);border-radius:3mm;padding:3mm;background:#fbfdff}.cv-cert-grid{display:grid;grid-template-columns:1fr 1fr;gap:2mm 4mm}.cv-cert{border:1px solid var(--line);border-radius:3mm;padding:3mm;background:#fbfdff}.cv-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:2mm}.cv-meta-grid div{padding:2.5mm;border:1px solid var(--line);border-radius:2.7mm;background:var(--soft)}.cv-meta-grid span,.cv-meta-grid b{display:block}.cv-meta-grid span{color:var(--muted);font-size:7pt}.cv-meta-grid b{margin-top:.7mm;font-size:8pt}.page-number{position:absolute;right:11mm;bottom:6mm;color:#708097;font-size:7pt}.loading{padding:40px}
@media(max-width:900px){.cv-toolbar{align-items:flex-start}.cv-toolbar>div{flex-wrap:wrap;justify-content:flex-end}.cv-stack{justify-content:start;overflow:auto}.cv-sheet{flex:none}}
@media(max-width:600px){.cv-toolbar{display:grid}.cv-toolbar>div{justify-content:flex-start}.cv-stack{padding:10px;transform-origin:top left}.cv-sheet{width:210mm;height:297mm;transform:scale(.47);transform-origin:top left;margin-bottom:calc(-297mm * .53);box-shadow:none}}
@page{size:A4;margin:0}@media print{.cv-toolbar{display:none}.cv-body{background:white}.cv-stack{display:block;padding:0}.cv-sheet{width:210mm;height:297mm;box-shadow:none;margin:0;page-break-after:always;break-after:page}.cv-sheet:last-child{page-break-after:auto;break-after:auto}}

/* V7 final two-page A4 compaction - readable, controlled, no clipped sections */
.page-two .cv-header{grid-template-columns:1fr 25mm;gap:5mm;padding:6mm 11mm 4.5mm}
.page-two .cv-header h1{font-size:21pt}
.page-two .cv-header h2{margin:1.4mm 0 1.8mm;font-size:10.5pt}
.page-two .cv-header p{font-size:8.2pt;line-height:1.35}
.page-two .cv-header img{width:25mm;height:29mm;border-radius:4mm}
.page-two .cv-contact-line{margin-top:2mm}
.page-two .cv-content{padding:4.5mm 11mm 7mm}
.page-two .cv-grid{gap:5mm}
.page-two .cv-section{margin-bottom:3mm}
.page-two .cv-section-title{margin-bottom:2mm;font-size:9pt}
.page-two .cv-job{padding-bottom:2.2mm;margin-bottom:2.2mm}
.page-two .cv-job h3{font-size:10pt}
.page-two .cv-job h4{margin-bottom:.8mm}
.page-two .cv-job p{font-size:7.8pt;line-height:1.34}
.page-two .cv-bullets{margin-top:1.1mm}
.page-two .cv-bullets span{font-size:6.5pt;padding:1mm 1.5mm}
.page-two .cv-education,.page-two .cv-cert,.page-two .cv-project{padding:2mm 0}
.page-two .cv-cert-grid,.page-two .cv-project-grid{gap:1.5mm 3mm}
.page-two .cv-cert,.page-two .cv-project{padding:2.3mm}
.page-two .cv-cert b,.page-two .cv-project b{font-size:8.5pt}
.page-two .cv-cert span,.page-two .cv-project span{font-size:7.1pt}
.page-two .cv-project p{margin:.8mm 0 0;font-size:7.2pt;line-height:1.3}
.page-two .cv-side-card{padding:3mm}
.page-two .cv-side-card+.cv-side-card{margin-top:2mm}
.page-two .cv-meta-grid{gap:1.4mm}
.page-two .cv-meta-grid div{padding:2mm}
