/* FolioCV Regional Resume Studio v1
   One real document renderer powers city thumbnails, live editor and PDF. */

@media screen {
  body.editing .builder { grid-template-columns: 295px minmax(305px, 335px) minmax(0, 1fr); }
  body.editing .city-rail { padding: 24px 15px; }
  body.editing .city-rail h2 { font-size: 22px; }
  body.editing .city-list { display: grid; grid-template-columns: 1fr; gap: 11px; }
  body.editing .regional-option { padding: 10px; }
  body.editing .regional-option[aria-pressed="true"] { padding: 9px; }
  body.editing .regional-option .city-option__body { align-items: flex-start; gap: 12px; }
  body.editing .regional-option .city-option__info { padding-top: 2px; gap: 6px; }
  body.editing .regional-option .city-option__info strong { font-size: 12px; }
  body.editing .regional-option .city-option__info small { font-size: 10px; line-height: 1.5; }
  body.editing .market-thumb { width: 80px; height: 112px; overflow: hidden; border: 1px solid #dde6e3; background: white; box-shadow: 0 4px 14px #0c363020; }
  body.editing .market-thumb__scaled { width: 816px; height: 1156px; transform: scale(.097); transform-origin: top left; pointer-events: none; }
  body.editing .market-thumb .resume-page.regional { zoom: 1 !important; transform: none !important; box-shadow: none; }
  body.editing .preview-zone > .resume-page.regional { zoom: .81; }
  body.editing .toolbar { max-width: 794px; }
  @media (max-width: 1180px) {
    body.editing .builder { grid-template-columns: 1fr; }
    body.editing .city-rail { max-height: none; overflow: visible; }
    body.editing .city-list { display: flex; flex-wrap: nowrap; overflow-x: auto; padding: 3px 2px 12px; scroll-snap-type: x mandatory; }
    body.editing .regional-option { flex: 0 0 255px; scroll-snap-align: start; }
    body.editing .preview-zone > .resume-page.regional { zoom: .9; }
  }
  @media (max-width: 900px) {
    body.editing .preview-zone > .resume-page.regional { zoom: .78; }
  }
  @media (max-width: 600px) {
    body.editing .regional-option { flex-basis: 244px; }
    body.editing .preview-zone > .resume-page.regional { zoom: .46; }
  }
}

/* Shared print-ready document skeleton; regional selectors below specialize it. */
.resume-page.regional {
  --accent: #087d73;
  --accent-pale: #dfece8;
  --content-ink: #1e3236;
  --resume-font: Arial, sans-serif;
  background: #fff;
  width: 794px;
  min-height: 1123px;
  padding: 61px 60px;
  color: var(--content-ink);
  font: 13px/1.5 var(--resume-font);
  box-sizing: border-box;
  overflow-wrap: anywhere;
}
.resume-page.regional .market-header { margin: 0 0 28px; padding: 0 0 18px; border-bottom: 2px solid var(--accent); }
.resume-page.regional .market-header h1 { margin: 0; color: var(--content-ink); font: 800 34px/1.12 var(--resume-font); letter-spacing: -.7px; overflow-wrap: anywhere; }
.resume-page.regional .market-title { margin: 8px 0 0; font-weight: 600; color: var(--accent); font-size: 15px; }
.resume-page.regional .market-contact { display: flex; flex-wrap: wrap; gap: 3px 12px; color: #607276; font-size: 11px; margin-top: 14px; }
.resume-page.regional .market-contact span { overflow-wrap: anywhere; }
.resume-page.regional .market-content--split { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(0, .95fr); gap: 29px; }
.resume-page.regional .market-content__main, .resume-page.regional .market-content__aside { min-width: 0; }
.resume-page.regional .market-section { margin: 0 0 23px; break-inside: auto; }
.resume-page.regional .market-section h2 { color: var(--accent); font: 800 11px/1.3 var(--resume-font); text-transform: uppercase; letter-spacing: 1.1px; padding: 0 0 6px; margin: 0 0 10px; border-bottom: 1px solid var(--accent-pale); }
.resume-page.regional .market-entry { display: grid; grid-template-columns: minmax(0, 1fr) 82px; gap: 12px; margin: 0 0 13px; break-inside: avoid; }
.resume-page.regional .market-entry__body { grid-column: 1; grid-row: 1; min-width: 0; }
.resume-page.regional .market-entry__date { grid-column: 2; grid-row: 1; text-align: right; color: #758389; font-size: 10px; white-space: normal; }
.resume-page.regional .market-entry h3 { margin: 0 0 3px; font: 700 12px/1.4 var(--resume-font); }
.resume-page.regional .market-company { font-weight: 500; color: #637176; }
.resume-page.regional .market-description { margin: 3px 0 0; color: #405358; font-size: 11px; line-height: 1.65; white-space: pre-line; }
.resume-page.regional .market-skills { display: flex; flex-wrap: wrap; gap: 5px 10px; font-size: 11px; color: #405358; }
.resume-page.regional .market-skills span:not(:last-child)::after { content: ' ·'; color: var(--accent); }
.resume-page.regional .market-content__aside { border-left: 1px solid var(--accent-pale); padding-left: 18px; }
.resume-page.regional .market-content__aside .market-skills { display: grid; gap: 7px; }
.resume-page.regional .market-content__aside .market-skills span::after { display: none; }

/* 01 — Berlin: tabular chronology, graphite typography, date-left ledger. */
.resume-page.market-berlin { --accent: #293b42; --accent-pale: #cad5d5; --resume-font: Arial, sans-serif; padding-left: 70px; }
.resume-page.market-berlin .market-header { border-bottom: 3px solid #293b42; }
.resume-page.market-berlin .market-entry { grid-template-columns: 104px minmax(0,1fr); }
.resume-page.market-berlin .market-entry__date { grid-column: 1; text-align: left; font-weight: 700; color: #59676c; }
.resume-page.market-berlin .market-entry__body { grid-column: 2; border-left: 1px solid #cad5d5; padding-left: 14px; }

/* 02 — Kuala Lumpur: balanced modern profile with a teal identity rail. */
.resume-page.market-kuala-lumpur { --accent: #087d73; --accent-pale: #b8ded4; }
.resume-page.market-kuala-lumpur .market-header { border: 0; border-left: 6px solid var(--accent); padding: 6px 0 8px 22px; }
.resume-page.market-kuala-lumpur .market-title { font-weight: 500; }
.resume-page.market-kuala-lumpur .market-content__aside { background: #f4faf7; padding: 16px; border: 0; }

/* 03 — Singapore: executive navy header with a strong profile summary. */
.resume-page.market-singapore { --accent: #1d4669; --accent-pale: #b8cadd; padding: 0 0 64px; }
.resume-page.market-singapore .market-header { background: #1d4669; padding: 56px 61px 32px; border: none; margin-bottom: 31px; }
.resume-page.market-singapore .market-header h1, .resume-page.market-singapore .market-title, .resume-page.market-singapore .market-contact { color: white; }
.resume-page.market-singapore .market-content { margin: 0 61px; }
.resume-page.market-singapore .market-section h2 { border-bottom: 2px solid #1d4669; }

/* 04 — London: editorial serif, centered heading, quiet black rules. */
.resume-page.market-london { --accent: #383e43; --accent-pale: #d5d5d5; --resume-font: Georgia, serif; }
.resume-page.market-london .market-header { text-align: center; border-bottom: 1px solid #3d4448; }
.resume-page.market-london .market-header h1 { font-weight: 400; letter-spacing: .1px; }
.resume-page.market-london .market-contact { justify-content: center; }
.resume-page.market-london .market-section h2 { font-family: Arial, sans-serif; letter-spacing: 1.5px; }

/* 05 — New York: high-contrast US resume, dense measured experience. */
.resume-page.market-new-york { --accent: #111827; --accent-pale: #b8bec7; width: 816px; min-height: 1056px; padding: 50px 54px; }
.resume-page.market-new-york .market-header { text-align: center; border-bottom: 1px solid #111827; margin-bottom: 18px; }
.resume-page.market-new-york .market-header h1 { font-size: 29px; text-transform: uppercase; letter-spacing: 1px; }
.resume-page.market-new-york .market-contact { justify-content: center; margin-top: 9px; }
.resume-page.market-new-york .market-section { margin-bottom: 15px; }
.resume-page.market-new-york .market-section h2 { border-bottom: 1px solid #111827; letter-spacing: .4px; }

/* 06 — Toronto: clean blue career profile and skills panel. */
.resume-page.market-toronto { --accent: #234a74; --accent-pale: #bfd6ed; width: 816px; min-height: 1056px; }
.resume-page.market-toronto .market-header h1 { border-left: 6px solid #234a74; padding-left: 17px; }
.resume-page.market-toronto .market-content__aside { background: #f2f6fb; border: 0; padding: 18px; }
.resume-page.market-toronto .market-section h2 { border-bottom: 2px solid #bfd6ed; }

/* 07 — Sydney: spacious results-first layout with a coral side rule. */
.resume-page.market-sydney { --accent: #ba6859; --accent-pale: #f1cfc7; padding: 65px 71px; }
.resume-page.market-sydney .market-header { border-bottom: 0; padding-bottom: 8px; }
.resume-page.market-sydney .market-content { border-left: 5px solid #ba6859; padding-left: 25px; }
.resume-page.market-sydney .market-section h2 { letter-spacing: 1.7px; border: 0; }

/* 08 — Paris: warm editorial asymmetric two-column CV. */
.resume-page.market-paris { --accent: #795752; --accent-pale: #e7d8d4; --resume-font: Georgia, serif; }
.resume-page.market-paris .market-header { border-bottom: 0; border-top: 5px solid #795752; padding-top: 19px; }
.resume-page.market-paris .market-header h1 { font-size: 39px; font-weight: 400; }
.resume-page.market-paris .market-title { font-style: italic; }
.resume-page.market-paris .market-content--split { grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); }
.resume-page.market-paris .market-content__aside { border: 0; border-top: 2px solid #795752; padding: 17px 0 0; }

/* 09 — Amsterdam: asymmetry, warm terracotta, generous section rhythm. */
.resume-page.market-amsterdam { --accent: #9b5b43; --accent-pale: #e5cbbd; }
.resume-page.market-amsterdam .market-header { display: grid; grid-template-columns: 1fr 190px; gap: 20px; border-bottom: 4px solid #9b5b43; }
.resume-page.market-amsterdam .market-contact { margin-top: 0; display: grid; align-content: center; gap: 6px; }
.resume-page.market-amsterdam .market-content__aside { border-left: 3px solid #e5cbbd; }

/* 10 — Zurich: monochrome precision, grid-based dated entries. */
.resume-page.market-zurich { --accent: #101c22; --accent-pale: #9eafb0; --resume-font: Arial, sans-serif; }
.resume-page.market-zurich .market-header { border-bottom: 1px solid #101c22; }
.resume-page.market-zurich .market-header h1 { text-transform: uppercase; letter-spacing: 2px; font-size: 29px; }
.resume-page.market-zurich .market-entry { grid-template-columns: 118px minmax(0, 1fr); border-top: 1px solid #e3e7e7; padding-top: 9px; }
.resume-page.market-zurich .market-entry__date { grid-column: 1; text-align: left; }
.resume-page.market-zurich .market-entry__body { grid-column: 2; }

/* 11 — Stockholm: restrained Nordic sans, expansive whitespace. */
.resume-page.market-stockholm { --accent: #507e83; --accent-pale: #dbe9e8; padding: 78px 77px; }
.resume-page.market-stockholm .market-header { border: 0; margin-bottom: 49px; }
.resume-page.market-stockholm .market-header h1 { font-size: 40px; font-weight: 400; letter-spacing: -1.6px; }
.resume-page.market-stockholm .market-section { margin-bottom: 32px; }
.resume-page.market-stockholm .market-section h2 { border: 0; letter-spacing: 2.4px; }

/* 12 — Tokyo: English-language career history, conservative ruled rows.
   NOT a Japanese rirekisho or shokumukeirekisho. */
.resume-page.market-tokyo { --accent: #364654; --accent-pale: #cbd3da; }
.resume-page.market-tokyo .market-header { border: 1px solid #82939f; padding: 17px 18px; }
.resume-page.market-tokyo .market-section h2 { background: #ecf0f3; padding: 7px 9px; border: 1px solid #cbd3da; letter-spacing: .7px; }
.resume-page.market-tokyo .market-entry { border-bottom: 1px solid #dfe5e8; padding-bottom: 10px; }

/* 13 — Seoul: squared career-record blocks and crisp framing. */
.resume-page.market-seoul { --accent: #34645c; --accent-pale: #c0d9d2; }
.resume-page.market-seoul .market-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; border-bottom: 4px double #34645c; }
.resume-page.market-seoul .market-contact { max-width: 230px; display: grid; gap: 4px; margin: 0; }
.resume-page.market-seoul .market-section { border: 1px solid #e1e9e6; padding: 12px 15px; }
.resume-page.market-seoul .market-section h2 { background: #f1f6f3; margin: -12px -15px 10px; padding: 8px 15px; }

/* 14 — Dubai: international-executive navy & gold, strong sidebar. */
.resume-page.market-dubai { --accent: #a67b3d; --accent-pale: #efe2c7; padding: 0 0 66px; }
.resume-page.market-dubai .market-header { background: #172e41; padding: 56px 61px 32px; border-bottom: 6px solid #a67b3d; }
.resume-page.market-dubai .market-header h1, .resume-page.market-dubai .market-contact { color: #fff; }
.resume-page.market-dubai .market-title { color: #f1d39c; }
.resume-page.market-dubai .market-content { margin: 0 61px; }
.resume-page.market-dubai .market-content__aside { border-left: 2px solid #a67b3d; }

/* 15 — Hong Kong: compact corporate / finance-style document. */
.resume-page.market-hong-kong { --accent: #1e4055; --accent-pale: #bed2dc; padding: 48px 54px; }
.resume-page.market-hong-kong .market-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 18px; border-bottom: 2px solid #1e4055; }
.resume-page.market-hong-kong .market-header h1 { font-size: 28px; }
.resume-page.market-hong-kong .market-contact { display: grid; margin-top: 0; text-align: right; gap: 3px; }
.resume-page.market-hong-kong .market-section { margin-bottom: 15px; }
.resume-page.market-hong-kong .market-section h2 { margin-bottom: 6px; }
.resume-page.market-hong-kong .market-entry { margin-bottom: 8px; }

@media print {
  .city-rail, .regional-option, .market-thumb { display: none !important; }
  .resume-page.regional { width: 210mm; min-height: 297mm; padding: 16mm 17mm; box-shadow: none !important; zoom: 1 !important; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .resume-page.market-new-york, .resume-page.market-toronto { width: 216mm; min-height: 279mm; }
  .resume-page.market-singapore, .resume-page.market-dubai { padding: 0 0 16mm !important; }
  .resume-page.market-singapore .market-header, .resume-page.market-dubai .market-header { padding: 16mm 17mm 9mm; }
  .resume-page.market-singapore .market-content, .resume-page.market-dubai .market-content { margin: 0 17mm; }
}
