.resume-cylinder{padding:2.3rem 1rem 1.6rem;overflow:hidden}.cylinder-intro{text-align:center}.cylinder-edition{color:var(--yellow);letter-spacing:.2em;text-transform:uppercase;font-size:.7rem;font-weight:700}.cylinder-intro p{color:var(--muted);font-family:var(--display-font);margin-top:.7rem;font-size:1.2rem}.resume-cylinder .cylinder-intro p{color:var(--highlight-text)}.cylinder-surface{cursor:grab;touch-action:pan-x pinch-zoom;-webkit-user-select:none;user-select:none;border-radius:1rem;position:relative}.cylinder-surface:active{cursor:grabbing}.cylinder-surface{margin-block:1.25rem}.cylinder-surface:focus-visible{outline-offset:-4px}.cylinder-surface:after{content:"";pointer-events:none;background:radial-gradient(#00000018,#0000 72%);position:absolute;inset:85% 10% 4%}.cylinder-surface canvas{width:100%;height:clamp(240px,36vw,420px);display:block}.cylinder-loading{color:var(--muted);text-align:center;position:absolute;inset:40% 10% auto}.cylinder-controls{justify-content:center;align-items:center;gap:.8rem;max-width:31rem;margin:0 auto;display:flex}.cylinder-controls button{cursor:pointer;border-radius:50%;flex-shrink:0;place-items:center;width:2.75rem;height:2.75rem;display:grid}.cylinder-controls button:disabled{opacity:.35}.cylinder-position{flex:1;min-width:0}.cylinder-position>span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;gap:.5rem;font-size:.67rem;display:flex}.cylinder-position input{appearance:none;cursor:pointer;--slider-track-height:12px;--slider-thumb-size:18px;--slider-fill:var(--scroll-thumb);--slider-track:linear-gradient(to right, var(--slider-fill) var(--slider-progress), var(--scroll-track) var(--slider-progress));background:0 0;width:100%;height:1.7rem;margin:0;display:block}.cylinder-position input:hover{--slider-fill:var(--yellow)}.cylinder-position input::-webkit-slider-runnable-track{box-sizing:border-box;height:var(--slider-track-height);background:var(--slider-track) padding-box, linear-gradient(var(--scroll-track), var(--scroll-track)) border-box;border:3px solid #0000;border-radius:999px}.cylinder-position input::-moz-range-track{box-sizing:border-box;height:var(--slider-track-height);background:var(--slider-track) padding-box, linear-gradient(var(--scroll-track), var(--scroll-track)) border-box;border:3px solid #0000;border-radius:999px}.cylinder-position input::-webkit-slider-thumb{appearance:none;box-sizing:border-box;width:var(--slider-thumb-size);height:var(--slider-thumb-size);margin-top:calc((var(--slider-track-height) - var(--slider-thumb-size)) / 2 - 3px);border:3px solid var(--slider-fill);background:var(--slider-fill);border-radius:50%}.cylinder-position input::-moz-range-thumb{box-sizing:border-box;width:var(--slider-thumb-size);height:var(--slider-thumb-size);border:3px solid var(--slider-fill);background:var(--slider-fill);border-radius:50%}.cylinder-help{text-align:center;color:var(--muted);margin-top:1.1rem;font-size:.75rem;line-height:1.8}.cylinder-help span{font-size:.7rem}@media (width>=741px){.cylinder-surface{margin-block:2rem}}@media (width<=740px){.resume-cylinder{padding-inline:.5rem}.cylinder-intro{padding-inline:1rem}.cylinder-intro p{font-size:1rem}.cylinder-controls{gap:.45rem;padding-inline:.5rem}.cylinder-controls button{width:2.5rem;height:2.5rem}}.theme-picker{min-width:0;position:relative}.theme-picker .theme-toggle{letter-spacing:.06em;text-transform:none;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;width:100%;min-height:2.8rem;padding:.65rem .9rem;font-size:.72rem;font-weight:800;display:inline-flex}.header-theme .theme-toggle{height:2.35rem;min-height:2.35rem;padding-block:0}.theme-picker .theme-toggle[aria-expanded]:active{translate:none}@media (prefers-reduced-motion:no-preference){.theme-picker .theme-toggle[aria-expanded=true]{animation:.22s theme-toggle-press}}@keyframes theme-toggle-press{50%{translate:0 2px}}.theme-toggle svg{flex-shrink:0}.theme-toggle[aria-expanded=true] .theme-caret{transform:rotate(180deg)}.theme-menu{z-index:30;border:1px solid var(--page-line);width:11rem;color:var(--page-text);background:var(--page-surface);border-radius:1rem;gap:2px;padding:.4rem;display:grid;position:absolute;top:calc(100% + .6rem);right:0;box-shadow:0 .75rem 2rem #0000002e}.theme-picker .theme-menu .theme-option{width:100%;min-height:2.8rem;color:var(--page-text);text-transform:none;cursor:pointer;background:0 0;border:0;border-radius:.65rem;justify-content:flex-start;align-items:center;gap:.65rem;padding:.65rem .75rem;font-size:.8rem;font-weight:500;display:flex}.theme-picker .theme-menu .theme-option:after{content:none}.theme-picker .theme-menu .theme-option[aria-checked=true]{color:var(--secondary);background:color-mix(in srgb, var(--secondary) 12%, var(--page-surface));font-weight:700}.theme-picker .theme-menu .theme-option:hover,.theme-picker .theme-menu .theme-option:focus-visible{background:color-mix(in srgb, var(--secondary) 18%, var(--page-surface))}.theme-check{margin-left:auto}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--page-text);background:var(--page-bg);font-synthesis:none;text-rendering:optimizelegibility;--accent:#9a6a28;--yellow:var(--accent);--secondary:#166a68;--gold:#c6a366;--header-gradient:linear-gradient(90deg, var(--secondary), var(--gold));--ink:#000;--white:#fffcf4;--display-font:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;--page-bg:#f6f0e4;--page-surface:#fffbf2;--page-text:var(--ink);--highlight-text:#000;--page-muted:#626c64;--page-line:#8f6e3b4d;--header-bg:#f6f0e4f2;--technology-bg:#f7f0df;--technology-shadow:#8f6e3b24;--impact-link:var(--secondary);--scroll-track:#e9dfcb;--scroll-thumb:#166a68;--nav-active:var(--secondary);--pattern-opacity:.65;--pattern-blend:multiply;--pattern-filter:none;--contact-bg:var(--page-bg);--paper:var(--page-bg);--muted:var(--page-muted);--line:var(--page-line);font-family:Inter,Avenir Next,Avenir,Segoe UI,Helvetica,Arial,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--accent:#d9b778;--secondary:#8acdc4;--page-bg:#0c282d;--page-surface:#15383c;--page-text:#f5eddb;--highlight-text:#fff;--page-muted:#b5c5bd;--page-line:#d9b7784d;--header-bg:#0c282df2;--technology-bg:#183d40;--technology-shadow:#0000002e;--impact-link:var(--secondary);--scroll-track:#183d40;--scroll-thumb:#d9b778;--contact-bg:var(--page-bg);--pattern-opacity:.45;--pattern-blend:screen;--pattern-filter:invert(1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem;overflow-x:clip}body{isolation:isolate;min-width:320px;min-height:100vh;color:var(--page-text);background:var(--page-bg);margin:0;position:relative;overflow-x:clip}:root[data-theme=dark] :is(h1,h2,h3,h4,h5,h6){color:var(--highlight-text)}body:before{z-index:-1;content:"";opacity:var(--pattern-opacity);mix-blend-mode:var(--pattern-blend);filter:var(--pattern-filter);pointer-events:none;background-image:url(/persian-garden.jpg);background-position:0 0;background-repeat:repeat;background-size:360px 640px;background-attachment:fixed;position:absolute;inset:0}body:after{z-index:-2;background:var(--page-bg);content:"";pointer-events:none;position:fixed;inset:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit}img{max-width:100%;display:block}p,h1,h2,h3,dl,dd{margin:0}ul{margin:0;padding:0;list-style:none}::selection{color:var(--ink);background:var(--yellow)}.skip-link{z-index:100;color:var(--white);background:var(--ink);padding:.8rem 1rem;transition:transform .18s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--secondary);outline-offset:4px}.reveal{animation:.65s both rise-in;animation-timeline:view();animation-range:entry 5% cover 25%}@keyframes rise-in{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}.site-header{z-index:20;min-height:4.5rem;padding-inline:var(--hero-inline-padding);color:var(--page-text);background:var(--header-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:sticky;top:0}.page-progress{background:var(--page-line);height:3px;position:absolute;bottom:-3px;left:0;right:0;overflow:hidden}.page-progress span{background:var(--header-gradient);transform-origin:0;will-change:transform;width:100%;height:100%;display:block;transform:scaleX(0)}.brand,.header-links,.header-icon{align-items:center;display:flex}.brand{gap:.8rem}.site-nav{justify-self:center;align-items:center;gap:clamp(.9rem,2.4vw,2.2rem);display:flex}.site-nav a{letter-spacing:.07em;text-transform:uppercase;font-size:.68rem;font-weight:700}:where(:root[data-theme=dark]) :is(.site-nav,.mobile-menu nav) a{color:#fff}.site-nav a[aria-current=location]{color:var(--nav-active);font-weight:800}.site-nav a:hover:not([aria-current=location]){color:var(--accent)}.brand-avatar{--portrait-bg:var(--button-bg);background:linear-gradient(var(--portrait-bg), var(--portrait-bg)) padding-box, var(--header-gradient) border-box;border:2px solid #0000;border-radius:45% 45% 0 0;flex:none;width:2.55rem;height:2.55rem;display:block;position:relative;overflow:hidden}:root[data-theme=dark] .brand-avatar{--portrait-bg:color-mix(in srgb, var(--button-bg) 55%, var(--secondary))}.brand-avatar img{object-fit:cover;transform-origin:top;width:100%;height:100%;position:absolute;inset:0;transform:translate(calc(1.5px - 3.28%),calc(2px - 6.07%))scale(-1.0538,1.0538)}.brand-name{color:var(--button-text);white-space:nowrap;font-family:var(--display-font);letter-spacing:.01em;font-size:1.05rem;font-weight:400}.header-links{justify-self:end;gap:.55rem}.header-icon{border:1px solid var(--line);background:var(--page-surface);border-radius:50%;justify-content:center;width:2.35rem;height:2.35rem;transition:color .18s,background .18s}.header-icon:hover{color:var(--page-bg);background:var(--page-text)}.header-icon svg{width:1rem;height:1rem}.header-theme{margin-left:.35rem}.mobile-header-actions,.mobile-menu-toggle,.mobile-menu{display:none}.hero{background:0 0;height:300svh;min-height:132rem;display:flow-root;position:relative}.hero-impact{--impact-control-height:2.1rem;--hero-edge-inset:1.75rem;top:calc(4.5rem + var(--section-side-margin));min-width:0;height:calc(100svh - 4.5rem - 2 * var(--section-side-margin));margin-block:var(--section-side-margin);padding-inline:var(--hero-inline-padding);color:var(--page-text);background:0 0;grid-template-rows:auto minmax(0,1fr);row-gap:1.25rem;display:grid;position:sticky;overflow:visible}.hero-impact:before{z-index:-1;inset:0 var(--section-side-margin);border:1px solid var(--page-line);background:var(--section-background);content:"";pointer-events:none;position:absolute}.mobile-impact-list{background:var(--section-background);margin:var(--section-side-margin);border:1px solid var(--page-line);display:none}.eyebrow{letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;font-weight:850}.impact-stage{grid-template-rows:minmax(0,1fr) auto;place-self:center;gap:.8rem;width:100%;min-height:0;padding:0;display:grid;position:relative;top:-.5rem}.impact-focus-card{min-height:0;color:var(--page-text);background:0 0;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);align-items:center;column-gap:clamp(1rem,2.25vw,2rem);padding:0 0 2.5rem;animation:.72s cubic-bezier(.22,1,.36,1) both impact-reveal;display:grid;position:relative;overflow:visible}@keyframes impact-reveal{0%{opacity:.15;filter:blur(8px);transform:translateY(2rem)scale(.985)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.impact-card-topline{color:var(--page-text);letter-spacing:.12em;text-transform:uppercase;grid-column:1/-1;justify-content:space-between;align-items:center;font-size:.78rem;font-weight:650;display:flex}.impact-card-labels{align-items:center;gap:.55rem;display:flex}:root:not([data-theme=dark]) .impact-card-labels p:first-child{color:#153f40}.impact-card-labels span,.impact-card-labels p:last-child,.impact-card-counter{color:var(--page-muted)}.impact-card-counter{z-index:8;position:relative}.impact-story-copy{z-index:2;grid-area:2/1;align-self:center;position:relative}.impact-story-side{z-index:2;grid-area:2/2;align-self:center;min-width:0;position:relative}.impact-focus-card h1{z-index:1;max-width:15ch;font-size:clamp(3.25rem,5.8vw,6.3rem);font-family:var(--display-font);letter-spacing:-.06em;margin:.6rem 0 clamp(1.5rem,3vw,2.5rem);font-weight:400;line-height:1.02;position:relative}.impact-metrics{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid;position:relative}.impact-metrics-compact{grid-template-columns:repeat(2,minmax(0,1fr));max-width:34rem;margin-top:1.2rem}.impact-metrics-compact dt{font-size:clamp(1.35rem,2.2vw,2.3rem)}.impact-product-link{border-bottom:1px solid color-mix(in srgb, var(--impact-link) 55%, transparent);color:var(--impact-link);letter-spacing:.07em;text-transform:uppercase;align-items:center;gap:.55rem;margin-top:1.75rem;font-size:.78rem;font-weight:850;line-height:1.8;transition:border-color .18s,color .18s;display:inline-flex}.impact-product-link:hover{border-color:var(--yellow);color:var(--yellow)}.impact-product-link svg{width:.95rem;height:.95rem}.impact-gallery{width:100%;min-height:clamp(20rem,51svh,30rem);position:relative}@media (width>=741px){.impact-gallery{left:calc(-1*clamp(1.75rem,4vw,4rem))}.impact-gallery-square,.impact-gallery-bookapo{top:-3rem}.impact-gallery-landscape{top:-1.5rem}.impact-gallery-bookapo{left:calc(-1*clamp(1.75rem,4vw,4rem) - 48px)}}.gallery-playback{z-index:8;min-height:1.75rem;color:var(--page-muted);cursor:pointer;letter-spacing:.05em;text-transform:uppercase;opacity:.9;background:0 0;border:0;align-items:center;gap:.42rem;padding:0;font-size:.62rem;font-weight:800;transition:opacity .5s;display:inline-flex;position:absolute;bottom:-2.25rem;right:0}.gallery-playback svg{fill:currentColor;width:.9rem;height:.9rem}.impact-card-counter .gallery-playback{height:var(--impact-control-height);white-space:nowrap;padding-block:0;top:calc(100% + .125rem);bottom:auto}.gallery-playback:is(.is-prominent,:hover,:focus-visible){opacity:1}.gallery-playback:hover{color:var(--page-text)}.impact-image-card{background:var(--white);transform-origin:50%;border-radius:0;width:min(88%,31rem);margin:0;transition:z-index,transform .4s cubic-bezier(.22,1,.36,1);position:absolute;overflow:hidden;box-shadow:0 1rem 3rem #051f2140}.impact-image-card:first-child{z-index:1;top:0;left:0;transform:rotate(-2.5deg)}.impact-image-card:nth-child(2){z-index:2;top:22%;right:0;transform:rotate(2deg)}.impact-image-card:nth-child(3){z-index:3;bottom:0;right:8%;transform:rotate(-1deg)}.impact-image-card:hover,.impact-image-card.is-active{z-index:5;transform:translateY(-.6rem)rotate(0)scale(1.035)}.impact-image-card:hover{z-index:6}.impact-image-card img{aspect-ratio:16/9;object-fit:cover;width:100%}.impact-gallery-landscape .impact-image-card img{object-fit:contain}.impact-image-link{color:inherit;text-decoration:none;display:block}.impact-image-link:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.impact-image-card figcaption{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .65rem;font-size:.75rem;font-weight:600;display:flex}.impact-image-card figcaption small{color:#626c64;letter-spacing:normal;text-align:left;text-transform:none;font-size:.75rem;font-weight:450}.impact-image-card figcaption>span{text-align:right;margin-inline-start:auto;font-size:.65rem}.impact-gallery-square .impact-image-card,.impact-gallery-bookapo .impact-image-card--portrait{border-radius:2.5rem 2.5rem 0 0}.impact-gallery-square .impact-image-card{width:min(65%,22rem)}.impact-gallery-square .impact-image-card img{aspect-ratio:1;object-fit:contain}.impact-gallery-square .impact-image-card:first-child{left:3%}.impact-gallery-square .impact-image-card:nth-child(2){right:3%}.impact-gallery-square .impact-image-card:nth-child(3){right:18%}@media (width>=741px){.impact-gallery-square .impact-image-card:nth-child(2){top:calc(22% - 3rem)}.impact-gallery-square .impact-image-card:nth-child(3){bottom:-2rem}}.impact-gallery-bookapo{min-height:clamp(22rem,53svh,31rem)}.impact-gallery-bookapo .impact-image-card--portrait{--bookapo-phone-padding-x:clamp(.8rem, 1.5vw, 1.35rem);z-index:2;width:min(58%,21rem);padding:.8rem var(--bookapo-phone-padding-x) 0;background:#fffdf7e6;inset:-1.5rem 4% auto auto;transform:rotate(1.5deg);box-shadow:0 1rem 3rem #00000047}.impact-gallery-bookapo .impact-image-card--portrait img{aspect-ratio:auto;object-fit:contain;width:100%;height:clamp(18rem,48svh,26rem)}.impact-gallery-bookapo .impact-image-card--portrait figcaption{margin:.45rem calc(-1 * var(--bookapo-phone-padding-x)) 0}.impact-gallery-bookapo .impact-image-card--landscape{z-index:1;width:88%;inset:auto 0 4% auto;transform:rotate(1deg)}.impact-gallery-bookapo .impact-image-card--landscape img{aspect-ratio:2.37;object-fit:cover}.impact-gallery-bookapo .impact-image-card:hover,.impact-gallery-bookapo .impact-image-card.is-active{z-index:5;transform:translateY(-.6rem)rotate(0)scale(1.035);box-shadow:0 1.35rem 3.5rem #0000007a}.impact-gallery-bookapo .impact-image-card:hover{z-index:6}.impact-metrics div{border-top:1px solid var(--page-line);min-width:0;padding-top:.8rem}.impact-metrics dt{width:fit-content;color:var(--yellow);font-size:clamp(1.8rem,3.4vw,3.2rem);font-family:var(--display-font);letter-spacing:-.035em;font-weight:400;line-height:1}@supports ((-webkit-background-clip:text) or (background-clip:text)){:root[data-theme=dark] .impact-metrics dt{background-image:linear-gradient(90deg, var(--gold), var(--secondary));color:#0000;-webkit-background-clip:text;background-clip:text}}@media (forced-colors:active){:root .impact-metrics dt,:root[data-theme=dark] .impact-metrics dt{color:canvastext;background-image:none}}.impact-metrics dd{color:var(--highlight-text);letter-spacing:.035em;text-transform:uppercase;margin-top:.28rem;font-size:clamp(.68rem,.82vw,.8rem);font-weight:700;line-height:1.25}.scroll-cue{z-index:5;bottom:var(--hero-edge-inset);width:auto;height:var(--impact-control-height);border:1px solid var(--page-line);background:var(--page-bg);color:var(--page-text);cursor:pointer;border-radius:2rem;place-items:center;padding:0 2rem;transition:color .18s,background .18s,transform .18s;display:grid;position:absolute;left:50%;transform:translate(-50%)}.scroll-cue span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.scroll-cue:hover{color:var(--yellow);background:0 0}.scroll-cue svg{stroke-width:2.5px;width:1.4rem;height:1.4rem}.hero-identity{height:auto;color:var(--page-muted);justify-content:space-between;align-items:center;gap:1.5rem;padding-top:1.25rem;line-height:1.6;display:flex}.hero-impact .hero-identity{padding-top:var(--hero-edge-inset)}.hero-identity .eyebrow{gap:.35rem;font-size:clamp(.65rem,.75vw,.8rem);font-weight:600;display:grid}.hero-identity .eyebrow span:first-child{color:var(--secondary)}@media (width<=740px){.hero-identity{flex-direction:column;align-items:flex-start;gap:1.2rem}}:root{--section-margin:2.5rem;--section-inline-padding:calc(var(--hero-inline-padding) - var(--section-side-margin) - 1px);--section-side-margin:2vw;--hero-inline-padding:5vw;--section-gradient-start:color-mix(in srgb, var(--page-bg) 97%, transparent);--section-background:linear-gradient(90deg, var(--section-gradient-start), color-mix(in srgb, var(--page-bg) 74%, transparent) 44%, color-mix(in srgb, var(--page-bg) 40%, transparent))}.section{--section-divider-gap:calc(var(--section-margin) + 2rem);--section-frame-gap:calc(var(--section-divider-gap) + var(--section-side-margin));--section-divider-stroke:2px solid var(--secondary);margin-block:var(--section-divider-gap);margin-inline:var(--section-side-margin);padding:clamp(4.5rem, 8vw, 8rem) var(--section-inline-padding);border:1px solid var(--page-line);background:var(--section-background);position:relative}.section+.section{margin-block-start:var(--section-frame-gap)}.section:before,.section:after{top:calc(var(--section-frame-gap) / -2);content:"";pointer-events:none;position:absolute}.section:before{z-index:1;background:var(--secondary);width:2rem;height:2rem;left:50%;transform:translate(-50%,-50%);-webkit-mask:url(/divider-floral.svg) 50%/contain no-repeat;mask:url(/divider-floral.svg) 50%/contain no-repeat}.section:after{inset-inline:calc(-1 * var(--section-side-margin) - 1px);border-top:var(--section-divider-stroke);transform:translateY(-50%);-webkit-mask-image:linear-gradient(90deg,#0000,#000 25% calc(50% - 1.6rem),#0000 calc(50% - 1.6rem) calc(50% + 1.6rem),#000 calc(50% + 1.6rem) 75%,#0000);mask-image:linear-gradient(90deg,#0000,#000 25% calc(50% - 1.6rem),#0000 calc(50% - 1.6rem) calc(50% + 1.6rem),#000 calc(50% + 1.6rem) 75%,#0000)}.section-heading{margin-bottom:clamp(3rem,6vw,5.5rem)}.section-heading h2{max-width:16ch;font-size:clamp(2.8rem,5.8vw,6.2rem);font-family:var(--display-font);letter-spacing:-.055em;margin-top:.8rem;font-weight:400;line-height:1.02}@media (width>=741px){#skills-title,#resume-title{white-space:nowrap;max-width:none;font-size:clamp(2rem,4.6vw,6.2rem)}}.skills.section{padding-block:clamp(3rem,6vw,5.5rem)}.skills{color:var(--page-text);padding-left:0;padding-right:0}.skills .section-heading{padding:0 var(--section-inline-padding)}.skills .eyebrow{color:var(--yellow)}.skills-inspiration{color:var(--highlight-text);font-family:var(--display-font);margin-top:.7rem;font-size:clamp(1rem,2vw,1.2rem)}.skills-inspiration a{color:var(--page-text);text-decoration:underline;-webkit-text-decoration-color:var(--yellow);text-decoration-color:var(--yellow);text-underline-offset:.22em;font-weight:500;text-decoration-thickness:2px}.skills-layout{border-top:1px solid var(--page-line);grid-template-columns:minmax(0,1fr) minmax(18rem,27vw);display:grid}.skill-lanes{min-width:0}.skill-lane{border-bottom:1px solid var(--page-line);background:color-mix(in srgb, var(--page-bg) 45%, transparent);grid-template-columns:minmax(15rem,.28fr) 1fr;min-height:9rem;display:grid}.skill-lane-heading{padding:1.3rem var(--section-inline-padding);border-right:1px solid var(--page-line);align-content:center;gap:.8rem;display:grid}.skill-lane-heading h3{letter-spacing:-.015em;max-width:12rem;font-size:clamp(.9rem,1.2vw,1.2rem);font-weight:500;line-height:1.2}.soft-skills{border-bottom:1px solid var(--page-line);border-left:1px solid var(--page-line);background:color-mix(in srgb, var(--secondary) 8%, var(--page-bg));padding:clamp(2rem,3vw,3rem)}.soft-skills .eyebrow{color:var(--page-muted)}@media (width>=741px){:root:not([data-theme=dark]) .soft-skills{background:var(--technology-bg)}}.soft-skills h3{white-space:nowrap;font-size:clamp(2rem,3vw,3.25rem);font-family:var(--display-font);letter-spacing:-.035em;margin:.8rem 0 2.2rem;font-weight:400;line-height:1.05}.soft-skills li{border-top:1px solid var(--page-line);color:var(--highlight-text);padding:.9rem 0;font-size:clamp(.78rem,.95vw,.95rem);font-weight:600;line-height:1.25}.technology-window{background:color-mix(in srgb, var(--page-text) 2.5%, transparent);align-items:stretch;min-width:0;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000)}.technology-track{width:max-content;min-width:max-content;animation:marquee var(--marquee-duration) linear infinite;will-change:transform;display:flex}.skill-lane:nth-child(2n) .technology-track{animation-direction:reverse}.technology-window:hover .technology-track,.technology-window:focus-within .technology-track{animation-play-state:paused}.technology-set{flex:none;gap:.75rem;padding:.9rem .75rem .9rem 0;display:flex}.technology{isolation:isolate;border:1px solid var(--page-line);width:7.8rem;min-height:7.2rem;color:var(--page-text);background:var(--technology-bg);box-shadow:0 .3rem .8rem var(--technology-shadow);text-align:center;border-radius:2.5rem 2.5rem 0 0;flex:none;place-content:center;justify-items:center;gap:.75rem;padding:.9rem .65rem;transition:background-color .25s,border-color .25s,color .25s;display:grid;position:relative}:root:not([data-theme=dark]) .technology:before{z-index:-1;border-radius:inherit;background:linear-gradient(var(--button-bg), var(--button-bg)) padding-box, linear-gradient(var(--button-border-angle), var(--secondary), var(--gold)) border-box;content:"";opacity:0;pointer-events:none;border:2px solid #0000;transition:opacity .25s;position:absolute;inset:-1px}:root:not([data-theme=dark]) .technology:hover:before{opacity:1}:root[data-theme=dark] .technology:hover{border-color:color-mix(in srgb, var(--accent) 70%, transparent);color:var(--page-text);background-color:var(--section-gradient-start)}:root:not([data-theme=dark]) .technology:hover svg:not([fill=none]){fill:url(#skill-icon-gradient)}:root:not([data-theme=dark]) .technology:hover svg[stroke=currentColor]{stroke:url(#skill-icon-gradient)}.technology svg{width:2.35rem;height:2.35rem}.technology span{letter-spacing:.035em;max-width:7.2rem;font-size:.65rem;font-weight:800;line-height:1.2}@keyframes marquee{to{transform:translate(-25%)}}.resume.section{padding-top:clamp(3rem,6vw,5.5rem)}.resume .section-heading .eyebrow{color:var(--yellow)}.resume-public-note{max-width:72rem;margin:calc(clamp(3rem,6vw,5.5rem)/-1.81818) 0 clamp(2.5rem,4vw,4rem)}.resume-public-note>p{max-width:54rem;color:var(--highlight-text);font-size:clamp(.95rem,1.4vw,1.16rem);line-height:1.65}.resume-public-note-break{display:none}@media (width>=741px){.resume.section{padding-bottom:clamp(3rem,5vw,5.7rem)}.resume-public-note,.resume-public-note>p{max-width:none}.resume-public-note-break{display:initial}}.resume-public-note a,.cylinder-intro a{color:var(--page-text);text-decoration:underline;-webkit-text-decoration-color:var(--yellow);text-decoration-color:var(--yellow);text-underline-offset:.22em;font-weight:500;text-decoration-thickness:2px}.resume-card{--resume-corner-radius:.3rem}.resume-toolbar{border-bottom:1px solid var(--page-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1.2rem;display:flex}.resume-updated{color:var(--muted);margin-top:.75rem;display:block}.resume-tabs{gap:0;padding:0;display:flex}.resume-panels{max-width:72rem;margin-inline:auto}@media (width>=741px){.resume-panels{display:grid}.resume-panels>[role=tabpanel]{grid-area:1/1;min-width:0}.resume-panels>[role=tabpanel][hidden]{visibility:hidden;display:block}}.resume-tabs button{cursor:pointer;border-radius:0;justify-content:center;align-items:center;gap:.5rem;min-height:2.8rem;padding:.65rem 1.15rem;font-size:.8rem;display:inline-flex}.resume-tabs button:first-child{border-radius:999px 0 0 999px}.resume-tabs button:last-child{border-radius:0 999px 999px 0;margin-left:-1px}.resume-tabs button:focus-visible{z-index:1}.resume-tab-label{display:inline-grid}.resume-tab-label>span{grid-area:1/1}.resume-tab-label>[aria-hidden=true]{visibility:hidden;font-weight:700}.resume-tabs button[aria-selected=true]{z-index:1;--button-bg:color-mix(in srgb, var(--secondary) 12%, var(--page-surface));--button-text:var(--page-text);--button-hover-bg:color-mix(in srgb, var(--secondary) 18%, var(--page-surface));font-weight:700}.resume-tabs button[aria-selected=true]:after,.resume-tabs button[aria-selected=true]:hover:not(:disabled):after{border-width:3px}:root[data-theme=dark] .resume-tabs button[aria-selected=true]{--button-bg:#265052;--button-text:var(--page-text);--button-hover-bg:#2e5b5d}@media (width<=740px){.resume-tabs{flex:1}.resume-tabs button{flex:1;padding-inline:.5rem}}.button{border:1px solid var(--secondary);min-height:3.1rem;color:var(--page-bg);background:var(--secondary);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.8rem 1.2rem;font-size:.74rem;font-weight:800;transition:background-color .18s,border-color .18s;display:inline-flex}.button:hover{border-color:var(--page-text);background-color:var(--page-text)}.resume-pdf-intro{padding-top:2.3rem}.resume-preview-scroll{margin-top:2.3rem;overscroll-behavior:contain;isolation:isolate;border:1px solid var(--gold);border-radius:var(--resume-corner-radius);background:var(--button-bg);width:calc(86% - 1.72rem);height:min(68svh,46rem);margin-inline:auto;overflow:auto}@media (width<=980px){.resume-preview-scroll{width:100%}}:root[data-theme=dark] .resume-preview-scroll{background:#f5f0e4}.resume-color-filter{position:absolute}.resume-preview-scroll img{filter:url(#resume-accent);width:100%;height:auto}.cylinder-surface canvas{filter:url(#resume-cylinder-paper-light)}.resume-preview-scroll img{mix-blend-mode:multiply}:root[data-theme=dark] .resume-preview-scroll img{filter:url(#resume-cylinder);mix-blend-mode:multiply}:root[data-theme=dark] .cylinder-surface canvas{filter:url(#resume-cylinder-paper)}:root[data-theme=dark] .resume-cylinder{isolation:isolate}@media (width<=740px){.resume.section{padding-top:3rem}}.contact{color:var(--page-text);grid-template-columns:minmax(0,1.35fr) minmax(20rem,.65fr);align-items:end;column-gap:clamp(3rem,8vw,9rem);padding-top:clamp(3.5rem,5vw,5rem);padding-bottom:clamp(5rem,8vw,8rem);display:grid}.contact .section-heading{margin-bottom:0;container-type:inline-size}.contact #contact-title{white-space:nowrap;max-width:none;font-size:clamp(1.65rem,10cqi,5rem)}.contact .eyebrow{color:var(--yellow)}.contact-action{gap:1.5rem;width:100%;display:grid}.contact-action>p{max-width:42rem;color:var(--highlight-text);font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.6}.contact-link{justify-self:start;width:fit-content}.contact-link>svg:first-child{width:1.1rem;height:1.1rem}footer{padding:1.5rem calc(var(--section-side-margin) + var(--section-inline-padding) + 1px);border-top:1px solid var(--page-line);color:var(--muted);background:var(--header-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);letter-spacing:.05em;text-transform:uppercase;grid-template-columns:repeat(3,1fr);font-size:.68rem;font-weight:750;display:grid}body,.site-header,.hero,.hero-impact,.impact-focus-card,.skills,.skill-lane,.technology,.resume,.resume-card,.resume-preview-scroll,.resume-public-note,.contact,footer{transition:color .24s,background-color .24s,border-color .24s}footer p:nth-child(2){text-align:center}footer a{justify-self:end}.footer-made{justify-content:center;align-items:center;gap:.32rem;display:inline-flex}.footer-made svg{color:#d9402b;fill:currentColor;width:.78rem;height:.78rem}@media (width>=741px) and (height<=800px){:root{--section-margin:1rem}.impact-stage{width:100%}.impact-focus-card{min-height:0;padding:0 0 2.5rem}.impact-focus-card h1{margin-bottom:1.1rem;font-size:clamp(3rem,4.8vw,4.8rem)}.impact-metrics{gap:.58rem}.impact-metrics dt{font-size:clamp(1.55rem,2.6vw,2.35rem)}.impact-gallery{min-height:20rem}.impact-image-card{width:min(79%,28rem)}}@media (width<=980px){:root{--hero-inline-padding:4vw}.site-header{grid-template-columns:auto 1fr auto}.brand-name{display:none}.site-nav{gap:1rem}.impact-stage{width:100%}.skill-lane{grid-template-columns:14rem 1fr}.skills-layout{grid-template-columns:minmax(0,1fr) 17rem}.soft-skills{padding:2rem 1.5rem}}@media (width<=740px){:root{--section-margin:1rem;--section-inline-padding:1.25rem;--mobile-content-inset:calc(var(--section-side-margin) + var(--section-inline-padding) + 1px)}html{scroll-padding-top:4rem}.site-header{min-height:4rem;padding-inline:var(--mobile-content-inset);grid-template-columns:minmax(0,1fr) auto;position:fixed;inset:0 0 auto}#main-content{padding-top:4rem}.brand{min-width:0}.brand-name{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;display:block;overflow:hidden}.brand-avatar{width:2.25rem;height:2.25rem}.mobile-header-actions{justify-self:end;align-items:center;gap:.45rem;display:flex}.mobile-header-linkedin,.mobile-menu-toggle{border:1px solid var(--page-line);background:var(--page-surface);border-radius:50%;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;padding:0;display:inline-grid}.mobile-menu-toggle{border-color:var(--page-text);cursor:pointer;background:0 0}.mobile-header-linkedin svg,.mobile-menu-toggle svg{width:1rem;height:1rem}.mobile-menu{padding:1.25rem var(--mobile-content-inset) 1.5rem;border-top:1px solid var(--page-line);border-bottom:1px solid var(--page-line);background:var(--header-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);gap:1.5rem;display:grid;position:absolute;top:100%;left:0;right:0;box-shadow:0 1.25rem 2.5rem #00000024}.mobile-menu nav{display:grid}.mobile-menu nav a{border-bottom:1px solid var(--page-line);letter-spacing:-.02em;padding:.85rem 0;font-size:1rem;font-weight:800}.mobile-menu nav a[aria-current=location]{color:var(--nav-active)}.mobile-menu-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.mobile-menu-actions a,.mobile-menu-actions button{border:1px solid var(--page-line);min-width:0;min-height:2.8rem;color:var(--page-text);background:var(--page-surface);text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.55rem .4rem;font-size:.58rem;font-weight:800;display:inline-flex}.mobile-menu-actions svg{width:.9rem;height:.9rem}.hero{height:auto;min-height:0}.mobile-impact-list{padding:1.75rem var(--section-inline-padding) .5rem;display:grid}.mobile-impact-list .hero-identity{height:auto;margin-bottom:1.25rem;padding:0;transform:none}.mobile-impact-list .hero-identity .eyebrow{font-size:.63rem}.mobile-impact-card{border-top:1px solid var(--page-line);grid-template-rows:auto auto auto;grid-template-columns:1fr;min-height:0;padding:2.75rem 0 4rem;animation:none}.mobile-impact-list .hero-identity+.mobile-impact-card{border-top:0;padding-top:1.25rem}.mobile-impact-card .impact-card-topline>span{display:none}.mobile-impact-card:last-child{padding-bottom:3rem}.impact-card-topline{grid-column:1}.impact-card-labels{flex-wrap:wrap;row-gap:.2rem}.impact-story-copy{grid-area:2/1}.mobile-impact-card .impact-story-copy{padding-bottom:1rem}.impact-story-side{grid-area:3/1;align-self:end}.mobile-impact-card h2{z-index:1;max-width:15ch;font-size:clamp(2.2rem,11vw,3.2rem);font-family:var(--display-font);letter-spacing:-.055em;margin:.6rem 0 1.25rem;font-weight:400;line-height:1.04;position:relative}.impact-metrics dt{font-size:clamp(1.25rem,6vw,1.8rem)}.impact-metrics dd{font-size:.64rem}.impact-metrics-compact{margin-top:.75rem}.impact-product-link{margin-top:1.9rem}.mobile-impact-card:last-child .impact-product-link{margin-top:2.3rem}.impact-gallery{min-height:18rem;margin-block:2rem;padding:0;display:block;overflow:visible}.impact-gallery-landscape{margin-bottom:1rem}.impact-gallery-square{margin-block:2rem 3.5rem}.impact-image-card,.impact-image-card:nth-child(n){width:min(82%,24rem);position:absolute}.impact-image-card:first-child{top:0;left:0;transform:rotate(-2deg)}.impact-image-card:nth-child(2){top:18%;left:auto;right:0;transform:rotate(1.5deg)}.impact-image-card:nth-child(3){bottom:0;left:auto;right:8%;transform:rotate(-1deg)}.impact-gallery-square .impact-image-card,.impact-gallery-square .impact-image-card:nth-child(n){width:68%;max-width:21rem}.impact-gallery-bookapo .impact-image-card,.impact-gallery-bookapo .impact-image-card:nth-child(n){max-width:none}.impact-gallery-bookapo{margin-bottom:2.5rem}.impact-gallery-bookapo .impact-image-card--portrait img{aspect-ratio:auto;object-fit:contain;height:17rem}.impact-gallery-bookapo .impact-image-card--portrait{--bookapo-phone-padding-x:.75rem;background:#fffdf7e6;width:68%;max-width:22rem;padding-top:.75rem;position:relative;inset:auto}.impact-gallery-bookapo .impact-image-card--landscape{width:88%;max-width:none;inset:auto 0 4% auto}.impact-gallery-bookapo .impact-image-card--landscape img{aspect-ratio:2.37;width:100%}.impact-image-card figcaption{flex-direction:column;align-items:flex-start;gap:.2rem}.impact-image-card figcaption small{text-align:left;font-size:.7rem}.impact-image-card figcaption>span{text-align:left;order:-1;margin-inline-start:0;font-size:.6rem}.mobile-impact-playback{position:absolute;bottom:.75rem;left:0}.mobile-impact-playback .gallery-playback{position:static}.section{padding:4.5rem var(--section-inline-padding)}.section-heading{grid-template-columns:1fr;gap:1.2rem;margin-bottom:3rem}.section-heading h2{font-size:clamp(2.8rem,13vw,4.5rem)}.skills.section{padding-bottom:2rem}.skills{padding-left:0;padding-right:0}.skills .section-heading{padding:0 1.25rem}.skills-layout,.skill-lane{grid-template-columns:1fr}.skill-lane-heading{border-right:0;border-bottom:1px solid var(--page-line);gap:.35rem;padding:1.1rem 1.25rem}.skill-lane-heading h3{max-width:none}.technology{width:6.2rem;min-height:6rem}.technology svg{width:1.9rem;height:1.9rem}.soft-skills{border-top:1px solid var(--page-line);background:linear-gradient(to bottom, var(--page-bg) calc(100% - 3rem), transparent);border-bottom:0;border-left:0;padding:2.5rem 1.25rem 0}.soft-skills h3{max-width:none}.soft-skills ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.25rem;display:grid}.resume-public-note{margin-left:0;margin-right:0}.resume-download{order:-1;width:100%}.resume-preview-scroll{overscroll-behavior:auto;height:auto;overflow:visible}.contact{grid-template-columns:1fr;gap:2.5rem;margin-bottom:2.5rem;padding-top:3.5rem}.contact-link{width:100%}footer{text-align:center;grid-template-columns:1fr;justify-items:center;gap:.8rem}footer a{justify-self:center}}@media (width<=430px){.mobile-impact-card{padding-left:0;padding-right:0}.mobile-impact-card h2{margin-bottom:.85rem}.impact-metrics{gap:.55rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{animation:none}.technology-track{transform:none}.technology-set[aria-hidden=true]{display:none}}:root{--button-text:color-mix(in srgb, var(--secondary) 50%, var(--ink));--button-bg:var(--white);--button-hover-bg:#fff}:root[data-theme=dark]{--button-text:var(--page-text);--button-bg:var(--page-surface);--button-hover-bg:#1c4448}:root:not([data-theme=dark]) a:not(.button,.site-header a,.hero a,footer a){color:#51442d!important;border-bottom-color:var(--accent)!important;-webkit-text-decoration-color:var(--accent)!important;text-decoration-color:var(--accent)!important}:root:not([data-theme=dark]) .skip-link{background:var(--white)}:where(button:not(.gallery-playback),.button,.header-icon,.mobile-header-linkedin,.mobile-menu-actions a){position:relative}:is(button:not(.gallery-playback),.button,.header-icon,.mobile-header-linkedin,.mobile-menu-actions a){isolation:isolate;color:var(--button-text);background-color:var(--button-bg);border-width:0}:is(button:not(.gallery-playback),.button,.header-icon,.mobile-header-linkedin,.mobile-menu-actions a):hover:not(:disabled){color:var(--button-text);background-color:var(--button-hover-bg)}:is(button:not(.gallery-playback),.button,.header-icon,.mobile-header-linkedin,.mobile-menu-actions a):after{border-radius:inherit;pointer-events:none;content:"";z-index:-1;background:linear-gradient(var(--button-bg), var(--button-bg)) padding-box, linear-gradient(var(--button-border-angle), var(--secondary), var(--gold)) border-box;border:1px solid #0000;position:absolute;inset:0}:is(.button.resume-download,.button.contact-link):after{border-width:2px}:root:not([data-theme=dark]) :is(.button.resume-download,.button.contact-link){--button-hover-bg:#fffef9}:is(button:not(.gallery-playback),.button,.header-icon,.mobile-header-linkedin,.mobile-menu-actions a):hover:not(:disabled):after{background-image:linear-gradient(var(--button-hover-bg), var(--button-hover-bg)), linear-gradient(var(--button-border-angle), var(--secondary), var(--gold));border-width:2px}@property --button-border-angle{syntax:"<angle>";inherits:false;initial-value:90deg}@media (prefers-reduced-motion:no-preference){:is(button,.button,.header-icon,.mobile-header-linkedin,.mobile-menu-actions a):not([role=tab]){transition:translate .22s,color .18s,background-color .18s,border-color .18s,transform .18s,opacity .5s}:is(button,.button,.header-icon,.mobile-header-linkedin,.mobile-menu-actions a):active:not(:disabled,[role=tab]){translate:0 2px}}@media (hover:hover) and (prefers-reduced-motion:no-preference){:is(button:not(.gallery-playback),.button,.header-icon,.mobile-header-linkedin,.mobile-menu-actions a):after{transition:--button-border-angle .3s}:is(button:not(.gallery-playback),.button,.header-icon,.mobile-header-linkedin,.mobile-menu-actions a):hover:not(:disabled):after{--button-border-angle:270deg}}@supports not selector(::-webkit-scrollbar){html,.resume-preview-scroll{scrollbar-color:var(--scroll-thumb) var(--scroll-track)}}:is(html,.resume-preview-scroll)::-webkit-scrollbar{width:.75rem;height:.75rem}:is(html,.resume-preview-scroll)::-webkit-scrollbar-track{background:var(--scroll-track)}:is(html,.resume-preview-scroll)::-webkit-scrollbar-thumb{border:3px solid var(--scroll-track);background:var(--scroll-thumb);border-radius:999px}:is(html,.resume-preview-scroll)::-webkit-scrollbar-thumb:hover{background:var(--yellow)}button:disabled{cursor:not-allowed}
