.pf-btn{background:var(--pf-btn-bg);overflow-wrap:break-word;min-width:0;max-width:100%}.pf-btn[aria-disabled=true]{pointer-events:auto}.pf-btn-bubble{transition:transform var(--dur-fast) var(--ease-out)}@media (hover:hover){.pf-btn:not([aria-disabled=true]):not(:disabled):hover{background:var(--pf-btn-bg-hover)}.pf-btn:not([aria-disabled=true]):not(:disabled):hover .pf-btn-bubble{transform:translate(2px)}}.pf-btn:not([aria-disabled=true]):not(:disabled):active{transform:translateY(1px)}@media (hover:hover){.pf-icon-btn:not(:disabled):hover{background:var(--sun-200)}}.pf-icon-btn:not(:disabled):active{transform:translateY(1px)}.pf-tag{background:var(--pf-tag-bg);overflow-wrap:anywhere;max-width:100%}@media (hover:hover){.pf-tag--interactive:not(.pf-tag--active):hover{background:var(--sun-200)}}.page-shell{--pf-tint-on-light:#3420170e;--pf-tint-on-dark:#ffffff17}.page-shell.dark-mode{--pf-tint-on-light:#fff5e812}.stat-band>*,.capability,.language-row,.pf-skill-tile,.pf-contact:not(.pf-contact--link){isolation:isolate;position:relative}.stat-band>:before,.capability:before,.language-row:before,.pf-skill-tile:before,.pf-contact:not(.pf-contact--link):before{content:"";z-index:-1;border-radius:var(--radius-xs);pointer-events:none;transition:background var(--dur-fast) var(--ease-out);background:0 0;position:absolute;inset:-8px -12px}.capability:before,.language-row:before{inset:-1px -12px}@media (hover:hover){.stat-band>:hover:before,.pf-skill-tile:hover:before,.pf-contact:not(.pf-contact--link):hover:before{background:var(--pf-tint-on-dark)}.capability:hover:before,.language-row:hover:before{background:var(--pf-tint-on-light)}}.pf-card{min-width:0;position:relative}.pf-card:has(.pf-card-activator){cursor:pointer}.pf-card-media{box-shadow:var(--shadow-card);transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out)}.pf-card-media-icon{transition:transform var(--dur-base) var(--ease-out)}.pf-card-arrow{opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.pf-card-activator{appearance:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;cursor:pointer;overflow-wrap:break-word;background:0 0;border:none;margin:0;padding:0}.pf-card-activator:after{content:"";z-index:2;border-radius:var(--radius-md);position:absolute;inset:0}.pf-card-activator:focus-visible{outline:none}.pf-card-activator:focus-visible:after{outline:3px solid var(--denim-500);outline-offset:3px}.pf-card:has(.pf-card-activator:focus-visible) .pf-card-media{box-shadow:var(--shadow-raised);transform:translateY(-3px)}.pf-card:has(.pf-card-activator:focus-visible) .pf-card-arrow{opacity:1}@media (hover:hover){.pf-card:hover .pf-card-media{box-shadow:var(--shadow-raised);transform:translateY(-3px)}.pf-card:hover .pf-card-media-icon{transform:scale(1.08)}.pf-card:hover .pf-card-arrow{opacity:1}.pf-card:hover .pf-tag{border-color:var(--ink-300)}}@media (hover:none){.pf-card-arrow{opacity:1}}.exp-item{isolation:isolate;position:relative}.exp-item:before{content:"";z-index:-1;border-radius:var(--radius-xs);pointer-events:none;transition:background var(--dur-fast) var(--ease-out);background:0 0;position:absolute;inset:2px -14px}.exp-item:has(.exp-toggle){cursor:pointer}.exp-head{align-items:center;gap:10px;min-width:0;display:flex}.exp-toggle{appearance:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;cursor:pointer;overflow-wrap:break-word;background:0 0;border:none;border-radius:3px;min-width:0;margin:0;padding:0}.exp-toggle:after{content:"";z-index:1;position:absolute;inset:0}.exp-toggle:focus-visible{outline:3px solid var(--denim-500);outline-offset:3px}.exp-item:has(.exp-toggle:focus-visible):before{background:var(--pf-tint-on-light)}.exp-chevron{transition:transform var(--dur-base) var(--ease-out);flex:none;margin-left:auto}.exp-item[data-open=false] .exp-chevron{transform:rotate(-90deg)}.exp-details{z-index:2;cursor:auto;transition:grid-template-rows var(--dur-base) var(--ease-out), visibility 0s;grid-template-rows:1fr;display:grid;position:relative}.exp-details[data-open=false]{visibility:hidden;transition:grid-template-rows var(--dur-base) var(--ease-out), visibility 0s var(--dur-base);grid-template-rows:0fr}.exp-details-inner{min-height:0;overflow:hidden}@media (hover:hover){.exp-item:has(.exp-toggle):hover:before{background:var(--pf-tint-on-light)}}.pf-contact{overflow-wrap:anywhere;min-width:0;transition:transform var(--dur-fast) var(--ease-out)}.pf-contact-icon{transition:background var(--dur-fast) var(--ease-out)}@media (hover:hover){.pf-contact--link:hover{transform:translate(3px)}.pf-contact--link:hover .pf-contact-icon{background:#ffffff24}}.pf-contact--link:focus-visible .pf-contact-icon{background:#ffffff24}.pf-skill-disc{box-shadow:var(--shadow-card);transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out)}@media (hover:hover){.pf-skill-tile:hover .pf-skill-disc{box-shadow:var(--shadow-raised);transform:translateY(-2px)}}.section-header{align-items:center;gap:var(--space-4);row-gap:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.section-header>h2{overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;flex:auto;min-width:0}.section-header-line{flex:40px;min-width:16px;height:1px}.section-header-action{flex:none;max-width:100%}@media (width<=640px){.section-header-line{flex-basis:100%}}.pf-nav-link{cursor:pointer;font:var(--weight-bold) var(--text-caption) / 1 var(--font-sans-stack);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);transition:var(--transition-control);background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 0}@media (hover:hover){.pf-nav-link:hover{color:var(--ink-800);border-bottom-color:var(--sun-400)}}.pf-nav-link:focus-visible{color:var(--ink-800)}.pf-lang-btn{cursor:pointer;border-radius:var(--radius-pill);font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-600);transition:var(--transition-control);background:0 0;border:none;padding:5px 12px}.pf-lang-btn[aria-pressed=true]{background:var(--ink-800);color:var(--paper-100);box-shadow:var(--shadow-press)}@media (hover:hover){.pf-lang-btn[aria-pressed=false]:hover{background:var(--paper-200)}}.pf-wordmark{font:inherit;color:inherit}.nav-desktop-controls{align-items:center;gap:var(--space-4);min-width:0;display:flex}@media (width<=900px){.nav-desktop-controls{display:none}}.nav-toggle{border:2px solid var(--ink-800);border-radius:var(--radius-pill);width:42px;height:42px;color:var(--ink-800);cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;padding:0;display:none}@media (width<=900px){.nav-toggle{display:inline-flex}}.mobile-menu{z-index:40;max-height:min(70dvh,520px);padding:var(--space-4);background:var(--paper-50);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);opacity:0;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);gap:4px;display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;overflow-y:auto;transform:translateY(-6px)}.mobile-menu.is-open{opacity:1;display:grid;transform:none}@starting-style{.mobile-menu.is-open{opacity:0;transform:translateY(-6px)}}.mobile-menu-item{justify-content:space-between;align-items:center;gap:var(--space-3);border-radius:var(--radius-xs);width:100%;min-height:46px;color:var(--ink-800);text-align:left;cursor:pointer;font:var(--weight-bold) var(--text-caption) / 1.2 var(--font-sans-stack);letter-spacing:var(--tracking-label);text-transform:uppercase;background:0 0;border:none;padding:10px 12px;display:flex}@media (hover:hover){.mobile-menu-item:hover{background:var(--paper-200)}}.mobile-menu-item:active{background:var(--sun-200)}.mobile-menu-footer{align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-hairline);flex-wrap:wrap;margin-top:6px;display:flex}.pf-skip-link{--pf-skip-bg:var(--paper-50,#fffdf8);--pf-skip-fg:var(--ink-800,#241209);--pf-skip-ring:var(--denim-500,#396b95);--pf-skip-shadow:var(--shadow-card);z-index:80;margin:var(--shell-pad,12px);min-height:44px;max-width:calc(100vw - 2 * var(--shell-pad,12px));border:2px solid var(--pf-skip-fg);border-radius:var(--radius-pill,999px);background:var(--pf-skip-bg);color:var(--pf-skip-fg);font:var(--weight-bold,700) var(--text-caption,11px) / 1 var(--font-sans-stack);letter-spacing:var(--tracking-label,.12em);text-transform:uppercase;box-shadow:var(--pf-skip-shadow);transform:translateY(calc(-100% - var(--shell-pad,12px) - 6px));transition:transform var(--dur-fast,.14s) var(--ease-out,ease);align-items:center;padding:12px 22px;text-decoration:none;display:inline-flex;position:fixed;top:0;left:0}.pf-skip-link:focus{transform:translateY(0)}.pf-skip-link:focus-visible{outline:3px solid var(--pf-skip-ring);outline-offset:3px}html[data-theme=dark] .pf-skip-link{--pf-skip-bg:#292323;--pf-skip-fg:#fff5e8;--pf-skip-ring:#3f7096;--pf-skip-shadow:0 3px 0 #00000059, 0 8px 20px #00000038}[data-pf-skip-target]:focus{outline:none}.pf-dialog-backdrop{z-index:60;background:var(--overlay-scrim);place-items:center;padding:clamp(8px,3vw,24px);display:grid;position:fixed;inset:0}.pf-dialog{width:min(100%, var(--pf-dialog-width,720px));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--paper-50);border-radius:var(--radius-lg);max-height:min(92dvh,100%);box-shadow:var(--shadow-modal);padding:clamp(18px,5vw,40px);overflow-y:auto}.pf-dialog:focus{outline:none}.pf-dialog-title{font:var(--type-display-3);color:var(--text-display);text-transform:uppercase;overflow-wrap:break-word;min-width:0;margin:0}.pf-dialog-head{align-items:flex-start;gap:var(--space-4);display:flex}@media (prefers-reduced-motion:reduce){.pf-skip-link,.mobile-menu,.pf-card-media,.pf-card-media-icon,.pf-card-arrow,.pf-contact,.pf-skill-disc,.pf-btn-bubble,.exp-item:before,.exp-chevron,.exp-details,.exp-details[data-open=false],.stat-band>:before,.capability:before,.language-row:before,.pf-skill-tile:before,.pf-contact:not(.pf-contact--link):before{transition:none}.mobile-menu{transform:none}}@media print{.exp-details,.exp-details[data-open=false]{visibility:visible!important;grid-template-rows:1fr!important}.exp-details-inner{overflow:visible!important}.exp-chevron,.exp-item:before,.stat-band>:before,.capability:before,.language-row:before,.pf-skill-tile:before,.pf-contact:before{display:none!important}}
