/* One geometry: straight edges, diagonal cuts, triangular accents. */
:root{--facet-cut:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))}
.button,.float-label,.organization-card,.process-object .process-layer,.skills-grid .glass-skill,.portrait-framed,.languages>div,.field input,.field select,.field textarea,.process-card-art:before,.accessibility-options,.accessibility-options button,.access-tile{border-radius:0!important}
.button,.float-label,.organization-card,.process-card-art:before{clip-path:var(--facet-cut)}
.process-object .process-layer:after,.glass-skill:after{content:'';position:absolute;right:0;top:0;width:18px;height:18px;background:#87b67366;clip-path:polygon(0 0,100% 0,100% 100%);pointer-events:none}.process-layer{position:relative}.folder-tab{border-radius:0!important;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 100%,0 100%)}
header .brand,footer .brand,header .brand:hover,footer .brand:hover{animation:none!important;background-position:var(--signature-position,0%) 50%!important;background-size:200% 100%!important;transition:none!important;background-image:linear-gradient(90deg,#005430 0%,#8db65b 50%,#005430 100%)!important}footer .brand,footer .brand:hover{background-image:linear-gradient(90deg,#eff7dd 0%,#84b561 50%,#eff7dd 100%)!important}
.button{position:relative;isolation:isolate;transition:background .25s,translate .25s,box-shadow .25s!important;box-shadow:0 4px 0 #00543045}.button:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 25%,#ffffff70 50%,transparent 75%);translate:-150% 0;animation:actionSweep 7s ease-in-out infinite;pointer-events:none}.button:hover,.button:focus-visible{translate:0 -3px;background:#b9eb3f!important;box-shadow:0 7px 0 #00543066}.button:active{translate:0 1px}.button span{display:inline-block;transition:transform .25s}.button:hover span{transform:translate(3px,-3px)}@keyframes actionSweep{0%,65%{translate:-150% 0}90%,100%{translate:150% 0}}
.skills-grid{grid-auto-rows:1fr}.skills-grid .glass-skill{height:100%;min-height:300px!important;display:grid;grid-template-rows:48px minmax(64px,auto) 1fr;align-content:start;box-sizing:border-box}.glass-skill h3{font-size:var(--type-card)!important;line-height:1.3!important}.glass-skill p{font-size:16px!important;line-height:1.65!important}.glass-skill .folder-icon{margin:0!important}
/* Header companion; original angular accessibility controls. */
header{z-index:100!important}.header-actions{gap:14px!important}.accessibility-panel{position:relative!important;inset:auto!important;bottom:auto!important;filter:none!important;color:#005430;flex-shrink:0}.accessibility-panel>summary{padding:0!important;width:44px;min-height:44px;background:transparent!important;border:0!important;border-radius:0!important;display:grid;place-items:center}.accessibility-panel>summary svg{width:29px;height:29px}.accessibility-panel[open]>summary{background:#dcebd1!important}.accessibility-options{position:fixed!important;top:85px!important;bottom:auto!important;inset-inline-end:20px!important;width:420px!important;max-width:calc(100vw - 32px)!important;max-height:calc(100dvh - 105px);overflow:auto;overscroll-behavior:contain;padding:24px!important;background:#f3f6ed!important;color:#123b29!important;border:1px solid #7d9b6c;box-shadow:0 18px 70px #002a2040;font-size:14px!important}.access-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.access-heading h2{font-size:24px!important;margin:0!important;line-height:1.3}.access-heading p{font-size:14px!important;margin:6px 0 0}.accessibility-options #access-close{width:44px;margin:0;padding:10px;flex-shrink:0}.accessibility-options img{filter:none!important;width:24px;height:24px;flex-shrink:0}.access-help{font-size:12px!important;line-height:1.6!important;margin:16px 0!important}.access-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.accessibility-options .access-tile{position:relative;display:flex;flex-direction:column;justify-content:center;gap:9px;min-height:108px;padding:12px 5px;border:1px solid #c2d5b7;background:#fff;font-size:12px;text-align:center;line-height:1.35;cursor:pointer}.access-tile input{position:absolute;inset:0;width:100%!important;height:100%!important;opacity:0;cursor:pointer;margin:0}.access-tile:has(input:checked){background:#d7edc0;border-color:#005430;box-shadow:inset 0 -3px #005430}.access-tile:has(input:checked):after{content:'✓';position:absolute;top:3px;right:5px;font-weight:700}.access-tile:has(input:focus-visible){outline:3px solid #005430;outline-offset:2px}.access-select{display:flex;justify-content:space-between;gap:12px;margin:14px 0;font-size:14px}.access-select select{font:inherit;background:#fff;padding:10px;color:#123b29;border:1px solid #97b28a;max-width:55%}.access-reading h3,.access-outline>summary,.access-glossary>summary{display:flex;align-items:center;gap:12px;font-size:16px!important;min-height:48px;cursor:pointer}.access-reading{display:flex;flex-wrap:wrap;gap:8px}.access-reading h3{width:100%;margin:8px 0}.accessibility-options .access-reading button{width:auto;flex:1;margin:0}.accessibility-options button{display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;font-size:14px!important}.access-outline,.access-glossary{border-top:1px solid #c2d5b7;margin-top:16px}.access-outline nav{display:flex!important;flex-direction:column;align-items:start;gap:0}.access-outline nav a{padding:10px 0;line-height:1.5;font-size:14px!important;text-decoration:underline}.access-glossary dt{font-weight:700;margin-top:14px}.access-glossary dd{margin:6px 0;font-size:14px;line-height:1.6}.accessibility-options #access-status{font-size:13px!important;line-height:1.5}
html.a11y-wide .accessibility-options{width:570px!important}html.a11y-text main p,html.a11y-text main li,html.a11y-text main label,html.a11y-text main input,html.a11y-text main textarea,html.a11y-text main select{font-size:20px!important}html.a11y-text .glass-skill p{font-size:20px!important}html.a11y-spacing main{letter-spacing:.075em!important;word-spacing:.15em!important}html.a11y-spacing main p,html.a11y-spacing main h3{letter-spacing:.075em!important;word-spacing:.15em!important}html[dir=rtl].a11y-spacing main{letter-spacing:normal!important}html.a11y-line main p{line-height:2!important}html.a11y-images main img{visibility:hidden!important}html.a11y-links main a,html.a11y-links footer a{text-decoration:underline!important;text-underline-offset:5px;text-decoration-thickness:2px!important}html.a11y-font main *{font-family:Arial,Tahoma,sans-serif!important}html.a11y-align main p,html.a11y-align main h2,html.a11y-align main h3{text-align:start!important}html.a11y-saturation main,html.a11y-saturation footer{filter:grayscale(1)}html.a11y-cursor,html.a11y-cursor *{cursor:url('/assets/large-cursor.svg') 4 2,auto!important}html.a11y-focus :focus-visible{outline:4px solid #f07c00!important;outline-offset:5px!important;box-shadow:0 0 0 8px #fff!important}.reading-guide{display:none;position:fixed;left:0;right:0;top:var(--guide-y,50vh);height:54px;translate:0 -50%;border-top:2px solid #005430;border-bottom:2px solid #005430;background:#d6f09618;pointer-events:none;z-index:90}html.a11y-guide .reading-guide{display:block}.access-tooltip{position:fixed;z-index:200;background:#003c27;color:white;padding:9px 12px;font-size:14px;max-width:260px;pointer-events:none;border:1px solid #b7db80}
html[data-contrast=dark] main,html[data-contrast=dark] footer{filter:invert(1) hue-rotate(180deg)}html[data-contrast=invert] main,html[data-contrast=invert] footer{filter:invert(1)}html[data-contrast=light] main>section,html[data-contrast=light] .motion-stage{background:#fff!important;color:#00271b!important}html[data-contrast=light] main p,html[data-contrast=light] main h1,html[data-contrast=light] main h2,html[data-contrast=light] main h3{color:#00271b!important}html[data-contrast=light] .glass-skill{background:#fff!important;border-color:#00271b!important}html[data-contrast=light] .glass-skill img{filter:none!important}
@media(max-width:900px){.header-actions{gap:5px!important}header .brand{font-size:clamp(18px,3.2vw,28px)!important}header .brand span{font-size:12px!important}.accessibility-options{top:78px!important;inset-inline-end:12px!important}.skills-grid .glass-skill{min-height:300px!important}}
@media(max-width:600px){header{gap:4px!important;padding-inline:12px!important}header .brand{font-size:clamp(15px,4.4vw,23px)!important;gap:5px!important}header .brand span{font-size:10px!important}.header-actions .languages>summary{font-size:0!important;gap:0!important;width:40px;padding:0!important;justify-content:center}.language-icon{width:22px!important}.accessibility-panel>summary{width:40px;min-height:44px}.accessibility-panel>summary svg{width:25px}.header-actions{margin-inline-start:auto!important;gap:0!important}.mobile-menu>summary{min-width:32px!important;padding:6px!important}.skills-grid .glass-skill{grid-template-rows:48px 64px 1fr;min-height:280px!important}.accessibility-options{padding:18px!important;top:74px!important;max-height:calc(100dvh - 86px)}}
html.a11y-motion .button:before{animation:none!important;display:none}html.a11y-motion .button:hover{translate:none!important}@media(prefers-reduced-motion:reduce){.button:before{animation:none!important;display:none}.button:hover{translate:none!important}}
@media(forced-colors:active){header .brand,footer .brand{background:none!important;color:LinkText!important;-webkit-text-fill-color:LinkText!important}.access-tile:has(input:checked){outline:3px solid Highlight}.accessibility-panel>summary{color:ButtonText}}
.hero .float-label,.hero .float-label:before,.hero .float-label:after,.accessibility-options select,.accessibility-options summary,.mobile-menu>summary{border-radius:0!important}.hero .float-label{clip-path:var(--facet-cut)!important}.hero .float-label:before,.hero .float-label:after{clip-path:var(--facet-cut)!important}.button:focus-visible{outline-offset:-4px!important;outline:3px solid #003c27!important}
.skills-grid .glass-skill{grid-template-rows:48px 96px 1fr!important}.skills-grid .glass-skill h3{margin:4px 0 0!important;align-self:start}html.a11y-text .skills-grid .glass-skill{grid-template-rows:48px minmax(96px,auto) 1fr!important}
/* Rounded interface: oval controls and consistently rounded surfaces. */
:root{--facet-cut:none}
.button,.hero .button,.header-actions .button,.hero .float-label,.hero .float-label:before,.hero .float-label:after,.languages>summary,.mobile-menu>summary,.accessibility-panel>summary{border-radius:999px!important;clip-path:none!important}
.organization-card,.process-object .process-layer,.skills-grid .glass-skill,#about .portrait-framed,.portrait-framed .portrait-scene,.languages>div,.mobile-menu nav,.accessibility-options{border-radius:24px!important;clip-path:none!important}
.process-object .process-layer:after,.glass-skill:after{display:none!important}
.skills-grid .glass-skill{border-top-left-radius:24px!important}.folder-tab{border-radius:14px 14px 0 0!important;clip-path:none!important;inset-inline-start:18px!important}.process-card-art:before{border-radius:50%!important;clip-path:none!important}
.field input,.field select,.field textarea,.accessibility-options select,.access-tile{border-radius:16px!important;clip-path:none!important}
.accessibility-options button,.access-outline>summary,.access-glossary>summary{border-radius:999px!important;clip-path:none!important}
.accessibility-options #access-close{border-radius:50%!important}.access-tile:has(input:checked){box-shadow:inset 0 0 0 2px #005430!important}.accessibility-panel>summary img{width:26px;height:26px;filter:none!important}.accessibility-panel>summary{border:1px solid transparent!important}.accessibility-panel>summary:hover,.accessibility-panel>summary:focus-visible{border-color:#8caa7c!important}.access-tooltip{border-radius:12px!important}.social-icons a,.social-unlinked{border-radius:50%!important}
.button,.hero .button,.header-actions .button{overflow:hidden!important}.organization-stack .organization-card,.organization-stack .organization-card:nth-child(n),.process-object .process-layer,.process-object .process-layer:nth-child(n),.process-object .process-layer.is-active,.process-object .process-layer:hover{border-radius:24px!important}
/* Still skill cards with a single subtle hover response. */
.skills-grid .glass-skill,.skills-grid .glass-skill:nth-child(n){animation:none!important;rotate:none!important;translate:none!important;transform:none!important;will-change:auto!important;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease!important;border-radius:24px!important}.skills-grid .glass-skill:hover{animation:none!important;rotate:none!important;translate:none!important;transform:none!important;border-color:#ffffffc0!important;background:linear-gradient(135deg,#ffffff48,#ffffff1c)!important;box-shadow:inset 0 1px 0 #ffffffaa,0 12px 28px #002b2020!important}
.button,.hero .button,.header-actions .button,.button:hover,.button:focus-visible,.button:active{box-shadow:none!important;filter:none!important;translate:none!important;transform:none!important;background:#cefa4b!important;transition:background-color .2s ease,color .2s ease!important}.button:before,.button:after{display:none!important;animation:none!important}.button:hover,.button:focus-visible{background:#b9e838!important}.button span,.button:hover span{transform:none!important;transition:none!important}
#about>.credentials>div{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:14px!important;padding:25px 0!important;min-height:0!important}#about .credentials .institution-pill{display:inline-flex!important;flex-wrap:wrap;align-items:center;gap:10px!important;max-width:100%;margin:0!important;padding:10px 18px!important;border:1px solid #bdd1b5;border-radius:999px!important;background:#edf4e5;color:#244d35;font-size:14px!important;line-height:1.5!important}#about .credentials .institution-pill .education-icons{position:static!important;inset:auto!important;display:inline-flex;align-items:center;min-height:0!important;margin:0!important;gap:8px!important;flex-shrink:0;grid-column:auto!important}#about .institution-pill .education-icons img{width:28px!important;height:19px!important;object-fit:contain}#about .institution-pill .education-icons svg{width:21px;height:21px}#about .institution-detail{color:#4a6849}.institution-detail:before{content:'·';margin-inline-end:10px}
.organization-card img[src$="merchantwise-transparent.png"]{object-fit:contain!important;width:100%!important;height:74px!important;mix-blend-mode:normal!important}.organization-card img[src$="we-transparent.png"]{object-fit:contain!important;width:74px!important;height:74px!important;mix-blend-mode:normal!important}
@media(max-width:600px){#about .credentials .institution-pill{border-radius:24px!important;padding:10px 14px!important;gap:8px!important}}
#about .institution-pill .institution-name,#about .institution-pill .institution-detail{font-size:14px!important;line-height:1.5!important;font-weight:400!important;letter-spacing:0!important}
/* Black signatures reveal their shared gradient only on hover or keyboard focus. */
header .brand,footer .brand{background:none!important;color:#000!important;-webkit-text-fill-color:#000!important}header .brand span,footer .brand span{color:inherit!important;-webkit-text-fill-color:inherit!important}
header .brand:hover,footer .brand:hover,header .brand:focus-visible,footer .brand:focus-visible{background-image:linear-gradient(90deg,#005430 0%,#719f37 50%,#005430 100%)!important;background-size:200% 100%!important;background-position:var(--signature-position,50%) 50%!important;background-clip:text!important;-webkit-background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important}
/* The real checkbox sits in its own padded row, away from every edge. */
.accessibility-options .access-tile{padding:15px 10px!important;gap:9px!important;min-height:144px!important;display:grid!important;grid-template-rows:24px minmax(34px,auto) 24px;justify-items:center;align-items:center;align-content:center}.access-tile img{grid-row:1}.access-tile span{grid-row:2}.accessibility-options .access-tile input{position:static!important;inset:auto!important;grid-row:3;appearance:auto!important;opacity:1!important;width:20px!important;height:20px!important;margin:0!important;accent-color:#005430;cursor:pointer}.access-tile:has(input:checked):after{display:none!important}.access-tile:has(input:checked){background:#deedd3!important;border-color:#005430!important;box-shadow:none!important}.access-tile:has(input:focus-visible){outline-offset:-4px!important}.access-tile input:focus-visible{outline-offset:3px!important}
.voice-controls{width:100%;display:grid;gap:8px;margin:0 0 12px}.voice-controls label{min-height:0;display:block;font-size:14px}.voice-controls select{width:100%;min-height:44px;border:1px solid #8fa980;border-radius:12px;background:white;color:#123b29;padding:9px 12px;font:inherit}.voice-controls .voice-note,.voice-controls #voice-availability{font-size:12px!important;line-height:1.6!important;margin:5px 0!important}.voice-controls #voice-availability:empty{display:none}.accessibility-options button:disabled{opacity:.5;cursor:not-allowed}.accessibility-options #accessibility-reset.reset-confirmed{background:#005430;color:white;border-color:#005430}.accessibility-options #accessibility-reset.reset-confirmed img{filter:invert(1)!important}
@media(forced-colors:active){header .brand,footer .brand,header .brand:hover,footer .brand:hover{background:none!important;color:LinkText!important;-webkit-text-fill-color:LinkText!important}}
/* Restore qualification rows with their icons on the right. */
#about>.credentials>div{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(180px,.6fr) 86px!important;align-items:center!important;gap:22px!important;padding:24px 0!important;min-height:95px!important;direction:ltr}#about .credentials>div>h3{grid-column:1!important;grid-row:1!important;margin:0!important}#about .credentials>div>p{grid-column:2!important;grid-row:1!important;margin:0!important;background:none!important;border:0!important;border-radius:0!important;padding:0!important}#about .credentials>div>.education-icons{grid-column:3!important;grid-row:1!important;position:static!important;inset:auto!important;justify-self:end!important;display:flex;gap:10px!important;align-items:center}html[dir=rtl] #about .credentials>div>h3,html[dir=rtl] #about .credentials>div>p{direction:rtl;text-align:right}
@media(max-width:800px){#about>.credentials>div{grid-template-columns:minmax(0,1fr) 86px!important;gap:8px 18px!important}#about .credentials>div>p{grid-column:1!important;grid-row:2!important}#about .credentials>div>.education-icons{grid-column:2!important;grid-row:1/3!important}}

/* Pale ivory and mint give the deep emerald quantum artwork clear separation. */
.hero{background:radial-gradient(ellipse at 83% 42%,#e7f2ed80,transparent 58%),linear-gradient(120deg,#fafbf6 0%,#f3f7ee 55%,#edf7f3 100%)}

/* Clear disclosure affordances and quiet process cards. */
.access-outline>summary:after,.access-glossary>summary:after{content:'';width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-inline-start:auto;flex-shrink:0;transition:transform .2s}
.access-outline[open]>summary:after,.access-glossary[open]>summary:after{transform:rotate(225deg)}
#process .process-progress,#process .process-progress:before,#process .process-progress:after{display:none!important}
#process .process-layer{animation:none!important;transform:none!important;transition:translate .25s ease,background .25s ease!important}
#process .process-layer:hover{translate:0 -5px}
#about .portrait-framed:before{display:none!important}
#about .portrait-framed .portrait-scene{transform-style:flat!important;isolation:isolate}
#about .portrait-framed .portrait-scene img{z-index:2!important;transform:none!important}
#about .portrait-framed .portrait-layers{inset:0;z-index:0;transform:none!important}
#about .portrait-layers i{width:85%;height:95%;opacity:.65;animation:portraitBackdrop 18s ease-in-out infinite alternate!important;transform:none!important}
#about .portrait-layers i:nth-child(2n){animation-duration:24s!important;animation-delay:-9s!important;opacity:.8}
#about .portrait-layers i:nth-child(3n){animation-duration:21s!important;animation-delay:-14s!important;opacity:.45}
@keyframes portraitBackdrop{from{translate:-8px 10px;rotate:-6deg}to{translate:10px -12px;rotate:6deg}}
html.a11y-motion #about .portrait-layers i{animation:none!important}
@media(prefers-reduced-motion:reduce){#about .portrait-layers i{animation:none!important}#process .process-layer:hover{translate:none!important}}
.voice-controls [hidden]{display:none!important}

/* The portrait and closing section share the same deep emerald and sage facets. */
#contact{background:linear-gradient(145deg,#003c27,#005430 50%,#52915e)!important}
#contact:before{background:linear-gradient(120deg,#003c27b8,#00543080 65%,#23764e55)!important;mix-blend-mode:normal;opacity:1!important}
#contact:after{background:linear-gradient(115deg,transparent 25%,#57946618 50%,transparent 75%)!important}
#contact .contact-crystals{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
#contact .contact-crystals i{width:65%;height:110%;left:-20%;bottom:-35%;background:linear-gradient(120deg,#005430 49.6%,#579466 50%)!important;opacity:.65;clip-path:polygon(50% 0,100% 100%,0 100%);animation:portraitBackdrop 22s ease-in-out infinite alternate!important}
#contact .contact-crystals i:nth-child(2){left:48%;right:auto;bottom:-10%;background:linear-gradient(120deg,#003c27 49.6%,#23764e 50%)!important;animation-delay:-9s!important;opacity:.8}
#contact .contact-crystals i:nth-child(3){left:20%;bottom:-65%;background:linear-gradient(120deg,#659b62 49.6%,#a5c681 50%)!important;animation-delay:-14s!important;opacity:.35}
html.a11y-motion #contact .contact-crystals i{animation:none!important}
@media(prefers-reduced-motion:reduce){#contact .contact-crystals i{animation:none!important}}
html[lang=ar] .brand span{font-size:.55em!important;letter-spacing:0!important}
html[lang=fr] .brand span,html[lang=it] .brand span{font-size:.42em!important}

/* Wrap skill headings between words, never inside a word. */
.skills-grid .glass-skill h3{overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;text-wrap:wrap}
html[lang=de] .skills-grid,html[lang=de].a11y-text .skills-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))!important}
header .brand span,footer .brand span,html[lang=ar] .brand span,html[lang=fr] .brand span,html[lang=it] .brand span{font-size:var(--type-credential)!important;white-space:nowrap;display:inline-block}
@media(max-width:600px){html[lang=de] .skills-grid .glass-skill{padding-inline:18px!important}html[lang=de] .skills-grid .glass-skill h3{font-size:clamp(18px,5.5vw,24px)!important}}

/* Form status stays visible beside the send action, without claiming delivery. */
#contact #form-status:empty{display:none}
#contact #form-status:not(:empty){display:block;margin:20px 0 0;padding:14px 18px;border:1px solid #b4d6bf;border-radius:16px;background:#f3f8ef;color:#003c27;font-size:14px;line-height:1.6;max-width:100%;box-shadow:none}

.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}#contact button:disabled{opacity:.65;cursor:wait}#form-status[data-state=error]{border-color:#dba48b!important;color:#702c19!important}

/* A direct LinkedIn connection precedes the enquiry form. */
#contact .contact-intro{align-self:start;padding-top:12px}
.contact-panel{position:relative;z-index:1;min-width:0;display:grid;gap:32px}
.linkedin-contact-card{display:flex;align-items:center;gap:18px;padding:24px;border:1px solid #c2e1ce80;border-radius:24px;background:linear-gradient(135deg,#ffffff24,#ffffff0d);color:#fff;min-height:110px;text-decoration:none!important;transition:background .2s,border-color .2s}
.linkedin-contact-card:hover{background:#ffffff28;border-color:#e6f2e4}
.linkedin-contact-card:focus-visible{outline:3px solid #cefa4b;outline-offset:5px}
.linkedin-mark{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:12px;background:#0a66c2;color:white}
.linkedin-mark svg{width:28px;height:28px;display:block}
.linkedin-card-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
.linkedin-card-copy strong{font-weight:500;font-size:clamp(19px,1.8vw,24px);line-height:1.3}
.linkedin-card-copy>span{font-size:14px;line-height:1.5;color:#e0edde}
.linkedin-card-arrow{margin-inline-start:auto;font-size:25px;flex-shrink:0}
footer .social-icons{position:relative;z-index:1;flex-wrap:wrap}
footer .social-icons a{pointer-events:auto;cursor:pointer;min-width:44px;min-height:44px;opacity:1}
footer .social-icons svg{pointer-events:none;width:20px;height:20px}
@media(max-width:600px){.linkedin-contact-card{padding:19px 16px;gap:12px}.linkedin-mark{flex-basis:44px;width:44px;height:44px}.linkedin-card-copy strong{font-size:19px}.linkedin-card-copy>span{font-size:13px}.contact-panel{gap:26px}}
#contact .contact-honeypot{left:0!important;top:0!important;width:1px!important;min-width:0!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;overflow:hidden!important;clip-path:inset(50%)!important}

/* Brand geometry: a connected tessellation, sharing the logo's 60-degree facets. */
footer .footer-logo{display:inline-flex;flex:none;line-height:0;background:none;text-decoration:none;padding:0}
footer .footer-logo img{display:block;width:142px;height:auto;transition:transform .3s ease}
footer .footer-logo:hover img{transform:translateY(-3px)}
footer .footer-logo:focus-visible{outline:3px solid #017965;outline-offset:6px;border-radius:8px}
#contact .linkedin-contact-card{padding:14px 18px;min-height:72px;gap:14px;border-radius:20px}
#contact .linkedin-mark{width:40px;height:40px;flex:0 0 40px;border-radius:9px}
#contact .linkedin-mark svg{width:23px;height:23px}
#contact .linkedin-card-copy strong{font-size:18px;line-height:1.4}
#contact .contact-panel{gap:24px}
#about .portrait-layers,#contact .contact-crystals{overflow:hidden;background:linear-gradient(145deg,#003c27,#005430 55%,#017965)}
#about .portrait-layers i,#contact .contact-crystals i{position:absolute!important;inset:-12%!important;width:124%!important;height:124%!important;clip-path:none!important;border-radius:0!important;background:url('/assets/logo-facets.svg') center/cover no-repeat!important;opacity:.48!important;transform-origin:center;animation:brandFacetDrift 26s ease-in-out infinite alternate!important;filter:none!important}
#about .portrait-layers i:nth-child(2),#contact .contact-crystals i:nth-child(2){inset:15% -25% -25% 15%!important;opacity:.18!important;mix-blend-mode:screen;animation:brandFacetDrift 34s ease-in-out -12s infinite alternate-reverse!important}
#about .portrait-layers i:nth-child(3),#contact .contact-crystals i:nth-child(3){inset:-10%!important;width:120%!important;height:120%!important;background:linear-gradient(115deg,rgba(0,40,25,.3),transparent 45%,rgba(0,40,25,.7))!important;opacity:1!important;animation:brandFacetLight 19s ease-in-out infinite alternate!important}
#contact .contact-crystals{z-index:-1}
#contact .contact-crystals i{opacity:.27!important}
#contact .contact-crystals i:nth-child(2){opacity:.1!important}
@keyframes brandFacetDrift{from{transform:translate3d(-1%,-1%,0) scale(1.04)}to{transform:translate3d(3%,2%,0) scale(1.12)}}
@keyframes brandFacetLight{from{transform:translateX(-3%)}to{transform:translateX(3%)}}
html.a11y-motion #about .portrait-layers i,html.a11y-motion #contact .contact-crystals i{animation:none!important}
@media(prefers-reduced-motion:reduce){#about .portrait-layers i,#contact .contact-crystals i{animation:none!important}footer .footer-logo img{transition:none}}
@media(max-width:600px){footer .footer-logo img{width:115px}#contact .linkedin-contact-card{padding:12px 14px}#contact .linkedin-card-copy strong{font-size:16px}}

/* Quiet emerald planes frame the portrait, without overlapping tiled patterns. */
#about .portrait-layers{background:radial-gradient(ellipse at 70% 28%,#237b5b 0%,#005430 50%,#002e21 100%)!important}
#about .portrait-layers i{inset:-15% -25% -15% -25%!important;width:150%!important;height:130%!important;clip-path:polygon(0 0,100% 0,24% 100%)!important;background:linear-gradient(150deg,#72b66d55,#17836812 70%)!important;opacity:.65!important;mix-blend-mode:normal!important;animation:portraitPlaneOne 17s ease-in-out infinite alternate!important}
#about .portrait-layers i:nth-child(2){inset:-5% -30% -15% 15%!important;width:120%!important;height:120%!important;clip-path:polygon(100% 0,100% 100%,0 70%)!important;background:linear-gradient(220deg,#35aa7a55,#003e2b88)!important;opacity:.65!important;animation:portraitPlaneTwo 23s ease-in-out -8s infinite alternate!important}
#about .portrait-layers i:nth-child(3){inset:10% -20% -20% -20%!important;width:140%!important;height:110%!important;clip-path:polygon(0 0,70% 100%,0 100%)!important;background:linear-gradient(30deg,#002d2180,#78ba7030)!important;opacity:.65!important;animation:portraitPlaneOne 21s ease-in-out -12s infinite alternate-reverse!important}
@keyframes portraitPlaneOne{from{transform:translate3d(-3%,-2%,0) rotate(-5deg)}to{transform:translate3d(5%,3%,0) rotate(6deg)}}
@keyframes portraitPlaneTwo{from{transform:translate3d(2%,-3%,0) rotate(4deg)}to{transform:translate3d(-5%,4%,0) rotate(-7deg)}}
footer{padding-block:18px!important;gap:18px!important;min-height:0!important}
footer .footer-logo{width:48px;min-height:44px;align-items:center;justify-content:center}
footer .footer-logo img{width:44px!important;height:auto}
html.a11y-motion #about .portrait-layers i{animation:none!important}
@media(prefers-reduced-motion:reduce){#about .portrait-layers i{animation:none!important}}
/* Supplied brand artwork: one coherent moving layer avoids overlapping patterns. */
#about .portrait-layers,#contact .contact-crystals{background:#005430!important}
#about .portrait-layers i:first-child,#contact .contact-crystals i:first-child{inset:-10%!important;width:120%!important;height:120%!important;clip-path:none!important;background:url('/assets/brand-background.svg') center/cover no-repeat!important;opacity:1!important;mix-blend-mode:normal!important;animation:suppliedPatternMotion 24s ease-in-out infinite alternate!important}
#about .portrait-layers i:nth-child(2),#contact .contact-crystals i:nth-child(2){display:none!important}
#about .portrait-layers i:nth-child(3),#contact .contact-crystals i:nth-child(3){inset:0!important;width:100%!important;height:100%!important;clip-path:none!important;background:linear-gradient(145deg,rgba(0,45,30,.12),rgba(0,45,30,.3))!important;opacity:1!important;animation:none!important;transform:none!important}
#contact .contact-crystals i:nth-child(3){background:linear-gradient(110deg,rgba(0,35,24,.56),rgba(0,35,24,.72))!important}
@keyframes suppliedPatternMotion{from{transform:translate3d(-2%,-2%,0) scale(1.02)}to{transform:translate3d(2%,2%,0) scale(1.08)}}
html.a11y-motion #about .portrait-layers i,html.a11y-motion #contact .contact-crystals i{animation:none!important}
@media(prefers-reduced-motion:reduce){#about .portrait-layers i,#contact .contact-crystals i{animation:none!important}}

#about .portrait-layers i:first-child{background-image:url('/assets/portrait-pattern.svg')!important;animation-duration:18s!important}
.mobile-menu>summary{display:flex!important;align-items:center!important;justify-content:center!important;width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;line-height:1!important;box-sizing:border-box}
.mobile-menu>summary svg{display:block;flex:none;width:22px;height:22px;margin:0}
#research article{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.6fr);gap:22px;align-items:center;padding:24px 0;min-height:95px;border-top:0;border-bottom:1px solid #d7e0d4}
#research article h3{grid-column:1;grid-row:1;margin:0}
#research article>span{grid-column:2;grid-row:1;font-size:16px;line-height:1.6;letter-spacing:0;text-transform:none;color:#52634d}
.analytics-consent{position:fixed;bottom:18px;inset-inline:18px;z-index:150;max-width:520px;background:#f6f7f1;color:#14271d;border:1px solid #8ca187;padding:20px;border-radius:24px}
.analytics-consent[hidden]{display:none}.analytics-consent p{margin:0 0 12px}.analytics-consent button,.analytics-settings{border:1px solid #8ca187;background:transparent;color:inherit;border-radius:999px;padding:10px 16px;min-height:44px;cursor:pointer}.analytics-consent button+button{margin-inline-start:10px}.analytics-settings{font-size:12px}
@media(max-width:800px){#research article{grid-template-columns:1fr;gap:8px}#research article>span{grid-column:1;grid-row:2}}
#research article>span{font-size:16px!important;letter-spacing:0!important;line-height:1.6!important}

/* Publication text uses the same typography as certification titles. */
#research article h3,#research article>span{font-size:var(--type-card)!important;line-height:1.35!important;letter-spacing:-.02em!important;font-weight:500!important;text-transform:none!important;font-family:inherit!important}

#contact #form-status[data-state="success"]:not(:empty){color:#fff!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:20px 0 0;font-size:16px;line-height:1.6}

#contact #form-status[data-state="pending"]{display:none!important}
#contact #form-status:not(:empty){background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;color:#fff!important}
