.elementor-25720 .elementor-element.elementor-element-3a72e5d{--display:flex;--padding-top:100px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-d9376a0 */:root{
    --ink:#1C085D;
    --ink-soft:#4A3D7A;
    --paper:#FAFAF9;
    --paper-line:#E3E0EA;
    --panel:#FFFFFF;
    --brass:#D4AF37;
    --brass-soft:#F3E9C8;
    --green:#2F6F4F;
    --green-soft:#E3EEE7;
    --rust:#A6432F;
    --rust-soft:#F3E2DD;
    --mono: 'IBM Plex Mono', 'Courier New', monospace;
    --serif: 'Source Serif 4', Georgia, 'Times New Roman', serif;
    --sans: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --radius: 3px;
  }
  *{box-sizing:border-box;}
  body{
    margin:0; padding:0; background:var(--paper); color:var(--ink);
    font-family:var(--sans); line-height:1.5; -webkit-font-smoothing:antialiased;
  }
  .tfa-app{
    max-width:1180px; margin:0 auto; padding:28px 20px 80px;
  }
  .tfa-header{
    display:flex; align-items:baseline; justify-content:space-between; gap:16px;
    border-bottom:2px solid var(--ink); padding-bottom:16px; margin-bottom:28px; flex-wrap:wrap;
  }
  .tfa-brand{display:flex; align-items:baseline; gap:10px;}
  .tfa-brand .mark{
    font-family:var(--mono); font-size:12px; letter-spacing:.12em; color:var(--brass);
    border:1px solid var(--brass); padding:3px 7px; border-radius:var(--radius);
  }
  .tfa-brand h1{font-family:var(--serif); font-weight:600; font-size:22px; margin:0;}
  .tfa-brand span.sub{font-family:var(--mono); font-size:11px; color:var(--ink-soft); letter-spacing:.05em;}
  .tfa-ledgerline{font-family:var(--mono); font-size:12px; color:var(--ink-soft);}
  .tfa-banner{
    background:var(--ink); color:#fff; padding:13px 22px; margin:0 0 24px;
    font-family:var(--sans); font-size:15px; font-weight:600; letter-spacing:.03em;
    border-radius:var(--radius); border-left:5px solid var(--brass); text-align:left;
  }

  /* Stepper */
  .steps{display:flex; gap:0; margin-bottom:28px; border:1px solid var(--paper-line); border-radius:var(--radius); overflow:hidden;}
  .step-tab{
    flex:1; padding:12px 14px; background:var(--panel); border-right:1px solid var(--paper-line);
    font-family:var(--mono); font-size:12.5px; color:var(--ink-soft); cursor:pointer; user-select:none;
    display:flex; align-items:center; gap:8px; transition:background .15s ease;
  }
  .step-tab:last-child{border-right:none;}
  .step-tab .num{
    width:20px; height:20px; border-radius:50%; border:1px solid var(--ink-soft);
    display:flex; align-items:center; justify-content:center; font-size:11px; flex-shrink:0;
  }
  .step-tab.active{background:var(--ink); color:#fff;}
  .step-tab.active .num{border-color:#fff;}
  .step-tab.done .num{background:var(--green); border-color:var(--green); color:#fff;}
  .step-tab.disabled{opacity:.45; cursor:not-allowed;}

  .panel{
    background:var(--panel); border:1px solid var(--paper-line); border-radius:var(--radius);
    padding:28px; display:none;
  }
  .panel.active{display:block;}
  .panel h2{font-family:var(--serif); font-size:20px; margin:0 0 6px;}
  .panel .hint{color:var(--ink-soft); font-size:13.5px; margin:0 0 22px;}

  /* Upload */
  .dropzone{
    border:2px dashed var(--paper-line); border-radius:var(--radius); padding:40px 20px;
    text-align:center; cursor:pointer; transition:border-color .15s ease, background .15s ease;
  }
  .dropzone.drag{border-color:var(--brass); background:var(--brass-soft);}
  .dropzone .icon{font-family:var(--mono); font-size:28px; color:var(--brass); margin-bottom:10px;}
  .dropzone strong{display:block; font-size:15px; margin-bottom:4px;}
  .dropzone .filetypes{font-family:var(--mono); font-size:11.5px; color:var(--ink-soft); margin-top:8px;}
  input[type=file]{display:none;}

  .or-divider{display:flex; align-items:center; gap:12px; margin:22px 0; color:var(--ink-soft); font-family:var(--mono); font-size:11px;}
  .or-divider::before, .or-divider::after{content:""; flex:1; height:1px; background:var(--paper-line);}

  textarea, input[type=text], input[type=email]{
    width:100%; font-family:var(--sans); font-size:13.5px; padding:10px 12px;
    border:1px solid var(--paper-line); border-radius:var(--radius); background:#fff; color:var(--ink);
    resize:vertical;
  }
  textarea:focus, input:focus{outline:2px solid var(--brass); outline-offset:1px;}
  label.field-label{
    display:block; font-family:var(--mono); font-size:11px; letter-spacing:.05em; text-transform:uppercase;
    color:var(--ink-soft); margin:18px 0 6px;
  }
  label.field-label:first-child{margin-top:0;}

  #uploadStatus{margin-top:14px; font-family:var(--mono); font-size:12.5px;}
  #uploadStatus.ok{color:var(--green);}
  #uploadStatus.err{color:var(--rust);}

  /* Function cards */
  .func-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); gap:14px;}
  .func-card{
    border:1px solid var(--paper-line); border-radius:var(--radius); padding:18px; cursor:pointer;
    transition:border-color .15s ease, box-shadow .15s ease;
  }
  .func-card:hover{border-color:var(--brass);}
  .func-card.selected{border-color:var(--ink); box-shadow:0 0 0 1px var(--ink); background:#F5F4F0;}
  .func-card .eyebrow{font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; color:var(--brass); text-transform:uppercase;}
  .func-card h3{font-family:var(--serif); font-size:16.5px; margin:6px 0 8px;}
  .func-card p{font-size:12.5px; color:var(--ink-soft); margin:0;}

  /* Buttons */
  .btn{
    font-family:var(--sans); font-weight:600; font-size:13.5px; padding:11px 20px;
    border-radius:var(--radius); border:1px solid var(--ink); background:var(--ink); color:#fff;
    cursor:pointer; transition:opacity .15s ease;
  }
  .btn:hover{opacity:.85;}
  .btn.secondary{background:transparent; color:var(--ink);}
  .btn.brass{background:var(--brass); border-color:var(--brass);}
  .btn:disabled{opacity:.35; cursor:not-allowed;}
  .actions{display:flex; justify-content:space-between; margin-top:28px; gap:12px;}

  /* Review section blocks */
  .section-block{border:1px solid var(--paper-line); border-radius:var(--radius); padding:16px; margin-bottom:14px;}
  .section-block h4{font-family:var(--mono); font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); margin:0 0 10px;}
  .grid-2{display:grid; grid-template-columns:1fr 1fr; gap:12px;}

  /* Ledger score */
  .ledger-wrap{display:grid; grid-template-columns:260px 1fr; gap:24px; align-items:start;}
  @media(max-width:760px){.ledger-wrap{grid-template-columns:1fr;}}
  .score-stamp{
    border:1px solid var(--ink); border-radius:var(--radius); padding:22px; text-align:center; position:relative;
  }
  .score-stamp .num{font-family:var(--serif); font-size:52px; font-weight:600; line-height:1;}
  .score-stamp .of{font-family:var(--mono); font-size:12px; color:var(--ink-soft);}
  .score-stamp .seal{
    width:34px; height:34px; border-radius:50%; border:2px solid var(--brass); color:var(--brass);
    display:flex; align-items:center; justify-content:center; margin:14px auto 0; font-size:15px;
  }
  .ledger-lines{border:1px solid var(--paper-line); border-radius:var(--radius); overflow:hidden;}
  .ledger-row{
    display:flex; justify-content:space-between; padding:9px 14px; font-family:var(--mono); font-size:12.5px;
    border-bottom:1px solid var(--paper-line);
  }
  .ledger-row:last-child{border-bottom:none;}
  .ledger-row.plus{color:var(--green);}
  .ledger-row.minus{color:var(--rust);}

  .kw-chip{
    display:inline-flex; align-items:center; gap:6px; border:1px solid var(--paper-line); border-radius:20px;
    padding:6px 12px; font-size:12.5px; margin:0 8px 8px 0; cursor:pointer; background:#fff;
  }
  .kw-chip input{margin:0;}
  .kw-chip.added{border-color:var(--green); background:var(--green-soft);}

  /* Templates */
  .tpl-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px; margin-bottom:24px;}
  .tpl-card{border:1px solid var(--paper-line); border-radius:var(--radius); padding:14px; cursor:pointer;}
  .tpl-card.selected{border-color:var(--ink); box-shadow:0 0 0 1px var(--ink);}
  .tpl-card .swatch{height:70px; border-radius:2px; margin-bottom:10px;}
  .tpl-card h5{font-family:var(--serif); font-size:14px; margin:0 0 4px;}
  .tpl-card p{font-size:11.5px; color:var(--ink-soft); margin:0;}

  /* Preview / final CV */
  #previewWrap{border:1px solid var(--paper-line); border-radius:var(--radius); padding:0; background:#525659;}
  #cvPreview{
    background:#fff; max-width:800px; margin:0 auto; padding:56px 60px; min-height:400px;
    font-family:'Source Serif 4', Georgia, serif; color:#1F2328; overflow:hidden;
  }
  #cvPreview .cv-header{margin:0 0 24px;}
  #cvPreview h1.cvname{
    font-family:var(--serif); font-size:30px; font-weight:600; margin:0 0 3px; letter-spacing:.01em; color:#1a1a1a;
  }
  #cvPreview .cvtitle{
    font-family:var(--sans); font-size:12.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
    color:var(--brass); margin-bottom:10px;
  }
  #cvPreview .cvcontact{font-family:var(--sans); font-size:11.5px; color:#5A5F66; letter-spacing:.01em;}
  #cvPreview h2.cvsec{
    font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
    border-bottom:1.5px solid #1a1a1a; padding:0 0 5px 15px; margin:26px 0 12px; color:#1a1a1a; position:relative;
  }
  #cvPreview h2.cvsec::before{
    content:""; position:absolute; left:0; top:3px; width:7px; height:7px; background:var(--brass);
  }
  #cvPreview .cv-para{font-family:var(--sans); font-size:12.8px; line-height:1.65; color:#2A2E33;}
  #cvPreview .cv-line-strong{
    font-family:var(--sans); font-size:13px; font-weight:700; color:#1a1a1a; margin:14px 0 4px;
  }
  #cvPreview .cv-line-strong:first-child{margin-top:0;}
  #cvPreview ul.cv-bullets{margin:0 0 6px; padding-left:18px;}
  #cvPreview ul.cv-bullets li{
    font-family:var(--sans); font-size:12.5px; line-height:1.6; color:#2A2E33; margin-bottom:4px; padding-left:2px;
  }
  #cvPreview ul.cv-bullets li::marker{color:var(--brass);}
  #cvPreview .cv-skills-row{display:flex; flex-wrap:wrap; gap:8px;}
  #cvPreview .cv-skill-pill{
    font-family:var(--sans); font-size:11.5px; color:#1a1a1a; background:#F2F1EC; border:1px solid #E3E0EA;
    border-radius:3px; padding:4px 10px;
  }

  /* Classic Ledger — restrained, maximum-ATS-safety, a fine double rule under the name */
  #cvPreview.tpl-classic .cv-header{border-bottom:2.5px solid #1a1a1a; padding-bottom:18px;}

  /* Modern Brass — a genuine identity: full-bleed navy header band, gold signature accents */
  #cvPreview.tpl-modern{padding-top:0;}
  #cvPreview.tpl-modern .cv-header{
    background:var(--ink); color:#fff;
    margin:0 -60px 28px; padding:40px 60px 30px;
  }
  #cvPreview.tpl-modern h1.cvname{color:#fff;}
  #cvPreview.tpl-modern .cvtitle{color:var(--brass);}
  #cvPreview.tpl-modern .cvcontact{color:#D6D2E6;}
  #cvPreview.tpl-modern h2.cvsec{color:var(--ink); border-bottom-color:var(--brass); border-bottom-width:2px;}
  #cvPreview.tpl-modern .cv-skill-pill{background:var(--brass-soft); border-color:var(--brass);}

  /* Executive Profile — two-column layout */
  #cvPreview.tpl-executive{padding:0; overflow:visible;}
  .exec-layout{display:flex; min-height:100%;}
  .exec-sidebar{width:34%; background:var(--ink); color:#fff; padding:40px 26px; box-sizing:border-box;}
  .exec-main{width:66%; padding:40px 40px; box-sizing:border-box;}
  .exec-photo img{width:104px; height:104px; border-radius:50%; object-fit:cover; border:3px solid var(--brass); margin-bottom:16px;}
  .exec-name{font-family:var(--serif); font-size:21px; font-weight:700; color:#fff; margin:0 0 4px; line-height:1.25;}
  .exec-title{font-family:var(--sans); font-size:10.5px; color:var(--brass); text-transform:uppercase; letter-spacing:.08em; margin-bottom:22px;}
  .exec-section{margin-bottom:22px;}
  .exec-label{font-family:var(--sans); font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--brass); margin-bottom:8px; border-bottom:1px solid rgba(255,255,255,.25); padding-bottom:4px;}
  .exec-contact-line{font-family:var(--sans); font-size:11px; color:#E5E1F0; margin-bottom:6px; word-break:break-word;}
  .exec-tags{display:flex; flex-wrap:wrap; gap:6px;}
  .exec-tag{font-family:var(--sans); font-size:10.5px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); color:#fff; padding:3px 8px; border-radius:3px;}
  .exec-cert-line{font-family:var(--sans); font-size:11px; color:#E5E1F0; margin-bottom:5px;}
  .exec-cert-badge{display:flex; gap:10px; align-items:flex-start; margin-bottom:12px;}
  .badge-seal{
    flex-shrink:0; width:30px; height:30px; border-radius:50%; border:1.5px solid var(--brass);
    color:var(--brass); font-family:var(--mono); font-size:8px; font-weight:700;
    display:flex; align-items:center; justify-content:center; text-align:center; line-height:1;
    background:rgba(212,175,55,0.08);
  }
  .badge-text{min-width:0;}
  .badge-name{font-family:var(--sans); font-size:11.5px; font-weight:700; color:#fff; margin-bottom:2px;}
  .badge-detail{font-family:var(--sans); font-size:10px; color:#C9C5DC; line-height:1.4;}
  .exec-sec{font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; border-bottom:1.5px solid var(--brass); padding-bottom:5px; margin:0 0 12px; color:#1a1a1a;}
  .exec-main .cv-para{font-family:var(--sans); font-size:12.5px; line-height:1.6; margin-bottom:6px;}
  .exec-main .cv-line-strong{font-family:var(--sans); font-size:13px; font-weight:700; margin:14px 0 4px; page-break-after:avoid;}
  .exec-main ul.cv-bullets{margin:0 0 6px; padding-left:18px;}
  .exec-main ul.cv-bullets li{font-family:var(--sans); font-size:12px; line-height:1.6; margin-bottom:4px; page-break-inside:avoid;}

  /* Intro/lead-in prose (e.g. "...equipped him with expertise in:") reads as
     quiet connective text, not as a bold job title. */
  .cv-intro-line{
    font-family:var(--sans); font-style:italic; font-size:12px; color:#5A5F66;
    line-height:1.6; margin:0 0 14px;
  }

  /* Experience timeline — the date rail is its own visual lane instead of
     stacking as more bold text next to the role. */
  .exec-timeline{margin-top:2px;}
  .exec-tl-entry{display:grid; grid-template-columns:66px 16px 1fr; column-gap:6px; margin-bottom:4px;}
  .exec-tl-date{
    font-family:var(--mono); font-size:10px; color:var(--ink-soft); text-align:right;
    padding-top:2px; line-height:1.3;
  }
  .exec-tl-connector{display:flex; flex-direction:column; align-items:center;}
  .exec-tl-dot{width:8px; height:8px; border-radius:50%; background:var(--brass); margin-top:4px; flex-shrink:0;}
  .exec-tl-line{flex:1; width:2px; background:var(--brass-soft); margin-top:2px; min-height:12px;}
  .exec-tl-entry.is-last .exec-tl-line{background:transparent;}
  .exec-tl-content{padding-bottom:14px;}
  .exec-tl-role{font-family:var(--sans); font-size:13px; font-weight:700; color:#1a1a1a; margin-bottom:4px;}
  .exec-tl-content ul.cv-bullets{margin:0; padding-left:16px;}
  ul.cv-bullets.exec-preamble-bullets{padding-left:16px; margin:0 0 16px;}
  ul.cv-bullets.exec-preamble-bullets li{font-family:var(--sans); font-size:12px; color:#2A2E33; line-height:1.6; margin-bottom:4px;}

  /* Reduce awkward mid-entry page breaks when printing any template */
  .cv-line-strong{page-break-after:avoid;}
  ul.cv-bullets li{page-break-inside:avoid;}

  .final-actions{display:flex; gap:12px; padding:16px; flex-wrap:wrap; justify-content:center; background:#3d4144;}

  footer.tfa-foot{margin-top:40px; font-family:var(--mono); font-size:11px; color:var(--ink-soft); text-align:center;}
  .sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}/* End custom CSS */