:root{
    --ink:#071829;
    --ink-soft:#16324C;
    --teal:#008C89;
    --teal-deep:#006C68;
    --paper:#FBFBF9;
    --side-tint:#EEF2F3;
    --text:#111827;
    --grey:#3F4A56;
    --grey-soft:#667382;
    --line:#DCE1E4;
    --sans:'Inter', 'Segoe UI', Calibri, Arial, sans-serif;
    --display:'Inter', 'Segoe UI Semibold', var(--sans);
    --mono:'Inter', var(--sans);
    --page-w:900px;
  }

  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  body{
    background:#E6E9EA;
    font-family:var(--sans);
    color:var(--text);
    padding:18px 16px 48px;
    font-size:15px;
    font-weight:400;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }

  .resumeMenu .menuBar{position:fixed;left:0;top:0;z-index:2;width:auto}
  .euroResumePageContent{min-height:100vh;transition:margin-left .3s ease}

  .toolbar{
    max-width:var(--page-w);
    margin:0 auto 16px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
  }
  .hint{font-size:13.5px;color:var(--grey);line-height:1.4}
  .hint b{color:var(--ink)}
  .toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
  .btn,.linkBtn{
    font-family:var(--mono);
    font-size:13.5px;
    font-weight:500;
    letter-spacing:.01em;
    border:1px solid var(--ink);
    padding:10px 14px;
    border-radius:2px;
    cursor:pointer;
    text-decoration:none;
  }
  .btn{background:var(--ink);color:#fff}
  .linkBtn{background:#fff;color:var(--ink)}
  .btn:hover{background:var(--ink-soft)}

  .page{
    max-width:var(--page-w);
    margin:0 auto;
    background:var(--paper);
    box-shadow:0 1px 2px rgba(10,15,25,.06), 0 20px 40px rgba(10,15,25,.14);
    overflow:hidden;
  }

  .hero{
    background:var(--ink);
    color:#F4F6F7;
    padding:28px 40px 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
  }
  .hero-name{
    font-family:var(--display);
    font-weight:800;
    font-size:36px;
    letter-spacing:0;
    margin:0 0 6px;
    color:#fff;
  }
  .hero-title{
    font-family:var(--display);
    font-size:14px;
    font-weight:700;
    color:var(--teal);
    letter-spacing:0;
    margin-bottom:10px;
  }
  .hero-summary{
    color:#D8E2EA;
    font-size:13.2px;
    line-height:1.45;
    margin:0;
    max-width:620px;
  }
  .hero-pills{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:13px;
  }
  .hero-pill{
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.07);
    color:#F3FBFB;
    font-size:12px;
    font-weight:700;
    line-height:1;
    padding:7px 9px;
    border-radius:2px;
  }
  .hero-pill span{
    color:#65D3CD;
    margin-right:4px;
  }
  .contact-list{display:grid;gap:6px}
  .contact-list a,
  .contact-list span{
    color:#152232;
    display:flex;
    align-items:flex-start;
    gap:7px;
    font-size:13.4px;
    line-height:1.35;
    text-decoration:none;
    word-break:break-word;
  }
  .contact-list i{
    color:var(--teal-deep);
    flex:0 0 13px;
    font-size:13px;
    line-height:1.35;
    text-align:center;
    margin-top:1px;
  }
  .photo-ring{
    flex:0 0 auto;
    width:96px;
    height:96px;
    border-radius:50%;
    border:2px solid var(--teal);
    overflow:hidden;
    background:rgba(255,255,255,.04);
  }
  .photo-ring img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}

  .body-grid{display:grid;grid-template-columns:250px 1fr}
  .sidebar{
    background:var(--side-tint);
    padding:24px 22px 28px;
    border-right:1px solid var(--line);
  }
  .main{padding:24px 34px 28px}

  .prompt{
    font-family:var(--display);
    font-size:11.8px;
    font-weight:800;
    color:var(--ink);
    letter-spacing:0;
    text-transform:uppercase;
    margin:0 0 8px;
    display:flex;
    align-items:center;
    gap:6px;
  }
  .prompt::before{content:''; width:15px; height:2px; background:var(--teal); flex:0 0 auto}
  .prompt i{
    color:var(--teal-deep);
    flex:0 0 13px;
    font-size:12px;
    line-height:1;
    text-align:center;
  }
  .section-prompt{margin-top:18px}
  .sidebar .prompt{margin-top:18px}
  .sidebar .prompt:first-child{margin-top:0}
  .sidebar-page-two{margin-top:18px}
  .sidebar-page-two .prompt:first-child{margin-top:0}

  .kv{width:100%;border-collapse:collapse}
  .kv tr td{padding:2px 0;font-size:12px;vertical-align:top;line-height:1.35}
  .kv tr td.k{display:block;color:var(--grey-soft);font-family:var(--sans);font-size:10px;text-transform:uppercase;letter-spacing:0;padding-top:6px}
  .kv tr td.v{padding-bottom:2px;color:#152232}
  .kv a{color:#152232;text-decoration:none;word-break:break-word}

  .tag-row{display:flex;flex-wrap:wrap;gap:4px}
  .skill-groups{display:grid;gap:11px}
  .skill-group{
    border-left:2px solid rgba(0,140,137,.28);
    padding-left:8px;
  }
  .skill-group-title{
    color:var(--teal-deep);
    font-size:11.4px;
    font-weight:800;
    line-height:1.2;
    margin:0 0 5px;
    text-transform:uppercase;
  }
  .tag{
    font-family:var(--sans);
    font-size:12.4px;
    font-weight:600;
    color:#10243A;
    background:#fff;
    border:1px solid var(--line);
    padding:3px 6px;
    border-radius:2px;
  }
  .side-list{margin:0;padding-left:16px}
  .side-list li{font-size:13.6px;line-height:1.42;margin-bottom:3px;color:#162233}
  .lang-row{display:flex;justify-content:space-between;font-size:13.6px;padding:2px 0;gap:10px}
  .lang-row .lvl{font-family:var(--sans);font-weight:700;color:var(--teal-deep);font-size:11.8px}

  .profile-text{font-size:14.1px;line-height:1.52;color:#101820;margin:0}
  .timeline{border-left:2px solid var(--line);margin-left:3px;padding-left:18px}
  .t-entry{position:relative;padding-bottom:13px;break-inside:avoid}
  .t-entry:last-child{padding-bottom:2px}
  .t-entry::before{
    content:'';
    position:absolute;
    left:-24px;
    top:4px;
    width:9px;
    height:9px;
    border-radius:50%;
    background:var(--paper);
    border:2px solid var(--teal);
  }
  .t-date{font-family:var(--sans);font-size:11.5px;font-weight:700;color:var(--teal-deep);margin-bottom:2px}
  .t-role{font-family:var(--display);font-weight:800;font-size:15.2px;margin:0 0 2px;color:var(--ink)}
  .t-org{font-size:12.4px;color:#334155;font-style:italic;margin:0 0 5px}
  .t-date-inline{
    color:var(--teal-deep);
    font-size:11.5px;
    font-style:normal;
    font-weight:800;
    white-space:nowrap;
  }
  .t-date-inline::before{content:' | '; color:var(--grey-soft); font-weight:700}
  .t-entry ul{margin:0;padding-left:16px}
  .t-entry ul li{font-size:12.9px;line-height:1.44;margin-bottom:2px}
  .project-note{font-size:12.6px;color:#1F3A56;margin:0 0 5px;font-weight:700;line-height:1.35}
  .portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}
  .portfolio-item{border:1px solid var(--line);background:#fff;padding:7px;border-radius:6px;break-inside:avoid}
  .portfolio-item-wide{grid-column:1 / -1}
  .portfolio-item strong{display:block;font-size:13.3px;color:#071829;margin-bottom:3px}
  .portfolio-item span{display:block;font-size:13px;color:#182638;line-height:1.38}
  .education-section{margin-top:18px}
  .compact-list{columns:2;column-gap:20px}

  .sign{
    margin-top:28px;
    padding:18px 0 0;
    border-top:1px solid var(--line);
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    flex-wrap:wrap;
    gap:18px;
  }
  .sign-detail{max-width:430px}
  .sign-detail p{font-size:12.8px;line-height:1.45;color:#263545;margin:0 0 5px}
  .sign-date-row{
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:24px;
  }
  .sign-date{font-size:12.8px;color:#263545;margin:0}
  .sign-line,.sign-name{font-family:var(--mono);font-size:13px;color:var(--grey)}
  .sign-name{border-top:1px solid var(--grey-soft);padding-top:6px;min-width:210px;text-align:center;color:var(--ink);font-weight:700}
  .footer-note{max-width:var(--page-w);margin:20px auto 0;text-align:center;font-size:12px;color:#8A9096}

  @media print{
    html,
    body{
      width:210mm;
      min-height:297mm;
      background:#E6E9EA;
      padding:0;
      margin:0;
      font-size:13px;
    }
    .resumeMenu,
    .toolbar,
    .footer-note{display:none!important}
    .euroResumePageContent{
      margin-left:0!important;
      min-height:auto;
      padding:0;
      background:#E6E9EA;
    }
    .page{
      width:190mm;
      max-width:190mm;
      margin:0 auto;
      box-shadow:none;
      overflow:visible;
    }
    .hero{
      flex-direction:row!important;
      align-items:center!important;
      padding:10mm 12mm 9mm;
      gap:8mm;
    }
    .hero-name{font-size:31px;font-weight:800}
    .hero-title{font-size:12.2px;margin-bottom:7px;font-weight:700}
    .hero-summary{font-size:11.3px;line-height:1.38;max-width:118mm}
    .hero-pills{gap:5px;margin-top:8px}
    .hero-pill{font-size:10.4px;padding:5px 7px}
    .photo-ring{width:24mm;height:24mm}
    .page{
      background:linear-gradient(to right, var(--side-tint) 0, var(--side-tint) 56mm, var(--paper) 56mm, var(--paper) 100%);
    }
    .body-grid{
      display:grid!important;
      grid-template-columns:56mm 1fr!important;
      background:linear-gradient(to right, var(--side-tint) 0, var(--side-tint) 56mm, var(--paper) 56mm, var(--paper) 100%);
    }
    .sidebar{background:transparent;border-right:1px solid var(--line)!important;border-bottom:none!important;padding:7mm 6mm 8mm}
    .main{padding:7mm 8mm 8mm}
    .prompt{font-size:11px;margin-bottom:7px}
    .sidebar .prompt{margin-top:15px}
    .sidebar-page-two{
      break-before:page;
      page-break-before:always;
      margin-top:0;
      padding-top:16mm;
    }
    .profile-text{font-size:13.2px;line-height:1.48}
    .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}
    .portfolio-item{padding:6px}
    .portfolio-item strong{font-size:13.2px}
    .portfolio-item span,
    .project-note,
    .t-entry ul li{font-size:12px;line-height:1.4}
    .portfolio-item span{font-size:13px;line-height:1.38}
    .project-note{margin-bottom:4px}
    .experience-section{
      break-before:auto;
      page-break-before:auto;
      margin-top:8mm;
      padding-top:0;
    }
    .experience-section .prompt{
      break-after:avoid-page;
      page-break-after:avoid;
      margin-top:0!important;
    }
    .t-entry{break-inside:avoid-page;page-break-inside:avoid;padding-bottom:12px}
    .t-role{font-size:14px}
    .t-org{font-size:11.8px;margin-bottom:4px}
    .t-date-inline{font-size:11.4px}
    .side-list li,
    .kv tr td,
    .lang-row{font-size:12.4px;line-height:1.34}
    .kv tr td.k{font-size:9.6px;padding-top:5px}
    .tag{font-size:11.2px;padding:2px 5px}
    .tag-row{gap:3px}
    .skill-groups{gap:7px}
    .skill-group{padding-left:6px}
    .skill-group-title{font-size:9.8px;margin-bottom:4px}
    .contact-list{gap:5px}
    .contact-list a,
    .contact-list span{font-size:12.4px;line-height:1.3}
    .contact-list i{font-size:11.8px;line-height:1.3}
    .side-list{padding-left:14px}
    .education-section{
      break-before:auto;
      page-break-before:auto;
      break-inside:avoid-page;
      page-break-inside:avoid;
      margin-top:8mm;
      padding-top:0;
    }
    .sign{
      display:flex;
      break-before:avoid-page;
      page-break-before:avoid;
      break-inside:avoid-page;
      page-break-inside:avoid;
      margin-top:8mm;
      padding-top:4mm;
    }
    .sign-detail p{font-size:12px;line-height:1.4}
    .sign-date{font-size:12px}
    .sign-line,.sign-name{font-size:12px}
    a{color:inherit;text-decoration:none}
    .page,
    .hero,
    .sidebar,
    .portfolio-item,
    .photo-ring{
      -webkit-print-color-adjust:exact;
      print-color-adjust:exact;
    }
    @page{size:A4;margin:10mm 0}
  }

  @media screen and (max-width:800px){
    body{padding:0 0 44px}
    .resumeMenu .menuBar{position:static;width:100%}
    .euroResumePageContent{margin-left:0!important}
    .body-grid{grid-template-columns:1fr}
    .sidebar{border-right:none;border-bottom:1px solid var(--line)}
    .hero{flex-direction:column-reverse;align-items:flex-start;padding:32px 26px}
    .main{padding:28px 24px 36px}
    .sign{padding:22px 24px 30px}
    .portfolio-grid{grid-template-columns:1fr}
  }
