.resume-deck{--deck-surface:#fdfcf9;--deck-line:rgba(62,57,48,.18);--deck-glow:rgba(187,154,97,.13);--deck-particle:134,105,55;--deck-shadow:0 24px 80px rgba(50,43,34,.13);background:radial-gradient(ellipse at 20% 68%,var(--deck-glow),transparent 55%),radial-gradient(ellipse at 80% 15%,rgba(124,145,159,.12),transparent 50%),var(--bg);min-height:100vh}
html[data-theme=dark] .resume-deck{--bg:#111318;--ink:#f1eee7;--body-copy:#cac7c0;--muted:#aaa8a4;--deck-surface:#24262c;--deck-line:rgba(240,232,212,.15);--deck-glow:rgba(205,164,91,.09);--deck-particle:229,194,129;--deck-shadow:0 30px 100px rgba(0,0,0,.5)}
@media(prefers-color-scheme:dark){html:not([data-theme=light]) .resume-deck{--bg:#111318;--ink:#f1eee7;--body-copy:#cac7c0;--muted:#aaa8a4;--deck-surface:#24262c;--deck-line:rgba(240,232,212,.15);--deck-glow:rgba(205,164,91,.09);--deck-particle:229,194,129;--deck-shadow:0 30px 100px rgba(0,0,0,.5)}}
#deck-dust{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.deck-toolbar{position:fixed;top:0;left:0;right:0;z-index:40;padding:22px 32px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:linear-gradient(var(--bg),transparent)}
.deck-toolbar-end{display:flex;gap:12px;align-items:center}.deck-pdf{padding:10px 16px;font-size:.875rem;border:1px solid var(--deck-line);border-radius:999px}.deck-toolbar a:focus-visible{outline:2px solid var(--accent-text);outline-offset:4px}
.deck-main{position:relative;width:min(var(--subpage-max-width,1100px),calc(100% - 2 * max(var(--subpage-gutter,80px),32px)));margin:112px auto 80px;z-index:2}.deck-card{background:linear-gradient(135deg,var(--deck-surface),var(--tile));color:var(--ink);border:1px solid var(--deck-line);border-radius:26px;box-shadow:var(--deck-shadow);padding:30px 42px 40px;margin-bottom:36px;scroll-margin-top:112px;transform-origin:50% 12%;backface-visibility:hidden;overflow-wrap:anywhere}
.deck-card-top{display:flex;justify-content:space-between;gap:16px;text-transform:uppercase;letter-spacing:.12em;font-size:.6875rem;color:var(--muted);padding-bottom:24px;border-bottom:1px solid var(--deck-line);margin-bottom:28px}.deck-card-divider{opacity:.4;margin:0 7px}
.deck-identity img{float:right;border-radius:50%;width:84px;height:84px;object-fit:cover}.deck-contact{display:flex;flex-wrap:wrap;gap:10px 24px;border-top:1px solid var(--deck-line);padding-top:24px;margin-top:8px;font-size:.9375rem;color:var(--muted)}.deck-contact a{text-decoration:underline;text-underline-offset:4px}.deck-invitation{font-size:1.2rem!important;margin-top:52px!important;color:var(--ink)!important}.deck-scroll-hint{font-size:.875rem!important;color:var(--muted)!important;margin-bottom:0!important}.deck-scroll-hint span{margin-left:18px}
.deck-rail{position:fixed;z-index:45;left:22px;top:50%;transform:translateY(-50%);display:flex;gap:10px;align-items:stretch}.deck-rail ol{list-style:none;margin:0;padding:0}.deck-rail a{position:relative;display:flex;align-items:center;width:44px;height:36px;color:var(--ink);border-radius:8px}.deck-tick{width:30px;height:2px;background:var(--muted);opacity:var(--deck-tick-opacity,.4);transform:scaleX(var(--deck-tick-scale,.46667));transform-origin:left center;border-radius:2px}.deck-rail a[aria-current=location] .deck-tick{background:var(--accent-text)}.deck-rail a:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}.deck-rail-label{position:absolute;left:44px;white-space:nowrap;font-size:.8125rem;background:var(--deck-surface);border:1px solid var(--deck-line);border-radius:10px;padding:10px 14px;box-shadow:var(--deck-shadow);opacity:0;pointer-events:none;visibility:hidden}.deck-rail a:is(:hover,:focus-visible) .deck-rail-label{opacity:1;visibility:visible}.deck-progress{width:2px;background:var(--deck-line);position:relative;border-radius:2px}.deck-progress span{position:absolute;inset:0;background:var(--accent-text);transform:scaleY(var(--deck-progress,0));transform-origin:top;border-radius:2px}
.deck-footer{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:20px;padding:24px 32px;font-size:.75rem;letter-spacing:.03em;color:var(--muted);z-index:35;background:linear-gradient(transparent,var(--bg));pointer-events:none}
.deck-enhanced .deck-main{width:100%;margin:0}.deck-enhanced .deck-stage{position:sticky;top:0;height:100svh;perspective:1500px;perspective-origin:50% 50%;overflow:clip}.deck-enhanced .deck-card{position:absolute;left:50%;top:0;width:min(var(--subpage-max-width,1100px),calc(100% - 2 * max(var(--subpage-gutter,80px),32px)));margin:0;will-change:transform,opacity;transform:translateX(-50%)}.deck-track{display:none}.deck-enhanced .deck-track{display:block}.deck-enhanced .deck-card:focus{outline:none}
@media(max-width:620px){.deck-toolbar{padding:14px 16px}.deck-toolbar .breadcrumb-link{padding:10px 12px;font-size:.8125rem}.deck-toolbar-end{gap:6px}.deck-pdf{font-size:.75rem;padding:10px}.deck-main{width:calc(100% - 64px);margin-top:94px;margin-left:48px;margin-right:16px}.deck-card{padding:22px 22px 28px;border-radius:22px;scroll-margin-top:94px}.deck-enhanced .deck-card{width:calc(100% - 64px);left:calc(50% + 16px)}.deck-card-top{font-size:.625rem;margin-bottom:22px;padding-bottom:18px}.deck-identity img{width:56px;height:56px}.deck-invitation{margin-top:36px!important}.deck-rail{left:8px;gap:5px}.deck-rail a{width:32px;height:34px}.deck-tick{width:22px}.deck-rail-label{left:32px;max-width:240px;white-space:normal;width:max-content}.deck-footer{padding:18px 16px;font-size:.6875rem}.deck-footer>span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){#deck-dust,.deck-card{transform:none!important;opacity:1!important}.deck-enhanced .deck-stage{position:static;height:auto;overflow:visible}.deck-enhanced .deck-card{position:relative;left:auto;top:auto;width:auto;margin-bottom:36px}.deck-enhanced .deck-main{width:min(var(--subpage-max-width,1100px),calc(100% - 2 * max(var(--subpage-gutter,80px),32px)));margin:112px auto 80px}.deck-track{display:none!important}}
@media print{#deck-dust,.deck-rail,.deck-toolbar,.deck-footer{display:none!important}.resume-deck{background:white;color:black}.deck-main,.deck-enhanced .deck-main{width:auto!important;margin:0!important}.deck-stage,.deck-enhanced .deck-stage{position:static!important;height:auto!important;overflow:visible!important}.deck-card,.deck-enhanced .deck-card{position:static!important;width:auto!important;transform:none!important;opacity:1!important;visibility:visible!important;box-shadow:none!important;break-inside:avoid;margin:0 0 20px!important;background:white;color:black}.deck-track{display:none!important}}

.resume-deck .skip-link{z-index:60}

.deck-controls{position:fixed;right:max(22px,env(safe-area-inset-right));top:50%;transform:translateY(-50%);z-index:46;display:flex;flex-direction:column;gap:8px}
.deck-controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;color:var(--ink);background:var(--deck-surface);border:1px solid var(--deck-line);border-radius:50%;cursor:pointer;transition:box-shadow .25s,border-color .25s}
.deck-controls svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.deck-controls button:disabled{opacity:.25;cursor:default}
.deck-controls button:not(:disabled):is(:hover,:focus-visible){border-color:var(--accent-text);box-shadow:0 0 18px rgba(var(--accent-rgb),.24),0 0 4px rgba(var(--accent-rgb),.16)}
.deck-footer{padding-right:32px}
@media(max-width:620px){.deck-controls{right:max(6px,env(safe-area-inset-right))}.deck-main,.deck-enhanced .deck-main{width:calc(100% - 112px - env(safe-area-inset-left) - env(safe-area-inset-right));margin-left:calc(56px + env(safe-area-inset-left));margin-right:calc(56px + env(safe-area-inset-right))}.deck-enhanced .deck-main{width:100%;margin:0}.deck-enhanced .deck-card{width:calc(100% - 112px - env(safe-area-inset-left) - env(safe-area-inset-right));left:calc(50% + (env(safe-area-inset-left) - env(safe-area-inset-right))/2)}.deck-footer{padding-right:16px}}
@media print{.deck-controls{display:none!important}}

/* Reuse main résumé text primitives; only the outer card/stage belongs to the deck. */
.deck-card-body>.experience-card{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.deck-card-body>h2{margin:4px 0 18px;font-size:.9375rem;font-weight:500;letter-spacing:-.015em;line-height:1.5}
.deck-headline{max-width:600px}
@media(max-width:900px){.deck-card-body>h2{font-size:1.125rem;font-weight:600}}
@media(max-width:620px){.deck-contact{font-size:.875rem;line-height:1.5;margin-top:0;padding-top:14px;gap:6px 16px}}

/* Tall cards read within a fixed, individually centered viewport frame. */
.deck-enhanced .deck-card{overflow:hidden;overscroll-behavior:contain;transform-origin:50% 50%}

/* Role-first hierarchy belongs only to the alternate résumé. */
.resume-deck .role-title{font-size:clamp(1.65rem,2.7vw,2.25rem);font-weight:750;line-height:1.18;letter-spacing:-.04em;text-wrap:balance;overflow-wrap:anywhere;color:var(--ink)}
.resume-deck .experience-header h3{color:var(--muted)}
.resume-deck .experience-dates{font-size:.75rem;color:var(--muted);background:none;padding:0;white-space:normal}
@media print{.resume-deck .role-title{font-size:16pt}}

/* One subtle interior light and a brighter highlight on the existing edge. */
.resume-deck .deck-card::before,.resume-deck .deck-card::after{content:"";position:absolute;left:0;top:var(--glow-top,0px);width:100%;height:var(--glow-height,100%);border-radius:inherit;pointer-events:none;opacity:var(--pointer-glow,0);transition:opacity .18s ease;z-index:7;box-sizing:border-box}
.resume-deck .deck-card::after{background-image:url("/assets/v2-glow-grain.png"),radial-gradient(circle var(--glow-diameter,405px) at var(--glow-x,50%) var(--glow-y,50%),rgba(255,222,163,.12),rgba(255,198,100,.055) 25%,transparent 50%);background-size:96px 96px,auto;background-repeat:repeat,no-repeat}
.resume-deck .deck-card::before{opacity:calc(var(--pointer-glow,0) * var(--glow-edge-intensity,0));padding:1px;background:radial-gradient(circle var(--glow-diameter,405px) at var(--glow-x,50%) var(--glow-y,50%),rgba(255,253,231,.98),rgba(255,214,128,.85) 12%,rgba(245,146,49,.48) 28%,rgba(226,96,29,.1) 42%,transparent 50%);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
@media(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.resume-deck .deck-card::before,.resume-deck .deck-card::after{display:none;transition:none}}

/* Quiet single baseline; the pointer mask supplies only a local sunset bloom. */


@media print{.resume-deck .deck-card::before,.resume-deck .deck-card::after{display:none}}

/* Reversible v2-only experience artwork; headings remain the reading anchor. */
.resume-deck .deck-art-strip{height:clamp(180px,24vw,260px);margin:0 0 22px;overflow:hidden;border-radius:12px;background:var(--deck-surface)}
.resume-deck .deck-art-strip img{display:block;width:100%;height:100%;object-fit:var(--art-fit,cover);object-position:var(--art-position,50% 50%)}
@media(max-width:620px){.resume-deck .deck-art-strip{height:148px;margin-bottom:18px;border-radius:9px}}
@media print{.resume-deck .deck-art-strip{display:none}}

/* One stable depth shadow; focus changes its color, never its layer count/shape. */
.resume-deck{--deck-shadow-y:24px;--deck-shadow-blur:80px;--deck-shadow-rest:rgba(50,43,34,.13);--deck-shadow-lit:rgba(119,89,47,.22)}
html[data-theme=dark] .resume-deck{--deck-shadow-y:30px;--deck-shadow-blur:100px;--deck-shadow-rest:rgba(0,0,0,.5);--deck-shadow-lit:rgba(70,52,28,.46)}
@media(prefers-color-scheme:dark){html:not([data-theme=light]) .resume-deck{--deck-shadow-y:30px;--deck-shadow-blur:100px;--deck-shadow-rest:rgba(0,0,0,.5);--deck-shadow-lit:rgba(70,52,28,.46)}}
.resume-deck .deck-card,.resume-deck .deck-card:is(:hover,:focus-visible,:focus-within,[aria-current="location"],[aria-selected="true"]){box-shadow:0 var(--deck-shadow-y) var(--deck-shadow-blur) var(--deck-shadow-color,var(--deck-shadow-rest));transition:box-shadow .35s ease}
.resume-deck .deck-card[data-deck-focused=true]{--deck-shadow-color:var(--deck-shadow-lit)}
@media(prefers-reduced-motion:reduce){.resume-deck .deck-card{transition:none}}

/* Low-cost preblurred artwork, isolated from crisp foreground content. */
.resume-deck{isolation:isolate}
.resume-deck .deck-art-backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.02;overflow:hidden}
.resume-deck .deck-art-backdrop img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease}
@media(prefers-reduced-motion:reduce){.resume-deck .deck-art-backdrop img{transition:none}}
@media print{.resume-deck .deck-art-backdrop{display:none}}

/* Per-position highlight blocks match the reference’s readable two-column rhythm. */
.resume-deck .role-highlights{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-flow:row;gap:22px 28px;padding:0;list-style:none}
.resume-deck .role-highlights li{min-width:0;border-top:1px solid var(--border);padding-top:18px;break-inside:avoid}
.resume-deck .role-highlights strong{display:block;margin-bottom:10px}
@media(min-width:900px){.resume-deck .role-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.resume-deck .role-highlights{grid-template-columns:minmax(0,1fr)}}
