/* Shared additions for the six resume presentations. */
body.theme-editorial{--project-surface:#fffdf8;--project-line:#d8d2c7;--project-accent:#315449;--project-muted:#68716a}
body.theme-dark{--project-surface:#172427;--project-line:#344548;--project-accent:#b7e37a;--project-muted:#a5b4ad}
body.theme-corporate{--project-surface:#f4f7f8;--project-line:#d9e0e5;--project-accent:#164c70;--project-muted:#647380}
.resume-avatar{width:160px;height:160px;object-fit:contain;display:block;margin:auto;mix-blend-mode:multiply}
.hero{grid-template-columns:minmax(0,1.35fr) 160px minmax(230px,.75fr)!important;align-items:center}
.hero .resume-avatar{grid-column:2}
.hero>div:first-child{grid-column:1}
.hero>aside{grid-column:3}
.header{display:grid!important;grid-template-columns:minmax(0,1fr) 132px auto;align-items:center}
.header>.resume-avatar{width:132px;height:132px}
.catalog-section{padding:30px 0;border-top:1px solid var(--project-line);margin-top:18px;color:var(--ink)}
.catalog-heading{display:flex;align-items:baseline;gap:15px;margin-bottom:8px}
.catalog-heading .catalog-no{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--project-accent)}
.catalog-heading h2{margin:0;font-size:27px;line-height:1.2}
.catalog-intro{color:var(--project-muted);margin:0 0 18px;font-size:14px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.catalog-card{display:flex;flex-direction:column;min-width:0;background:var(--project-surface);border:1px solid var(--project-line);color:inherit;text-decoration:none;overflow:hidden;transition:transform .18s ease,border-color .18s ease}
.catalog-card:hover{transform:translateY(-3px);border-color:var(--project-accent)}
.catalog-preview{min-height:145px;aspect-ratio:16/9;display:flex;flex-direction:column;justify-content:space-between;padding:15px;background:linear-gradient(145deg,color-mix(in srgb,var(--project-accent) 12%,var(--project-surface)),var(--project-surface));border-bottom:1px solid var(--project-line)}
.catalog-preview .preview-kicker{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--project-accent)}
.catalog-preview strong{max-width:250px;font:600 19px/1.15 Georgia,'Times New Roman',serif}
.catalog-preview .preview-status{font-size:10px;color:var(--project-muted)}
.catalog-copy{padding:13px 15px 15px}
.catalog-copy h3{font-size:15px;line-height:1.35;margin:0 0 7px}
.catalog-copy p{font-size:12px;color:var(--project-muted);margin:0}
.catalog-cta{display:inline-block;margin-top:11px;color:var(--project-accent);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.plugin-callout{margin-top:14px;padding:15px 17px;border-left:3px solid var(--project-accent);background:var(--project-surface);color:var(--project-muted);font-size:13px}
.plugin-callout strong{color:var(--ink)}
.catalog-section img.project-shot{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:16/9;filter:none}
.v4-page{--paper:#fff;--ink:#111;--muted:#555;--accent:#151515;--line:#171717;--surface:#fff;--project-surface:var(--surface);--project-line:var(--line);--project-accent:var(--accent);--project-muted:var(--muted);background:var(--paper);color:var(--ink);font:15px/1.55 Arial,Helvetica,sans-serif}
.v5-page{--paper:#fff;--ink:#302820;--muted:#786b5d;--accent:#7b5a42;--line:#e6ddd3;--surface:#faf7f3;--project-surface:var(--surface);--project-line:var(--line);--project-accent:var(--accent);--project-muted:var(--muted);background:var(--paper);color:var(--ink);font:15px/1.6 Arial,Helvetica,sans-serif}
.v6-page{--paper:#101f33;--ink:#f2f5f7;--muted:#b9c4cf;--accent:#f29a63;--line:#30435b;--surface:#172a42;--project-surface:var(--surface);--project-line:var(--line);--project-accent:var(--accent);--project-muted:var(--muted);background:var(--paper);color:var(--ink);font:15px/1.55 Arial,Helvetica,sans-serif}
.v4-page,.v5-page,.v6-page{margin:0}
.v4-page .v-sheet,.v5-page .v-sheet,.v6-page .v-sheet{max-width:1180px;margin:0 auto;padding:25px 32px 45px}
.v4-page .v-top,.v5-page .v-top,.v6-page .v-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.v4-page .v-top strong,.v5-page .v-top strong,.v6-page .v-top strong{color:var(--accent)}
.v4-page .v-top nav,.v5-page .v-top nav,.v6-page .v-top nav{display:flex;gap:18px}
.v4-page .v-top a,.v5-page .v-top a,.v6-page .v-top a{color:inherit;text-decoration:none}
.v4-page .v-hero,.v5-page .v-hero,.v6-page .v-hero{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:28px;align-items:center;padding:37px 0 29px}
.v4-page .v-hero h1,.v5-page .v-hero h1,.v6-page .v-hero h1{font-size:clamp(42px,7vw,72px);line-height:.98;letter-spacing:-.065em;margin:8px 0 15px}
.v4-page .v-label,.v5-page .v-label,.v6-page .v-label{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.v4-page .v-hero p,.v5-page .v-hero p,.v6-page .v-hero p{max-width:720px;color:var(--muted);font-size:17px;margin:0}
.v4-page .resume-avatar,.v5-page .resume-avatar,.v6-page .resume-avatar{width:185px;height:185px}
.v4-page .v-metrics,.v5-page .v-metrics,.v6-page .v-metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}
.v4-page .v-metrics div,.v5-page .v-metrics div,.v6-page .v-metrics div{padding:14px 16px;border-right:1px solid var(--line)}
.v4-page .v-metrics div:last-child,.v5-page .v-metrics div:last-child,.v6-page .v-metrics div:last-child{border-right:0}
.v4-page .v-metrics b,.v5-page .v-metrics b,.v6-page .v-metrics b{display:block;font-size:22px;color:var(--accent)}
.v4-page .v-metrics span,.v5-page .v-metrics span,.v6-page .v-metrics span{font-size:10px;color:var(--muted)}
.v4-page .v-section,.v5-page .v-section,.v6-page .v-section{padding:26px 0;border-top:1px solid var(--line);margin-top:20px}
.v4-page .v-section>h2,.v5-page .v-section>h2,.v6-page .v-section>h2{font-size:22px;margin:0 0 15px}
.v4-page .v-grid,.v5-page .v-grid,.v6-page .v-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.v4-page .v-panel,.v5-page .v-panel,.v6-page .v-panel{background:var(--surface);border:1px solid var(--line);padding:16px}
.v4-page .v-panel h3,.v5-page .v-panel h3,.v6-page .v-panel h3{font-size:15px;margin:0 0 7px}
.v4-page .v-panel p,.v5-page .v-panel p,.v6-page .v-panel p{font-size:13px;color:var(--muted);margin:0}
.v4-page .v-experience,.v5-page .v-experience,.v6-page .v-experience{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:13px 0;border-top:1px solid var(--line)}
.v4-page .v-experience:first-of-type,.v5-page .v-experience:first-of-type,.v6-page .v-experience:first-of-type{border-top:0}
.v4-page .v-date,.v5-page .v-date,.v6-page .v-date{font-size:11px;color:var(--accent);font-weight:700}
.v4-page .v-experience h3,.v5-page .v-experience h3,.v6-page .v-experience h3{font-size:14px;margin:0 0 4px}
.v4-page .v-experience p,.v5-page .v-experience p,.v6-page .v-experience p{font-size:12px;color:var(--muted);margin:0}
.v4-page .v-skills,.v5-page .v-skills,.v6-page .v-skills{display:flex;flex-wrap:wrap;gap:7px}
.v4-page .v-skills span,.v5-page .v-skills span,.v6-page .v-skills span{border:1px solid var(--line);padding:5px 8px;font-size:10px;color:var(--muted)}
.v4-page .v-footer,.v5-page .v-footer,.v6-page .v-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px;color:var(--muted);font-size:11px}
.v4-page .catalog-card,.v4-page .v-panel{border-radius:0;box-shadow:none}
.v4-page .catalog-preview{background:#fff!important;border-bottom:1px solid #111;}
.v4-page .catalog-preview>*{color:#111!important}
.v4-page .catalog-card,.v4-page .v-panel,.v4-page .v-metrics{border-color:#111}
.v5-page .catalog-card{border-radius:10px;overflow:hidden}
.v5-page .catalog-preview{background:linear-gradient(145deg,#f3e8dc,#fffaf5)}
.v5-page .v-panel{border-radius:9px}
.v6-page .catalog-card{border-color:#30435b;border-radius:6px}
.v6-page .catalog-preview{background:linear-gradient(135deg,#203b58,#172a42)}
.v6-page .catalog-preview strong{color:#f2f5f7}
.v6-page .catalog-preview .preview-kicker{color:#f29a63}
.v6-page .catalog-preview .preview-status{color:#b9c4cf}
.v6-page .catalog-copy h3{color:#f2f5f7}
.v6-page .v-panel{border-color:#30435b;border-radius:6px}
.v4-page a{color:#111}
.v5-page a{color:#7b5a42}
.v6-page a{color:#f29a63}
.v6-page .resume-avatar{box-sizing:border-box;mix-blend-mode:normal;background:#fff;border:2px solid #f29a63;border-radius:50%;padding:6px;box-shadow:0 12px 30px #0004}
.portfolio-section{padding:30px 0;border-top:1px solid var(--project-line,var(--line));margin-top:18px;color:var(--ink)}
.portfolio-heading{display:flex;align-items:baseline;gap:14px;margin-bottom:8px}
.portfolio-heading h2{margin:0;font-size:27px;line-height:1.2}
.portfolio-kicker{font-size:11px;font-weight:700;letter-spacing:.13em;color:var(--project-accent,var(--accent))}
.portfolio-intro{margin:0 0 18px;color:var(--project-muted,var(--muted));font-size:14px}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.project-card{min-width:0;overflow:hidden;background:var(--project-surface,var(--surface));border:1px solid var(--project-line,var(--line));color:var(--ink);box-shadow:0 8px 22px #1d25120d}
.project-media,.project-slider{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#e9e7e2;color:inherit}
.project-media img,.project-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.project-slider{touch-action:pan-y}
.project-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .25s ease}
.project-slide[aria-hidden="false"]{opacity:1;visibility:visible}
.project-slide img{position:absolute;inset:0}
.project-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:38px;height:38px;border:1px solid #fff9;border-radius:50%;background:#17221de0;color:#fff;font:24px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 2px 10px #0003}
.project-arrow:hover,.project-arrow:focus-visible{background:var(--project-accent,var(--accent));outline:2px solid #fff;outline-offset:2px}
.project-arrow--prev{left:10px}.project-arrow--next{right:10px}
.project-slider-meta{position:absolute;z-index:2;inset:auto 0 0;display:flex;align-items:center;gap:10px;min-height:38px;padding:8px 12px;background:linear-gradient(transparent,#000b);color:#fff;font-size:10px}
.project-slide-caption{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-slide-counter{font-variant-numeric:tabular-nums;opacity:.88}
.project-slide-dots{display:flex;gap:5px}
.project-slide-dots button{width:7px;height:7px;padding:0;border:1px solid #fffd;border-radius:50%;background:transparent;cursor:pointer}
.project-slide-dots button[aria-current="true"]{background:#fff}
.project-copy{padding:15px 16px 17px}
.project-tag{display:block;margin-bottom:7px;color:var(--project-accent,var(--accent));font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.project-copy h3{margin:0 0 7px;font-size:16px;line-height:1.3;color:var(--ink)}
.project-copy p{margin:0;color:var(--project-muted,var(--muted));font-size:12px;line-height:1.55}
.project-link{display:inline-block;margin-top:12px;color:var(--project-accent,var(--accent));font-size:11px;font-weight:700;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}
.project-link:hover{text-decoration:underline;text-underline-offset:3px}
.plugin-title-link{color:inherit;text-decoration:none}
.plugin-title-link:hover{text-decoration:underline;text-underline-offset:3px}
.v4-page .portfolio-section{--project-accent:#111;--project-line:#171717;--project-muted:#555;--project-surface:#fff}
.v5-page .portfolio-section{--project-accent:#7b5a42;--project-line:#e6ddd3;--project-muted:#786b5d;--project-surface:#faf7f3}
.v6-page .portfolio-section{--project-accent:#f29a63;--project-line:#30435b;--project-muted:#b9c4cf;--project-surface:#172a42}
.v4-page .project-card{box-shadow:none;border-radius:0}
.v5-page .project-card{border-radius:10px}
.v6-page .project-card{border-radius:7px;box-shadow:0 12px 28px #0002}
.v4-page .project-media img,.v4-page .project-slide img,.v5-page .project-media img,.v5-page .project-slide img,.v6-page .project-media img,.v6-page .project-slide img{filter:none}
@media(max-width:900px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.portfolio-grid{grid-template-columns:1fr}.portfolio-heading{align-items:flex-start;flex-direction:column;gap:6px}.portfolio-heading h2{font-size:23px}.project-copy{padding:14px}}
@media(prefers-reduced-motion:reduce){.project-slide{transition:none}}
@media(max-width:820px){.hero{grid-template-columns:1fr 130px!important;gap:15px}.hero>div:first-child{grid-column:1}.hero>.resume-avatar{grid-column:2;grid-row:1}.hero>aside{grid-column:1/-1}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header{grid-template-columns:minmax(0,1fr) 100px!important}.header .resume-avatar{width:100px;height:100px;grid-column:2;grid-row:1}.header>a{grid-column:1/-1}.v4-page .v-sheet,.v5-page .v-sheet,.v6-page .v-sheet{padding:20px 17px 32px}.v4-page .v-grid,.v5-page .v-grid,.v6-page .v-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.hero{grid-template-columns:1fr!important}.hero>.resume-avatar{grid-column:1;grid-row:1;width:125px;height:125px}.hero>div:first-child{grid-column:1;grid-row:2}.hero>aside{grid-column:1;grid-row:3}.catalog-grid{grid-template-columns:1fr}.catalog-heading h2{font-size:23px}.v4-page .v-top nav,.v5-page .v-top nav,.v6-page .v-top nav{display:none}.v4-page .v-hero,.v5-page .v-hero,.v6-page .v-hero{grid-template-columns:1fr}.v4-page .resume-avatar,.v5-page .resume-avatar,.v6-page .resume-avatar{width:145px;height:145px;grid-row:1}.v4-page .v-metrics,.v5-page .v-metrics,.v6-page .v-metrics{grid-template-columns:1fr 1fr}.v4-page .v-metrics div:nth-child(2),.v5-page .v-metrics div:nth-child(2),.v6-page .v-metrics div:nth-child(2){border-right:0}.v4-page .v-metrics div:nth-child(-n+2),.v5-page .v-metrics div:nth-child(-n+2),.v6-page .v-metrics div:nth-child(-n+2){border-bottom:1px solid var(--line)}.v4-page .v-grid,.v5-page .v-grid,.v6-page .v-grid{grid-template-columns:1fr}.v4-page .v-experience,.v5-page .v-experience,.v6-page .v-experience{grid-template-columns:1fr;gap:4px}}
@media print{.catalog-card,.v-panel,.catalog-section,.v-section{break-inside:avoid}.catalog-card:hover{transform:none}.v4-page .v-sheet,.v5-page .v-sheet,.v6-page .v-sheet{max-width:none;padding:0}.v4-page .catalog-preview{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
