/* ShikZya proposal — a printable A4 document that also reads well on screen.
   Print rule (learned the hard way): @page names an ORIENTATION only, never a paper size —
   a named size on a printer with different paper makes Chrome print the URL and date.
   Every page's content is sized to fit Letter height too, so it prints cleanly on either paper. */

:root {
  --blue: #135FD1; --blue-d: #0E4CAA; --blue-dd: #0A2E6E; --blue-l: #EAF1FC; --blue-ll: #F4F8FE;
  --orange: #F76C0E; --orange-d: #B94A05; --orange-l: #FFF0E5;
  --green: #11875A; --green-l: #E6F6EE; --purple: #7C3AED; --purple-l: #F1EAFE;
  --red: #D0263F; --red-l: #FDECEF; --teal: #0E7C8C; --teal-l: #E3F6F8;
  --ink: #0B1733; --text: #33405A; --muted: #5F6B83; --line: #E1E7F0; --soft: #F5F7FB; --navy: #0A1A3A;
}
* { box-sizing: border-box; }
html { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
body { margin: 0; font-family: "Plus Jakarta Sans", "Mukta", system-ui, "Segoe UI", sans-serif; color: var(--text); background: #E6EAF1; font-size: 9.6pt; line-height: 1.55; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
h1, h2, h3, h4 { color: var(--ink); margin: 0; line-height: 1.15; letter-spacing: -.02em; }
p { margin: 0 0 2.4mm; }
ul { margin: 0; padding: 0; list-style: none; }
b, strong { color: var(--ink); }

/* ───────── Screen viewer ───────── */
.bar {
  position: sticky; top: 0; z-index: 10; display: flex; align-items: center; gap: 12px; padding: 10px 18px;
  background: rgba(255, 255, 255, .94); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); font-size: 14px;
}
.bar .bar-brand { display: flex; align-items: center; gap: 8px; font-weight: 800; color: var(--ink); text-decoration: none; }
.bar .bar-brand img { width: 34px; }
.bar .bar-brand span { color: var(--muted); font-weight: 600; }
.bar .bar-tip { color: var(--muted); font-size: 12.5px; margin-left: 8px; }
.bar .bar-actions { margin-left: auto; display: flex; gap: 8px; }
.bbtn { display: inline-flex; align-items: center; gap: 7px; border-radius: 999px; padding: 9px 16px; font: inherit; font-weight: 700; font-size: 13.5px; cursor: pointer; text-decoration: none; border: 1.5px solid var(--line); background: #fff; color: var(--ink); }
.bbtn:hover { border-color: var(--blue); color: var(--blue); }
.bbtn.primary { background: var(--blue); border-color: var(--blue); color: #fff; }
.bbtn.primary:hover { background: var(--blue-d); color: #fff; }
@media (max-width: 760px) { .bar .bar-tip, .bar .bar-brand span { display: none; } .bbtn { padding: 8px 12px; } .bbtn .t { display: none; } }
.doc { display: flex; flex-direction: column; align-items: center; gap: 22px; padding: 26px 12px 60px; }

/* ───────── The page ───────── */
.page {
  width: 210mm; height: 297mm; background: #fff; position: relative; overflow: hidden;
  display: flex; flex-direction: column; padding: 12mm 15mm 10mm; box-shadow: 0 10px 40px -12px rgba(10, 30, 70, .28);
  break-after: page; page-break-after: always;
}
.page:last-child { break-after: auto; page-break-after: auto; }
.ph { display: flex; align-items: center; justify-content: space-between; padding-bottom: 3.2mm; border-bottom: .3mm solid var(--line); margin-bottom: 6mm; flex-shrink: 0; }
.ph-brand { display: flex; align-items: center; gap: 2mm; font-weight: 800; font-size: 9pt; color: var(--ink); }
.ph-brand img { width: 8mm; }
.ph-brand .wm { font-family: "Fredoka", sans-serif; font-weight: 600; font-size: 12pt; }
.ph-brand small { color: var(--muted); font-weight: 600; font-size: 8pt; margin-left: 1mm; }
.ph-sec { font-size: 7.5pt; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--orange-d); }
.pb { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.pf { flex-shrink: 0; display: flex; justify-content: space-between; align-items: center; padding-top: 3mm; margin-top: 4mm; border-top: .3mm solid var(--line); font-size: 7.5pt; color: var(--muted); }
.pf b { color: var(--ink); font-weight: 700; }
.pf .pn { font-weight: 800; color: var(--ink); letter-spacing: .04em; }
.wm .s, .s { color: var(--blue); } .wm .z, .z { color: var(--orange); }

/* ───────── Type & shared bits ───────── */
.eyebrow { display: inline-flex; align-items: center; gap: 2mm; font-size: 7.5pt; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--orange-d); margin-bottom: 2.5mm; }
.eyebrow::before { content: ""; width: 6mm; height: .8mm; border-radius: 1mm; background: var(--orange); }
.title { font-size: 21pt; font-weight: 800; letter-spacing: -.03em; margin-bottom: 2.5mm; }
.title .hl { color: var(--blue); }
.lead { font-size: 10.5pt; color: var(--text); margin-bottom: 5mm; max-width: 165mm; }
.ico { width: 8.5mm; height: 8.5mm; border-radius: 2.4mm; display: grid; place-items: center; flex-shrink: 0; font-size: 10pt; background: var(--blue-l); color: var(--blue); }
.ico.sm { width: 7mm; height: 7mm; border-radius: 2mm; font-size: 8.5pt; }
.ico.lg { width: 11mm; height: 11mm; border-radius: 3mm; font-size: 13pt; }
.ico.b { background: var(--blue-l); color: var(--blue); } .ico.o { background: var(--orange-l); color: var(--orange-d); }
.ico.g { background: var(--green-l); color: var(--green); } .ico.p { background: var(--purple-l); color: var(--purple); }
.ico.r { background: var(--red-l); color: var(--red); } .ico.t { background: var(--teal-l); color: var(--teal); }
.pill { display: inline-block; font-size: 6.8pt; font-weight: 800; letter-spacing: .04em; border-radius: 99px; padding: .6mm 2.2mm; background: var(--blue-l); color: var(--blue-d); white-space: nowrap; }
.pill.all { background: var(--green-l); color: var(--green); } .pill.add { background: var(--orange-l); color: var(--orange-d); }
.ticks li { position: relative; padding-left: 5mm; margin-bottom: 1.3mm; }
.ticks li::before { content: "\f00c"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 0; top: .2mm; font-size: 6.8pt; color: var(--green); }
.box { border: .3mm solid var(--line); border-radius: 3.5mm; padding: 4.5mm; background: #fff; }
.box.soft { background: var(--soft); }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm; }
.grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3.5mm; }
.grid4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3.5mm; }
.mt { margin-top: 5mm; } .mt-s { margin-top: 3mm; } .grow { flex: 1; }
.h3 { font-size: 11.5pt; font-weight: 800; margin-bottom: 2mm; display: flex; align-items: center; gap: 2.5mm; }
.small { font-size: 8.4pt; }
.muted { color: var(--muted); }

/* ───────── Cover ───────── */
.cover { padding: 0; }
.cv-top-area {
  position: relative; padding: 14mm 16mm 0; flex: 1; display: flex; flex-direction: column; isolation: isolate;
  background: linear-gradient(180deg, #EEF4FF 0%, #fff 78%);
}
.cv-top-area::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background-image: linear-gradient(rgba(19, 95, 209, .07) .25mm, transparent .25mm), linear-gradient(90deg, rgba(19, 95, 209, .07) .25mm, transparent .25mm);
  background-size: 10mm 10mm; -webkit-mask-image: linear-gradient(180deg, #000 20%, transparent 80%); mask-image: linear-gradient(180deg, #000 20%, transparent 80%);
}
.cv-head { display: flex; justify-content: space-between; align-items: center; }
.cv-brand { display: flex; align-items: center; gap: 3mm; }
.cv-brand img { width: 19mm; }
.cv-brand .wm { font-family: "Fredoka", sans-serif; font-weight: 600; font-size: 25pt; line-height: 1; }
.cv-brand small { display: block; font-size: 6.6pt; font-weight: 800; letter-spacing: .22em; color: var(--blue-d); margin-top: 1mm; }
.cv-tag { font-size: 7.5pt; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--orange-d); border: .3mm solid #F7C9A6; background: #fff; border-radius: 99px; padding: 1.6mm 4mm; }
.cv-main { margin-top: 20mm; }
.cv-main h1 { font-size: 40pt; font-weight: 800; letter-spacing: -.04em; line-height: 1.02; }
.cv-main h1 span { color: var(--blue); position: relative; z-index: 0; }
.cv-main h1 span::after { content: ""; position: absolute; left: 0; right: 0; bottom: 1mm; height: 2.2mm; border-radius: 2mm; background: linear-gradient(90deg, var(--orange), #FFB070); z-index: -1; }
.cv-main .cv-lead { font-size: 12pt; line-height: 1.5; color: var(--text); max-width: 150mm; margin-top: 6mm; }
.cv-chips { display: flex; flex-wrap: wrap; gap: 1.8mm; margin-top: 7mm; }
.cv-chips span { display: inline-flex; align-items: center; gap: 1.8mm; background: #fff; border: .3mm solid var(--line); border-radius: 99px; padding: 1.4mm 3.4mm 1.4mm 2.4mm; font-size: 8.4pt; font-weight: 700; color: var(--ink); box-shadow: 0 1mm 3mm -1.5mm rgba(11, 23, 51, .18); }
.cv-chips i { color: var(--blue); font-size: 8pt; }
.cv-chips span:nth-child(even) i { color: var(--orange); }
.cv-photo { margin-top: auto; position: relative; }
.cv-photo img { width: 100%; height: 86mm; object-fit: cover; object-position: center 40%; border-radius: 5mm 5mm 0 0; }
.cv-photo .badge { position: absolute; left: 6mm; top: -6mm; background: #fff; border-radius: 3mm; box-shadow: 0 6mm 14mm -6mm rgba(10, 46, 110, .45); padding: 2.6mm 4mm 2.6mm 2.6mm; display: flex; align-items: center; gap: 2.5mm; font-size: 8pt; }
.cv-photo .badge b { display: block; font-size: 8.6pt; }
.cv-photo .badge span { color: var(--muted); }
.cv-bottom { background: var(--navy); color: #C3CEE6; padding: 8mm 16mm 9mm; display: grid; grid-template-columns: 1.5fr 1.1fr .8fr; gap: 6mm; }
.cv-bottom small { display: block; font-size: 6.8pt; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #FFB070; margin-bottom: 1.6mm; }
.cv-bottom b { display: block; color: #fff; font-size: 10.5pt; }
.cv-bottom span { font-size: 8.4pt; }
.fill { min-height: 8mm; border-bottom: .35mm dashed rgba(255, 255, 255, .45); color: #fff; font-weight: 700; font-size: 12pt; outline: none; padding-bottom: 1mm; }
.fill:empty::before { content: attr(data-placeholder); color: rgba(255, 255, 255, .35); font-weight: 500; font-size: 9pt; }
@media print { .fill:empty::before { content: ""; } }
.cv-strip { background: #081330; color: #93A3C4; display: flex; justify-content: space-between; padding: 3.2mm 16mm; font-size: 7.6pt; }
.cv-strip i { color: #FFB070; margin-right: 1.4mm; }

/* ───────── Letter & contents ───────── */
.letter { font-size: 10.2pt; line-height: 1.62; }
.letter p { margin-bottom: 3mm; }
.letter .sign { margin-top: 5mm; }
.letter .sign b { display: block; font-size: 10.5pt; }
.toc { background: var(--soft); border-radius: 4mm; padding: 6mm; margin-top: auto; }
.toc h3 { font-size: 11pt; margin-bottom: 3mm; }
.toc ol { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 8mm; }
.toc li { display: flex; gap: 3mm; align-items: baseline; padding: 1.3mm 0; border-bottom: .25mm dotted #C9D3E3; break-inside: avoid; font-size: 9pt; }
.toc li span { font-weight: 800; color: var(--blue); min-width: 6mm; }
.toc li em { margin-left: auto; font-style: normal; color: var(--muted); font-weight: 700; }

/* ───────── At a glance ───────── */
.stats { display: grid; grid-template-columns: repeat(5, 1fr); gap: 3mm; margin-bottom: 5mm; }
.stat { border: .3mm solid var(--line); border-radius: 3.5mm; padding: 3.5mm 2mm; text-align: center; }
.stat b { display: block; font-size: 20pt; font-weight: 800; color: var(--blue); letter-spacing: -.03em; line-height: 1.1; }
.stat:nth-child(even) b { color: var(--orange); }
.stat span { font-size: 7.8pt; font-weight: 600; }
.compare { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm; }
.cmp { border-radius: 3.5mm; padding: 4.5mm; }
.cmp h3 { font-size: 10.5pt; margin-bottom: 2.6mm; display: flex; gap: 2mm; align-items: center; }
.cmp li { position: relative; padding-left: 5.5mm; margin-bottom: 1.6mm; font-size: 8.8pt; }
.cmp li::before { font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 0; top: .1mm; font-size: 7pt; }
.cmp.before { border: .3mm dashed #C7D1E1; color: var(--muted); }
.cmp.before h3 { color: var(--muted); }
.cmp.before li::before { content: "\f00d"; color: #A3AEC2; }
.cmp.after { background: linear-gradient(160deg, var(--blue), var(--blue-dd)); color: #E3ECFC; }
.cmp.after h3 { color: #fff; }
.cmp.after li::before { content: "\f00c"; color: #FFB070; }
.outcome { display: flex; gap: 3mm; align-items: flex-start; }
.outcome b { display: block; font-size: 9.6pt; margin-bottom: .6mm; }
.outcome p { margin: 0; font-size: 8.5pt; }

/* ───────── Who it's for ───────── */
.journey { display: grid; grid-template-columns: repeat(5, 1fr); position: relative; margin: 2mm 0 6mm; }
.journey::before { content: ""; position: absolute; left: 10%; right: 10%; top: 6.5mm; height: .8mm; background: linear-gradient(90deg, var(--blue), var(--orange)); border-radius: 1mm; }
.jstep { text-align: center; position: relative; padding: 0 1.5mm; }
.jstep .ico { margin: 0 auto 2.4mm; width: 13mm; height: 13mm; border-radius: 50%; background: #fff; border: .7mm solid var(--blue); font-size: 12pt; }
.jstep:nth-child(n+4) .ico { border-color: var(--orange); color: var(--orange-d); }
.jstep b { display: block; font-size: 9pt; }
.jstep span { font-size: 7.8pt; color: var(--muted); }
.itype { display: flex; gap: 3mm; }
.itype b { display: block; font-size: 9.6pt; margin-bottom: .6mm; }
.itype p { margin: 0; font-size: 8.5pt; }
.aud { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm; }
.aud .box h4 { font-size: 10pt; display: flex; align-items: center; gap: 2.5mm; margin-bottom: 2mm; }

/* ───────── Portals ───────── */
.pcard { border: .3mm solid var(--line); border-radius: 3.5mm; padding: 3.6mm; display: flex; flex-direction: column; }
.pcard-h { display: flex; gap: 2.6mm; align-items: center; margin-bottom: 2mm; }
.pcard-h b { display: block; font-size: 9.8pt; line-height: 1.2; }
.pcard-h small { display: block; font-size: 7.2pt; color: var(--orange-d); font-weight: 700; }
.pcard p { font-size: 8pt; color: var(--muted); margin-bottom: 1.8mm; }
.pcard .ticks li { font-size: 7.9pt; margin-bottom: .8mm; line-height: 1.4; }
.pcard.note { background: var(--blue-ll); border-color: #D6E4F8; }

/* ───────── Phones ───────── */
.phones { display: flex; gap: 5mm; justify-content: center; }
.phone { width: 52mm; border-radius: 8mm; background: #0B1733; padding: 2.2mm; box-shadow: 0 8mm 16mm -8mm rgba(10, 46, 110, .5); }
.phone-screen { border-radius: 6mm; background: #F4F7FC; overflow: hidden; font-size: 6.8pt; padding-bottom: 2mm; }
.ph-top { background: linear-gradient(135deg, var(--blue), #3B82F6); color: #fff; padding: 4mm 3mm 8mm; }
.ph-top small { opacity: .85; display: block; font-size: 6.2pt; }
.ph-top b { color: #fff; font-size: 8.5pt; display: block; }
.ph-lang { float: right; background: rgba(255, 255, 255, .2); border-radius: 99px; padding: .5mm 1.8mm; font-size: 6pt; font-weight: 700; }
.ph-kid { margin: -5.5mm 2.2mm 2mm; background: #fff; border-radius: 3mm; padding: 2.2mm; display: flex; gap: 2mm; align-items: center; box-shadow: 0 2mm 5mm -2mm rgba(11, 23, 51, .25); }
.ph-kid .av { width: 7mm; height: 7mm; border-radius: 2mm; background: var(--orange-l); color: var(--orange-d); display: grid; place-items: center; font-weight: 800; flex-shrink: 0; }
.ph-kid b { display: block; font-size: 7pt; }
.ph-kid small { color: var(--muted); font-size: 6pt; }
.ph-kid .pres { margin-left: auto; background: var(--green-l); color: var(--green); font-weight: 800; font-size: 5.8pt; border-radius: 99px; padding: .4mm 1.5mm; }
.ph-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5mm; padding: 0 2.2mm 2mm; }
.ph-tiles div { background: #fff; border: .25mm solid var(--line); border-radius: 2.4mm; padding: 1.8mm .5mm; text-align: center; font-weight: 700; color: var(--ink); font-size: 6pt; }
.ph-tiles i { display: block; font-size: 8.5pt; margin-bottom: .8mm; color: var(--blue); }
.ph-tiles div:nth-child(2n) i { color: var(--orange); } .ph-tiles div:nth-child(3n) i { color: var(--green); }
.ph-note { margin: 0 2.2mm 1.6mm; background: #fff; border: .25mm solid var(--line); border-radius: 2.4mm; padding: 1.8mm 2mm; display: flex; gap: 1.8mm; }
.ph-note i { color: var(--orange); margin-top: .4mm; }
.ph-note b { display: block; font-size: 6.4pt; }
.ph-note small { color: var(--muted); font-size: 5.8pt; }

/* ───────── Modules ───────── */
.mods { display: grid; grid-template-columns: 1fr 1fr; gap: 3.5mm; flex: 1; align-content: start; }
.mod { border: .3mm solid var(--line); border-radius: 3.5mm; padding: 3.8mm 4mm; }
.mod-h { display: flex; gap: 2.8mm; align-items: center; margin-bottom: 1.8mm; }
.mod-h b { display: block; font-size: 10.4pt; }
.mod-h .pill { margin-left: auto; align-self: flex-start; }
.mod > p { font-size: 8.2pt; color: var(--muted); margin-bottom: 2mm; }
.mod .ticks { columns: 2; column-gap: 4mm; }
.mod .ticks li { font-size: 8pt; break-inside: avoid; margin-bottom: 1mm; line-height: 1.38; }
.mod.callout { background: linear-gradient(160deg, var(--blue), var(--blue-dd)); border: 0; color: #DCE7FB; display: flex; flex-direction: column; justify-content: center; }
.mod.callout b { color: #fff; font-size: 12pt; display: block; margin: 2mm 0 1.5mm; }
.mod.callout i.q { color: #FFB070; font-size: 16pt; }

/* ───────── Closer look (paper cards) ───────── */
.paper { border: .3mm solid var(--line); border-radius: 3.5mm; padding: 4.5mm; background: #fff; box-shadow: 0 5mm 12mm -7mm rgba(10, 46, 110, .35); font-size: 8.4pt; }
.paper-head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 2.4mm; border-bottom: .5mm solid var(--ink); margin-bottom: 2.4mm; }
.paper-head b { display: block; font-size: 9.6pt; }
.paper-head small { color: var(--muted); font-size: 7pt; }
.stamp { border: .5mm solid var(--green); color: var(--green); font-weight: 800; font-size: 7pt; letter-spacing: .1em; padding: .8mm 2.2mm; border-radius: 1.5mm; transform: rotate(-6deg); }
.lines { width: 100%; border-collapse: collapse; }
.lines td { padding: 1.4mm 0; border-bottom: .25mm dashed var(--line); }
.lines td:last-child { text-align: right; font-weight: 700; color: var(--ink); white-space: nowrap; }
.lines tr.minus td:last-child { color: var(--green); }
.lines tr.total td { border-bottom: 0; border-top: .5mm solid var(--ink); font-weight: 800; color: var(--ink); padding-top: 2mm; }
.ms-title { text-align: center; margin-bottom: 2.4mm; }
.ms-title b { display: block; font-size: 9.4pt; letter-spacing: .02em; }
.ms-title small { color: var(--muted); font-size: 7pt; }
.ms-title .tag { display: inline-block; margin-top: 1.2mm; background: var(--ink); color: #fff; font-weight: 800; letter-spacing: .14em; font-size: 6.4pt; padding: .5mm 3mm; border-radius: 1mm; }
.grades { width: 100%; border-collapse: collapse; font-size: 7.8pt; }
.grades th { background: var(--soft); color: var(--ink); font-weight: 700; text-align: left; padding: 1.3mm 1.8mm; border: .25mm solid var(--line); }
.grades td { padding: 1.2mm 1.8mm; border: .25mm solid var(--line); }
.grades td:not(:first-child), .grades th:not(:first-child) { text-align: center; }
.grades .gp { font-weight: 800; color: var(--blue-d); }
.gpa-row { display: flex; justify-content: space-between; align-items: center; margin-top: 2.4mm; }
.gpa-pill { background: var(--blue); color: #fff; border-radius: 2.4mm; padding: 1.4mm 3mm; font-weight: 800; font-size: 9pt; }
.gpa-pill small { font-weight: 600; font-size: 7pt; opacity: .85; }
.rank { font-weight: 700; color: var(--orange-d); font-size: 7.8pt; }
.tt { width: 100%; border-collapse: separate; border-spacing: 1mm; font-size: 7.4pt; }
.tt th { color: var(--muted); font-weight: 700; font-size: 6.8pt; }
.tt td { border-radius: 1.6mm; padding: 1.6mm 1mm; text-align: center; font-weight: 700; color: var(--ink); line-height: 1.25; }
.tt td small { display: block; font-weight: 600; color: rgba(11, 23, 51, .6); font-size: 6.2pt; }
.tt .day { color: var(--muted); text-align: left; }
.c1 { background: #E1ECFC; } .c2 { background: #FFE9D9; } .c3 { background: #DDF3E6; } .c4 { background: #EFE5FD; } .c5 { background: #FDE2E6; } .c6 { background: #DDF1F4; }
.tt .brk { background: repeating-linear-gradient(45deg, #F3F5F9, #F3F5F9 1.2mm, #E9EDF4 1.2mm, #E9EDF4 2.4mm); color: var(--muted); font-size: 6.4pt; }
.tt .split { padding: .6mm; }
.tt .split span { display: block; border-radius: 1.2mm; padding: .6mm; font-size: 6.6pt; }
.tt .split span + span { margin-top: .6mm; }
.tv { display: flex; align-items: center; gap: 2mm; margin-top: 2.4mm; background: var(--navy); color: #fff; border-radius: 2.4mm; padding: 2mm 3mm; font-size: 7.6pt; }
.tv i { color: #FFB070; }
.tv b { color: #fff; }
.tv .code { margin-left: auto; font-family: Consolas, monospace; letter-spacing: .2em; background: rgba(255, 255, 255, .12); padding: .5mm 2mm; border-radius: 1.2mm; }
.caption { display: flex; gap: 2.6mm; margin-top: 3mm; }
.caption b { display: block; font-size: 9.4pt; }
.caption p { margin: 0; font-size: 8.2pt; }

/* ───────── Nepal ───────── */
.bs-cal { border: .3mm solid var(--line); border-radius: 3.5mm; padding: 3.5mm; }
.bs-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2.4mm; }
.bs-head b { font-size: 10.5pt; display: block; }
.bs-head small { color: var(--muted); font-size: 7pt; }
.bs-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 1mm; }
.bs-grid .dw { text-align: center; font-size: 6.4pt; font-weight: 800; color: var(--muted); text-transform: uppercase; }
.bs-grid .dw.sat { color: var(--red); }
.bs-day { border-radius: 1.6mm; background: var(--soft); height: 8.4mm; padding: .8mm 1.2mm; font-size: 7.8pt; font-weight: 700; color: var(--ink); display: flex; flex-direction: column; justify-content: space-between; }
.bs-day small { font-size: 5.4pt; font-weight: 600; color: var(--muted); align-self: flex-end; }
.bs-day.sat { background: #FFF4F5; color: var(--red); }
.bs-day.hol { background: var(--red); color: #fff; } .bs-day.hol small { color: rgba(255, 255, 255, .8); }
.bs-day.obs { box-shadow: inset 0 0 0 .5mm #F5A3B0; }
.bs-day.today { background: var(--blue); color: #fff; } .bs-day.today small { color: rgba(255, 255, 255, .8); }
.bs-day.empty { background: transparent; }
.bs-ev { margin-top: 2.4mm; display: grid; grid-template-columns: 1fr 1fr; gap: 1mm 3mm; font-size: 7.2pt; }
.bs-ev li { display: flex; gap: 1.5mm; }
.bs-ev li b { white-space: nowrap; }
.lang { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6mm; }
.lang div { border: .3mm solid var(--line); border-radius: 2.4mm; padding: 1.8mm 2.6mm; display: flex; justify-content: space-between; font-weight: 700; color: var(--ink); font-size: 8.4pt; }
.lang div span { color: var(--orange-d); }
.local { display: flex; gap: 2.6mm; }
.local b { display: block; font-size: 9pt; }
.local p { margin: 0; font-size: 8pt; }

/* ───────── Security ───────── */
.sec { display: flex; gap: 3mm; }
.sec b { display: block; font-size: 9.4pt; margin-bottom: .4mm; }
.sec p { margin: 0; font-size: 8.2pt; }
.ladder { display: grid; gap: 1.2mm; }
.rung { display: grid; grid-template-columns: 34mm 1fr 30mm; gap: 3mm; align-items: center; border: .3mm solid var(--line); border-radius: 2.6mm; padding: 1.1mm 3mm; font-size: 8.2pt; }
.rung b { display: flex; align-items: center; gap: 2mm; font-size: 8.8pt; }
.bar-t { height: 1.6mm; border-radius: 1mm; background: var(--soft); overflow: hidden; }
.bar-t i { display: block; height: 100%; background: linear-gradient(90deg, var(--blue), #4C8BEA); border-radius: 1mm; }
.backup { background: var(--navy); color: #C3CEE6; border-radius: 4mm; padding: 5mm; display: grid; grid-template-columns: repeat(4, 1fr); gap: 4mm; }
.backup .ico { background: rgba(255, 255, 255, .12); color: #fff; margin-bottom: 2mm; }
.backup b { color: #fff; display: block; font-size: 9.2pt; margin-bottom: .6mm; }
.backup p { margin: 0; font-size: 8pt; }

/* ───────── Plans ───────── */
.plans { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3mm; }
.plan { border: .3mm solid var(--line); border-radius: 3.5mm; padding: 4mm 3.4mm; display: flex; flex-direction: column; position: relative; }
.plan.feat { border: .6mm solid var(--blue); }
.plan .ribbon { position: absolute; top: -2.6mm; left: 3.4mm; background: var(--orange); color: #fff; font-size: 6pt; font-weight: 800; letter-spacing: .06em; padding: .6mm 2.4mm; border-radius: 99px; }
.plan .tier { font-size: 6.8pt; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--orange-d); }
.plan h3 { font-size: 12.5pt; margin: .8mm 0; }
.plan .for { font-size: 7.8pt; color: var(--muted); margin-bottom: 2.4mm; min-height: 9mm; }
.plan .plus { font-size: 7pt; font-weight: 700; color: var(--blue-d); background: var(--blue-ll); border-radius: 1.6mm; padding: 1mm 2mm; margin-bottom: 2mm; }
.plan .ticks li { font-size: 7.9pt; margin-bottom: .9mm; line-height: 1.35; }
.chips { display: flex; flex-wrap: wrap; gap: 1.4mm; }
.chips span { border: .3mm solid var(--line); background: #fff; border-radius: 99px; padding: .8mm 2.6mm; font-size: 7.8pt; font-weight: 600; color: var(--ink); }
.chips span small { color: var(--muted); font-weight: 500; }

/* ───────── Getting started ───────── */
.tl { display: grid; gap: 2.2mm; position: relative; }
.tl::before { content: ""; position: absolute; left: 4.9mm; top: 4mm; bottom: 4mm; width: .6mm; background: linear-gradient(180deg, var(--blue), var(--orange)); }
.tl li { display: flex; gap: 3.5mm; align-items: flex-start; position: relative; }
.tl .n { width: 10.4mm; height: 10.4mm; border-radius: 50%; background: #fff; border: .6mm solid var(--blue); color: var(--blue); font-weight: 800; display: grid; place-items: center; flex-shrink: 0; font-size: 10pt; }
.tl li:nth-child(n+4) .n { border-color: var(--orange); color: var(--orange-d); }
.tl b { display: block; font-size: 9.8pt; margin: .6mm 0 .4mm; }
.tl p { margin: 0; font-size: 8.4pt; }
.check li { position: relative; padding-left: 6mm; margin-bottom: 1.6mm; font-size: 8.6pt; }
.check li::before { content: ""; position: absolute; left: 0; top: .6mm; width: 3.4mm; height: 3.4mm; border: .35mm solid #9FB0CB; border-radius: .8mm; }
.support { display: flex; gap: 2.6mm; align-items: flex-start; margin-bottom: 2.6mm; }
.support b { display: block; font-size: 9pt; }
.support p { margin: 0; font-size: 8.2pt; }

/* ───────── Quotation ───────── */
.quote { width: 100%; border-collapse: collapse; font-size: 9pt; }
.quote td { border: .3mm solid var(--line); padding: 2.6mm 3mm; vertical-align: middle; }
.quote td:first-child { width: 48mm; background: var(--soft); font-weight: 700; color: var(--ink); }
.quote .ln { display: inline-block; min-width: 45mm; border-bottom: .3mm solid #9FB0CB; height: 4mm; }
.quote .opt { display: inline-flex; align-items: center; gap: 1.4mm; margin-right: 4mm; white-space: nowrap; }
.quote .opt::before { content: ""; width: 3.2mm; height: 3.2mm; border: .35mm solid #9FB0CB; border-radius: .8mm; }
.quote tr.total td { font-size: 10.5pt; }
.quote tr.total td:first-child { background: var(--blue-l); color: var(--blue-d); }
.signs { display: grid; grid-template-columns: 1fr 1fr; gap: 5mm; }
.sign-box { border: .3mm solid var(--line); border-radius: 3.5mm; padding: 4.5mm; }
.sign-box h4 { font-size: 10pt; margin-bottom: 3.5mm; }
.sign-box .f { display: flex; align-items: flex-end; gap: 2mm; margin-bottom: 3.6mm; font-size: 8.2pt; color: var(--muted); }
.sign-box .f span { flex: 1; border-bottom: .3mm solid #9FB0CB; height: 4.5mm; }
.stampbox { border: .35mm dashed #B8C4D8; border-radius: 3mm; height: 20mm; display: grid; place-items: center; color: #9AA8BF; font-size: 7.4pt; }

/* ───────── Back cover ───────── */
.back { padding: 0; background: radial-gradient(120mm 90mm at 85% 0%, rgba(19, 95, 209, .55), transparent 70%), radial-gradient(110mm 80mm at 0% 100%, rgba(247, 108, 14, .28), transparent 70%), var(--navy); color: #C3CEE6; }
.back-in { flex: 1; display: flex; flex-direction: column; padding: 22mm 18mm 14mm; }
.back .logo-card { background: #fff; border-radius: 6mm; padding: 7mm 9mm; display: inline-flex; align-items: center; gap: 4mm; align-self: flex-start; }
.back .logo-card img { width: 22mm; }
.back .logo-card .wm { font-family: "Fredoka", sans-serif; font-weight: 600; font-size: 28pt; line-height: 1; }
.back .logo-card small { display: block; font-size: 7pt; font-weight: 800; letter-spacing: .22em; color: var(--blue-d); margin-top: 1.4mm; }
.back h2 { color: #fff; font-size: 30pt; font-weight: 800; letter-spacing: -.035em; margin-top: 20mm; line-height: 1.05; }
.back h2 span { color: #FFB070; }
.back .back-lead { font-size: 11pt; max-width: 140mm; margin-top: 5mm; }
.contact-list { display: grid; gap: 3.4mm; margin-top: 10mm; }
.contact-list div { display: flex; align-items: center; gap: 3.5mm; font-size: 10.5pt; color: #fff; font-weight: 600; }
.contact-list i { width: 9mm; height: 9mm; border-radius: 2.6mm; background: rgba(255, 255, 255, .12); display: grid; place-items: center; font-size: 10pt; color: #FFB070; }
.contact-list small { display: block; color: #93A3C4; font-weight: 500; font-size: 7.8pt; }
.qrs { display: flex; gap: 6mm; margin-top: auto; }
.qr { background: #fff; border-radius: 4mm; padding: 3.5mm; text-align: center; width: 36mm; }
.qr img { width: 100%; }
.qr span { display: block; margin-top: 2mm; font-size: 7.4pt; font-weight: 800; color: var(--ink); }
.back-foot { border-top: .3mm solid rgba(255, 255, 255, .14); padding: 4mm 18mm; display: flex; justify-content: space-between; font-size: 7.6pt; color: #93A3C4; }
.back-foot .zil { color: #6FA3F5; font-weight: 800; } .back-foot .fox { color: #FF9447; font-weight: 800; }

/* ───────── Nepali pages ─────────
   Devanagari needs no letter-spacing (it breaks the headline bar across letters), a touch more size and
   more line-height than Latin. "Mukta" carries the Devanagari; Latin words stay in Plus Jakarta Sans. */
.page.ne { font-size: 10pt; line-height: 1.6; }
.ne h1, .ne h2, .ne h3, .ne h4, .ne .title, .ne .h3 { letter-spacing: 0; }
.ne .title { font-size: 20pt; line-height: 1.3; }
.ne .cv-main h1 { font-size: 34pt; line-height: 1.22; letter-spacing: 0; }
.ne .cv-main h1 span::after { bottom: -.6mm; }
.ne .back h2 { font-size: 28pt; line-height: 1.25; letter-spacing: 0; }
.ne .eyebrow, .ne .ph-sec, .ne .cv-tag, .ne .cv-bottom small, .ne .plan .tier, .ne .plan .ribbon, .ne .pill, .ne .bs-grid .dw, .ne .pcard-h small { letter-spacing: .02em; }
.ne .eyebrow, .ne .ph-sec { font-size: 8.2pt; }
.ne .lead { line-height: 1.58; }
.ne .letter { line-height: 1.7; }
.ne .stat b { letter-spacing: 0; }
.ne .cmp li, .ne .mod .ticks li, .ne .pcard .ticks li, .ne .plan .ticks li { line-height: 1.42; }
.ne .bs-day { font-size: 8.4pt; }
.toc-ne { margin: 3.4mm 0 0; display: flex; gap: 3mm; align-items: baseline; background: #fff; border: .3mm solid #D6E4F8; border-radius: 2.4mm; padding: 2mm 3mm; font-size: 9pt; }
.toc-ne span { font-weight: 800; color: var(--orange-d); min-width: 6mm; }
.toc-ne em { margin-left: auto; font-style: normal; color: var(--muted); font-weight: 700; }
.page { scroll-margin-top: 70px; }
.bbtn.lang { padding: 9px 13px; }
@media (max-width: 760px) { .bbtn.lang { padding: 8px 10px; font-size: 12.5px; } }

/* ───────── Print ───────── */
@page { size: portrait; margin: 0; }
@media print {
  body { background: #fff; }
  .bar { display: none !important; }
  .doc { display: block; padding: 0; gap: 0; zoom: 1 !important; }
  .page { width: 100%; height: 100vh; box-shadow: none; margin: 0; }
}
