.template-grid .template { min-width: 0; text-align: left; padding: 9px; }
.template-grid .template-name { display: block; font-weight: 750; font-size: 12px; line-height: 1.3; margin: 8px 1px 2px; }
.template-grid .template-layout { display: block; margin: 0 1px; font-size: 10px; color: #52647a; }
.template-sheet {
  --cv-unit: 5px;
  display: block;
  height: 115px;
  overflow: hidden;
  padding: 8px;
  border: 1px solid #dce3ed;
  border-radius: 4px;
  background: white;
  pointer-events: none;
}
#livePaper { --cv-unit: 11px; }
.cv-document {
  font: var(--cv-unit)/1.5 Arial, sans-serif;
  color: #263444;
  min-width: 0;
}
.cv-document .cv-header {
  display: flex;
  flex-direction: column;
  gap: .45em;
  margin-bottom: 1em;
  padding-bottom: 1em;
  border-bottom: 2px solid var(--cv-accent);
}
.cv-document .cv-header h3 { font: 750 2.55em/1.06 Arial, sans-serif; margin: 0; letter-spacing: -.035em; color: var(--cv-accent); }
.cv-document .cv-header .job { font-size: 1.12em; color: inherit; margin: .35em 0 0; line-height: 1.3; }
.cv-document .cv-contacts { color: #485464; line-height: 1.4; overflow-wrap: anywhere; }
.cv-document small { display: block; font-size: .9em; line-height: 1.4; color: inherit; }
.cv-document .cv-section { margin: 0 0 1.05em; min-width: 0; }
.cv-document .cv-section h4 {
  margin: 0 0 .48em;
  padding: 0 0 .2em;
  border: 0;
  font-size: 1.04em;
  font-weight: 750;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--cv-accent);
}
.cv-document .cv-section p,.cv-document .cv-section li { font-size: 1em; line-height: 1.5; color: inherit; }
.cv-document .cv-section p,.cv-document ul { margin: 0; }
.cv-document ul { padding: 0 0 0 1.4em; }
.cv-document .cv-entry-row { margin: .5em 0 .2em; line-height: 1.35; }
.cv-document .cv-entry-row strong { display: block; font-size: 1.04em; }
.cv-document time { display: block; font-size: .92em; font-style: italic; color: #455161; }
.cv-document .cv-record { margin: 0 0 .8em; }
.cv-document .cv-record:last-child { margin-bottom: 0; }
.cv-document .cv-columns,.cv-document .cv-paired { display: grid; align-items: start; gap: 1.1em; }
.cv-document .cv-columns > *, .cv-document .cv-paired > * { min-width: 0; }
.cv-document .cv-paired { grid-template-columns: repeat(2,minmax(0,1fr)); }
.cv-document.layout-left .cv-columns { grid-template-columns: minmax(0,1fr) minmax(0,2fr); }
.cv-document.layout-right .cv-columns { grid-template-columns: minmax(0,2fr) minmax(0,1fr); }
.cv-document .cv-side { padding: .75em; background: color-mix(in srgb,var(--cv-accent) 7%,white); }
.cv-document .cv-side .cv-section:last-child { margin-bottom: 0; }
.cv-document.layout-timeline .cv-work .cv-record,.cv-document.layout-timeline .cv-work > .cv-entry-row {
  border-left: .17em solid var(--cv-accent);
  padding-left: .8em;
}
.cv-document.layout-boxed .cv-section { padding: .72em; border: 1px solid #d9dfe8; }
.cv-document.layout-split .cv-header { border-bottom-width: .22em; }
.cv-document.type-serif, .cv-document.type-serif .cv-header h3 { font-family: Georgia, 'Times New Roman', serif; }
.cv-document.type-compact { font-family: 'Arial Narrow', Arial, sans-serif; letter-spacing: -.012em; }
.cv-document.density-dense .cv-section { margin-bottom: .72em; }
.cv-document.density-dense .cv-section p,.cv-document.density-dense .cv-section li { line-height: 1.35; }
.cv-document.header-center .cv-header { text-align: center; align-items: center; }
.cv-document.header-split .cv-header { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(0,1fr); gap: .7em; align-items: center; }
.cv-document.header-split .cv-contacts { text-align: right; }
.cv-document.header-band .cv-header { padding: .85em; background: var(--cv-accent); color: white; }
.cv-document.header-band .cv-header h3,.cv-document.header-band .cv-contacts { color: white; }
.cv-document.header-tint .cv-header { padding: .85em; background: color-mix(in srgb,var(--cv-accent) 9%,white); }
.cv-document.header-edge .cv-header { border: 0; border-left: .32em solid var(--cv-accent); padding: .2em 0 .2em .7em; }
.cv-document.header-double .cv-header { border-top: 1px solid var(--cv-accent); padding-top: .7em; border-bottom: 3px double var(--cv-accent); }
.cv-document.heading-rule .cv-section h4 { border-bottom: 1px solid var(--cv-accent); }
.cv-document.heading-underline .cv-section h4 { text-decoration: underline; text-underline-offset: .14em; }
.cv-document.heading-double .cv-section h4 { border-bottom: 3px double var(--cv-accent); }
.cv-document.heading-quiet .cv-section h4 { text-transform: none; letter-spacing: 0; }
.cv-document.heading-bar .cv-section h4 { border-left: .28em solid var(--cv-accent); padding-left: .52em; }
.cv-document.heading-tag .cv-section h4 { background: color-mix(in srgb,var(--cv-accent) 10%,white); padding: .3em .5em; }
.cv-document.dates-right .cv-entry-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.72fr); gap: .5em; }
.cv-document.dates-right time { font-style: normal; font-weight: 750; text-align: right; color: #202730; }
.cv-document .cv-entry-row,.cv-document .cv-section h4 { break-after: avoid; }
.cv-document .cv-languages ul { list-style: none; padding: 0; }
@media screen and (max-width: 340px) {
  #livePaper { padding: 19px 16px; --cv-unit: 10.5px; }
  #livePaper .cv-columns { grid-template-columns: minmax(0,1fr); }
}
@media print {
  #livePaper { --cv-unit: 10.5pt; }
  #livePaper,.cv-document { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}

.cv-document.layout-skills .cv-skills { background: color-mix(in srgb,var(--cv-accent) 5%,white); padding: .7em; }
.cv-document.layout-academic .cv-education { border-left: .16em solid var(--cv-accent); padding-left: .75em; }
#cvPrint { display: none; }
@media print {
  @page { size: A4; margin: 0; }
  body.cv-allowance-enabled:not(.cv-printing) #livePreview { display: none !important; }
  body.cv-printing { margin: 0; padding: 0; background: white; }
  body.cv-printing > :not(#cvPrint) { display: none !important; }
  body.cv-printing > #cvPrint {
    display: block !important;
    --cv-unit: 10.5pt;
    color: #263444;
    overflow-wrap: anywhere;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  #cvPrint .print-page-frame {
    width: 100%;
    border: 0;
    border-collapse: collapse;
    table-layout: fixed;
  }
  #cvPrint .print-page-frame td { padding: 0; vertical-align: top; }
  #cvPrint .print-page-frame thead { display: table-header-group; }
  #cvPrint .print-page-frame tfoot { display: table-footer-group; }
  #cvPrint .print-space { height: 13mm; }
  #cvPrint .print-content { padding: 0 14mm; }
  #cvPrint .cv-text { white-space: pre-line; orphans: 2; widows: 2; }
  #cvPrint li { break-inside: avoid; }
  #cvPrint .cv-section:last-child { margin-bottom: 0; }
}
.cv-document .cv-identity { width: 100%; min-width: 0; }
.cv-document.header-center .cv-contacts { width: 100%; }
.cv-document .cv-header h3 { font-weight: 700; font-size: 2.55em; line-height: 1.06; }

@media print {
  #cvPrint { --cv-unit: 10pt; }
  #cvPrint .print-space { height: 10mm; }
  #cvPrint .print-content { padding-inline: 12mm; }
  #cvPrint .cv-header { margin-bottom: .75em; padding-bottom: .7em; }
  #cvPrint .cv-section { margin-bottom: .48em; }
  #cvPrint .cv-section h4 { margin-bottom: .32em; }
  #cvPrint .cv-section p, #cvPrint .cv-section li { line-height: 1.24; }
  #cvPrint .cv-record { margin-bottom: .43em; }
  #cvPrint .cv-columns, #cvPrint .cv-paired,
  #cvPrint .cv-record, #cvPrint .cv-languages,
  #cvPrint .cv-skills, #cvPrint .cv-education { break-inside: avoid; }
}
@media print {
  #cvPrint .cv-header h3 { font-size: 2.25em; }
  #cvPrint .cv-entry-row { margin-block: .35em .12em; }
  #cvPrint .cv-languages li { display: inline; }
  #cvPrint .cv-languages li + li::before { content: " · "; }
}
@media print {
  #cvPrint .cv-document:not(.dates-right) .cv-entry-row small,
  #cvPrint .cv-document:not(.dates-right) .cv-entry-row time { display: inline; }
  #cvPrint .cv-document:not(.dates-right) .cv-entry-row small + time::before { content: " · "; }
}
@media print {
  #cvPrint .cv-document.layout-boxed .cv-section { padding: .13em .65em; }
}
@media print {
  #cvPrint .cv-document.layout-boxed.header-band .cv-header { padding: .55em .85em; }
  #cvPrint .cv-document.layout-boxed.heading-tag .cv-section h4 { padding-block: .1em; }
}

#coverModal .modal { max-width: 660px; }
#coverStatus { font-size: 13px; color: #41556b; }
#coverStatus:empty { display: none; }
#coverModal .cover-download:not(.hidden) {
  display: inline-block; border-radius: 9px; padding: 10px 14px;
  background: #20394f; color: white; font-weight: 700; text-decoration: none;
}
.cover-template-picker {
  display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 14px;
  padding: 0; border: 0;
}
.cover-template-picker legend { margin-bottom: 7px; font-size: 13px; font-weight: 700; color: #41556b; }
.cover-template-picker label {
  display: inline-flex; align-items: center; gap: 6px; min-height: 42px;
  padding: 6px 10px; border: 1px solid #d7e0ef; border-radius: 8px; cursor: pointer;
}
.cover-template-picker input { margin: 0; accent-color: #20394f; }
.site-logo { text-decoration: none; white-space: nowrap; }
header nav { gap: 12px; }
header nav a { color: #33415e; font-weight: 650; text-decoration: none; white-space: nowrap; }
.drawer.open { gap: 2px; }
.drawer a, .drawer button { min-height: 44px; padding: 10px 8px; color: #10244b; text-decoration: none; font-weight: 700; }
.hamb { min-width: 44px; min-height: 44px; color: #285de5; }
header :focus-visible,.footer :focus-visible,.legal :focus-visible { outline: 2px solid #567bd7; outline-offset: 3px; }
#templates,#pricing { scroll-margin-top: 92px; }
.legal h2 { font-size: 21px; letter-spacing: -.02em; margin: 26px 0 6px; }
.legal li { margin: 7px 0; line-height: 1.6; }
.footer a { line-height: 1.5; padding: 4px 0; }
@media (max-width: 900px) {
  header nav { display: none; }
  .hamb { display: inline-block; }
}
@media (min-width: 901px) {
  .drawer.open { display: none; }
}
#cvNameError { margin: 4px 0 0; color: #a1261d; font-size: 13px; }
#fullName[aria-invalid="true"] { border-color: #a1261d; }
#visitorGate { width: min(460px, calc(100% - 32px)); max-height: calc(100dvh - 32px); color: var(--ink); border: 1px solid var(--line); border-radius: 16px; padding: 24px; }
#visitorGate::backdrop { background: #10244b99; }
#visitorGate h2 { margin: 0 35px 10px 0; font-size: 26px; }
#visitorGate p { font-size: 14px; }
#visitorGate .field { margin-top: 12px; }
#visitorGate select { width: 100%; }
#visitorGate button[type="submit"] { width: 100%; }
#visitorStatus:empty { display: none; }
