/* CV sayfası — cv/ismail-arslan-cv.html tasarımından alındı.
   A4'e tam bir sayfa sığacak şekilde ölçülerek ayarlandı, mm değerlerine dokunma. */

:root{
    --ink:#14140F;
    --ink-2:#3B3B34;
    --muted:#8A8A80;
    --line:#DDDCD4;
    --leader:#CDCCC2;
    --paper:#FBFAF7;
  }

  *{box-sizing:border-box;margin:0;padding:0}
  html{-webkit-text-size-adjust:100%}

  body{
    font-family:"Lato","Helvetica Neue",Helvetica,Arial,sans-serif;
    background:#EFEEE9;
    color:var(--ink);
    font-size:10pt;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    padding:32px 16px 80px;
  }

  /* ================= SHEET ================= */
  .sheet{
    width:210mm;
    min-height:297mm;
    margin:0 auto;
    background:var(--paper);
    padding:12mm 16mm 10mm;
    box-shadow:0 1px 2px rgba(0,0,0,.06),0 18px 50px rgba(0,0,0,.10);
  }

  /* ================= HEADER ================= */
  .head{display:flex;align-items:center;gap:8mm;padding-bottom:6mm}
  .avatar{
    width:25mm;height:25mm;border-radius:50%;
    object-fit:cover;flex:0 0 auto;
    filter:grayscale(100%) contrast(1.03);
  }
  .head-txt{flex:1 1 auto;min-width:0}

  h1{font-weight:900;font-size:25.5pt;line-height:1.02;letter-spacing:-.018em;text-transform:uppercase}
  h1 .thin{font-weight:300;letter-spacing:-.008em}

  .role{
    margin-top:2.2mm;font-size:9.8pt;font-weight:400;
    letter-spacing:.055em;text-transform:uppercase;color:var(--ink-2);
  }
  .contact{margin-top:2.8mm;font-size:8.8pt;color:var(--ink-2)}
  .contact a{color:inherit;text-decoration:none}
  .sep{color:var(--muted);padding:0 .42em}

  /* ================= PROFILE ================= */
  .profile{
    border-top:1.4px solid var(--ink);
    border-bottom:1px solid var(--line);
    padding:4.4mm 0;
  }
  .profile .lede{font-size:10.2pt;line-height:1.5;font-weight:300;max-width:64em}
  .profile .tagline{
    margin-top:2mm;font-size:8.8pt;line-height:1.4;font-weight:700;
    letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);
  }

  /* ================= SECTIONS ================= */
  section{padding-top:5.4mm}

  h2{
    font-size:8pt;font-weight:900;letter-spacing:.24em;text-transform:uppercase;
    padding-bottom:2.2mm;margin-bottom:3.3mm;border-bottom:1px solid var(--line);
  }

  /* leader line — align to bottom of the line box, just under the baseline */
  .lead{
    flex:1 1 auto;
    align-self:flex-end;
    height:0;
    margin-bottom:1.1mm;
    border-bottom:1px dotted var(--leader);
  }

  /* ---- experience ---- */
  .job{padding-bottom:4.2mm}
  .job:last-child{padding-bottom:0}

  .job-top{display:flex;flex-wrap:nowrap;align-items:baseline;gap:3.4mm}
  .job-org{font-size:12pt;font-weight:900;letter-spacing:-.005em;white-space:nowrap;flex:0 0 auto}
  .job-meta{font-size:9pt;font-weight:400;color:var(--ink-2);white-space:nowrap;flex:0 0 auto}
  .job-top .lead{border-bottom:1px solid var(--line);margin-bottom:1.3mm}
  .job-dates{font-size:8.8pt;font-weight:700;letter-spacing:.09em;white-space:nowrap;flex:0 0 auto}

  .roles{margin-top:1.6mm;list-style:none}
  .roles li{display:flex;flex-wrap:nowrap;align-items:baseline;gap:2.6mm;padding:.85mm 0;font-size:9.8pt}
  .roles li .title{flex:0 1 auto;min-width:0}
  .roles li .title strong{font-weight:700}
  .roles li.current .title strong{font-weight:900}
  .roles li .yrs{flex:0 0 auto;font-size:8.6pt;color:var(--muted);letter-spacing:.045em;white-space:nowrap}

  .courses{margin-top:1.4mm;font-size:9pt;line-height:1.45;color:var(--ink-2);font-weight:300}

  /* ---- awards ---- */
  .award-row{display:flex;flex-wrap:nowrap;gap:5mm;padding:2.7mm 0;border-top:1px solid var(--line)}
  .award-row:first-of-type{border-top:none;padding-top:0}
  .brand{flex:0 0 36mm;font-size:10.2pt;font-weight:900;line-height:1.3}
  .brand span{
    display:block;font-size:7.6pt;font-weight:400;letter-spacing:.09em;
    text-transform:uppercase;color:var(--muted);margin-top:.3mm;
  }
  .prizes{flex:1 1 auto;min-width:0;list-style:none}
  .prizes li{display:flex;flex-wrap:nowrap;align-items:baseline;gap:2.4mm;font-size:9.4pt;padding:.3mm 0;line-height:1.4}
  .prizes li .p-name{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .prizes li .p-val{flex:0 0 auto;font-weight:900;font-size:8.8pt;letter-spacing:.03em;white-space:nowrap}
  .prizes li .p-val.soft{font-weight:400;color:var(--muted)}

  /* ---- bottom grid ---- */
  .grid{display:flex;flex-wrap:nowrap;gap:9mm}
  .col{flex:1 1 0;min-width:0}
  .skills-col{flex:1.15 1 0}

  .kicker{
    font-size:7.4pt;font-weight:900;letter-spacing:.2em;
    text-transform:uppercase;color:var(--muted);margin-bottom:1.5mm;
  }
  .tags + .kicker{margin-top:3.2mm}

  .tags{font-size:9.8pt;line-height:1.6}
  .tags .t{white-space:nowrap}
  .tags .sep{padding:0}
  .tags.tech .t{margin-right:.1em}
  .tags.tech{font-size:9.2pt;font-weight:300;color:var(--ink-2)}

  .edu{padding-bottom:3.6mm}
  .edu:last-child{padding-bottom:0}
  .edu .school{font-size:10pt;font-weight:700;line-height:1.3}
  .edu .det{font-size:8.8pt;color:var(--muted);margin-top:.3mm;letter-spacing:.02em}

  /* ================= DOWNLOAD BUTTON ================= */
  .dlbar{position:fixed;right:24px;bottom:24px;z-index:99;display:flex;gap:10px;align-items:center}
  .dl{
    position:static;z-index:99;
    display:inline-flex;align-items:center;gap:9px;
    padding:13px 20px;background:var(--ink);color:#FBFAF7;
    border:none;border-radius:100px;font-family:inherit;font-size:12px;
    font-weight:700;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;
    box-shadow:0 4px 22px rgba(0,0,0,.28);
    transition:transform .18s ease,box-shadow .18s ease;
  }
  .dl:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.34)}
  .dl:active{transform:translateY(0)}
  .dl svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
  .dl-ghost{background:rgba(255,255,255,.9);color:var(--ink);text-decoration:none;
    box-shadow:0 2px 14px rgba(0,0,0,.14);font-weight:400;letter-spacing:.04em;text-transform:none}
  .dl-ghost:hover{background:#fff}
  @media (max-width:820px){
    .dlbar{right:14px;bottom:14px;left:14px;justify-content:center}
    .dl{padding:12px 16px;font-size:11px}
  }

  /* ================= PRINT ================= */
  @page{size:A4;margin:0}

  @media print{
    html,body{background:#fff}
    body{padding:0}
    .sheet{width:auto;min-height:0;margin:0;padding:11mm 15mm 8mm;box-shadow:none;background:#fff}
    .dl,.dlbar{display:none}
    section,.job,.award-row,.grid,.profile{break-inside:avoid;page-break-inside:avoid}
  }

  /* ================= RESPONSIVE ================= */
  @media screen and (max-width:820px){
    body{padding:0;font-size:11px}
    .sheet{width:100%;min-height:0;padding:26px 20px 40px;box-shadow:none}
    .head{flex-direction:column;align-items:flex-start;gap:14px;padding-bottom:16px}
    .avatar{width:74px;height:74px}
    h1{font-size:29px}
    .role{font-size:12px;margin-top:7px}
    .contact{font-size:12px;margin-top:9px}
    .profile{padding:14px 0}
    .profile .lede{font-size:15px}
    .profile .tagline{font-size:11px}
    section{padding-top:18px}
    h2{font-size:10px;padding-bottom:7px;margin-bottom:12px}
    .job{padding-bottom:16px}
    .job-org{font-size:17px}
    .job-meta{display:none}
    .roles li{font-size:13px;padding:2px 0}
    .roles li .yrs{font-size:11px}
    .courses{font-size:12px}
    .award-row{flex-direction:column;gap:5px;padding:11px 0}
    .brand{flex:none;font-size:14px}
    .prizes li{font-size:13px}
    .prizes li .p-name{white-space:normal}
    .grid{flex-direction:column;gap:22px}
    .tags{font-size:13px}
    .tech-br{display:none}
    .edu .school{font-size:14px}
    .dl{right:14px;bottom:14px;padding:12px 17px;font-size:11px}
  }