*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #f0f0f3;--bg-subtle: #e8e8ec;--text-primary: #0a0a0a;--text-body: #2a2a2a;--text-secondary: #6a6a6a;--text-muted: var(--text-secondary);--border: #d8d8dc;--border-strong: #111111;--accent: #ff0000;--tag-bg: #e6e6ea;--tag-text: #555555;--cta-bg: #111111;--cta-text: #ffffff;--hover-bg: #f8f8f8;--neu-shadow: 6px 6px 14px rgba(0, 0, 0, .1), -6px -6px 14px rgba(255, 255, 255, .7);--neu-shadow-sm: 3px 3px 8px rgba(0, 0, 0, .08), -3px -3px 8px rgba(255, 255, 255, .6);--neu-shadow-xs: 2px 2px 5px rgba(0, 0, 0, .07), -2px -2px 5px rgba(255, 255, 255, .5);--neu-inset: inset 2px 2px 6px rgba(0, 0, 0, .08), inset -2px -2px 6px rgba(255, 255, 255, .7);--neu-inset-sm: inset 1px 1px 3px rgba(0, 0, 0, .08), inset -1px -1px 3px rgba(255, 255, 255, .5);--neu-hover: 8px 8px 20px rgba(0, 0, 0, .12), -6px -6px 14px rgba(255, 255, 255, .7);--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 24px;--radius-pill: 100px;--font-sans: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-brand: "Fraunces", Georgia, serif;--font-display: "DM Serif Display", Georgia, "Times New Roman", serif;--font-mono: "SF Mono", "Fira Code", "Cascadia Code", ui-monospace, monospace;--fs-display: 4.2rem;--fs-h1: 2.2rem;--fs-h2: 2rem;--fs-h4: 1.25rem;--fs-h5: 1.15rem;--fs-lead: 1.05rem;--fs-body: .95rem;--fs-body-sm: .85rem;--fs-caption: .82rem;--fs-caption-sm: .78rem;--fs-label: .75rem;--page-px: 48px}@media(prefers-color-scheme:dark){:root:not(.light){--bg: #0e0e10;--bg-subtle: #141416;--text-primary: #e8e8e8;--text-body: #c0c0c8;--text-secondary: #8a8a94;--text-muted: #9a9aa4;--border: #1e1e22;--border-strong: #2a2a30;--accent: #ff3b30;--tag-bg: #1a1a22;--tag-text: #8a8a98;--cta-bg: #e8e8e8;--cta-text: #0e0e10;--hover-bg: rgba(255, 255, 255, .02);--neu-shadow: 6px 6px 14px rgba(0, 0, 0, .5), -6px -6px 14px rgba(255, 255, 255, .04);--neu-shadow-sm: 3px 3px 8px rgba(0, 0, 0, .45), -3px -3px 8px rgba(255, 255, 255, .03);--neu-shadow-xs: 2px 2px 5px rgba(0, 0, 0, .4), -2px -2px 5px rgba(255, 255, 255, .03);--neu-inset: inset 2px 2px 6px rgba(0, 0, 0, .45), inset -2px -2px 6px rgba(255, 255, 255, .04);--neu-inset-sm: inset 1px 1px 3px rgba(0, 0, 0, .4), inset -1px -1px 3px rgba(255, 255, 255, .03);--neu-hover: 8px 8px 20px rgba(0, 0, 0, .55), -6px -6px 14px rgba(255, 255, 255, .04)}}html.dark{--bg: #0e0e10;--bg-subtle: #141416;--text-primary: #e8e8e8;--text-body: #c0c0c8;--text-secondary: #8a8a94;--text-muted: #9a9aa4;--border: #1e1e22;--border-strong: #2a2a30;--accent: #ff3b30;--tag-bg: #1a1a22;--tag-text: #8a8a98;--cta-bg: #e8e8e8;--cta-text: #0e0e10;--hover-bg: rgba(255, 255, 255, .02);--neu-shadow: 6px 6px 14px rgba(0, 0, 0, .5), -6px -6px 14px rgba(255, 255, 255, .04);--neu-shadow-sm: 3px 3px 8px rgba(0, 0, 0, .45), -3px -3px 8px rgba(255, 255, 255, .03);--neu-shadow-xs: 2px 2px 5px rgba(0, 0, 0, .4), -2px -2px 5px rgba(255, 255, 255, .03);--neu-inset: inset 2px 2px 6px rgba(0, 0, 0, .45), inset -2px -2px 6px rgba(255, 255, 255, .04);--neu-inset-sm: inset 1px 1px 3px rgba(0, 0, 0, .4), inset -1px -1px 3px rgba(255, 255, 255, .03);--neu-hover: 8px 8px 20px rgba(0, 0, 0, .55), -6px -6px 14px rgba(255, 255, 255, .04)}html{font-family:var(--font-sans);background:var(--bg);color:var(--text-body);color-scheme:light dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:auto;scroll-padding-top:70px}@media(max-width:768px){html{scroll-padding-top:58px}}html.light{color-scheme:light}html.dark{color-scheme:dark}body{min-height:100vh;display:flex;flex-direction:column;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);overflow-x:hidden}.js-enabled .reveal:not(.visible){opacity:0;transform:translateY(32px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.js-enabled .reveal.visible{opacity:1;transform:translateY(0);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.js-enabled .reveal:not(.visible) .neu-card,.js-enabled .reveal:not(.visible) .oss-item,.js-enabled .reveal:not(.visible) .stats>div{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.js-enabled .reveal.visible .neu-card,.js-enabled .reveal.visible .oss-item,.js-enabled .reveal.visible .stats>div{opacity:1;transform:translateY(0);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.reveal.staggering .neu-card:nth-child(1),.reveal.staggering .stats>div:nth-child(1){transition-delay:0s}.reveal.staggering .neu-card:nth-child(2),.reveal.staggering .stats>div:nth-child(2){transition-delay:.08s}.reveal.staggering .neu-card:nth-child(3),.reveal.staggering .stats>div:nth-child(3){transition-delay:.16s}.reveal.staggering .neu-card:nth-child(4),.reveal.staggering .stats>div:nth-child(4){transition-delay:.24s}.reveal.staggering .neu-card:nth-child(5){transition-delay:.32s}.reveal.staggering .neu-card:nth-child(6){transition-delay:.4s}.reveal.staggering .neu-card:nth-child(7){transition-delay:.48s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}.reveal,.reveal .neu-card,.reveal .oss-item,.reveal .stats>div,.reveal .work-item{opacity:1;transform:none;filter:none}.neu-card:hover,.work-item:hover,.oss-item:hover,.speaking-feature:hover{transform:none}}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit;color:inherit}.skip-link{position:absolute;top:-100px;left:16px;display:inline-flex;align-items:center;min-height:44px;padding:0 20px;background:var(--cta-bg);color:var(--cta-text);border-radius:var(--radius-pill);font-size:var(--fs-label);font-weight:600;z-index:9999;transition:top .2s}.skip-link:focus{top:16px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}:focus:not(:focus-visible){outline:none}h1,h2,h3,h4{color:var(--text-primary);font-weight:600;margin:0}.nav-wrapper{position:sticky;top:0;z-index:100;display:flex;justify-content:center;padding:calc(12px + env(safe-area-inset-top,0px)) var(--page-px) 0;pointer-events:none}.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 32px;border:none;border-radius:var(--radius-pill);backdrop-filter:blur(7px) saturate(1.2);background:#f0f0f3b3;box-shadow:var(--neu-shadow);pointer-events:auto;max-width:960px;width:100%}@media(prefers-color-scheme:dark){:root:not(.light) .nav{background:#141418a6;box-shadow:var(--neu-shadow),0 0 0 1px #ffffff0a}}html.dark .nav{background:#141418a6;box-shadow:var(--neu-shadow),0 0 0 1px #ffffff0a}.nav-left{display:flex;align-items:baseline;gap:28px;min-width:0}.nav-name{display:inline-flex;align-items:center;min-height:44px;font-family:var(--font-brand);font-size:var(--fs-h5);font-weight:400;color:var(--text-primary);letter-spacing:.01em;white-space:nowrap}.nav-links{display:flex;gap:20px}@media(max-width:700px){.nav-links{display:none}}.nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);transition:color .2s ease;white-space:nowrap}.nav-link:hover,.nav-link.active{color:var(--text-primary)}.nav-link.active{text-decoration:underline;text-decoration-color:var(--text-primary);text-underline-offset:4px;text-decoration-thickness:1.5px}.nav-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.nav-cta{display:inline-flex;align-items:center;min-height:44px;font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.1em;padding:0 24px;background:var(--cta-bg);color:var(--cta-text);font-weight:600;border-radius:var(--radius-pill);transition:box-shadow .25s ease,transform .25s ease;flex-shrink:0;box-shadow:var(--neu-shadow-xs)}.nav-cta:hover{box-shadow:var(--neu-shadow-sm);transform:translateY(-1px)}.nav-cta:active{box-shadow:var(--neu-inset-sm);transform:translateY(0)}main{flex:1;max-width:1200px;margin-left:auto;margin-right:auto;width:100%}.hero{position:relative;padding:72px var(--page-px) 64px;overflow:visible;min-height:calc(100svh - 80px);display:flex;flex-direction:column;justify-content:center}.hero-canvas{position:absolute;top:0;left:0;width:100%;height:150%;pointer-events:none}.hero-content{position:relative;z-index:1;pointer-events:none}.hero-content *{pointer-events:auto}.hero-pre{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);margin-bottom:16px;font-weight:500}.hero-title{font-family:var(--font-display);font-size:var(--fs-display);font-weight:400;letter-spacing:-.01em;line-height:1.1;color:var(--text-primary);margin-bottom:20px}.hero-title em{font-style:italic;font-weight:400}.hero-dot{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;vertical-align:super;margin-left:4px;position:relative;top:-.275em}.hero-lead{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.18em;color:var(--text-muted);font-weight:500;margin-bottom:12px}.hero-sub{font-size:var(--fs-body);line-height:1.65;color:var(--text-secondary);max-width:480px;letter-spacing:.01em}.hero-scroll-cue{position:absolute;bottom:28px;left:50%;transform:translate(-50%);z-index:1}.hero-scroll-pill{width:44px;height:44px;border-radius:50%;background:var(--bg);box-shadow:var(--neu-shadow-xs);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:box-shadow .2s ease;border:none;padding:0;outline:none}.hero-scroll-pill:hover{box-shadow:var(--neu-shadow-sm)}.hero-scroll-pill:active{box-shadow:var(--neu-inset-sm)}.hero-scroll-dot{width:10px;height:10px;color:var(--text-secondary);animation:arrowBounce 2.5s ease-in-out infinite}.hero-scroll-dot:before{content:"";display:block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:-2px auto 0}@keyframes arrowBounce{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.section{padding:48px var(--page-px) 48px}.section-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:20px}.section-title{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.2em;font-weight:600;color:var(--text-primary)}.tag{font-size:var(--fs-label);padding:5px 14px;border-radius:var(--radius-pill);background:var(--bg);color:var(--tag-text);font-weight:500;letter-spacing:.03em;white-space:nowrap;border:none;box-shadow:var(--neu-shadow-xs);transition:box-shadow .2s ease}.tag:hover{box-shadow:var(--neu-shadow-sm)}.stats{padding:8px var(--page-px) 48px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.stats>div{background:var(--bg);border-radius:var(--radius-md);padding:20px 24px;box-shadow:var(--neu-shadow)}.stat-num{font-size:var(--fs-h1);font-weight:500;letter-spacing:-.02em;line-height:1;margin-bottom:4px;color:var(--text-primary);font-variant-numeric:tabular-nums;min-width:3ch}.stat-label{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.15em;font-weight:500;color:var(--text-secondary)}.clients{padding:0 var(--page-px) 48px}.clients-title{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.2em;font-weight:600;color:var(--text-primary);margin-bottom:20px}.marquee{overflow:hidden;mask-image:linear-gradient(to right,transparent 0%,black 10%,black 90%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 10%,black 90%,transparent 100%)}.marquee-track{display:flex;gap:64px;align-items:center;width:max-content}.client-logo{flex-shrink:0;display:inline-flex;align-items:center}.client-logo-img{display:block;filter:grayscale(1);opacity:.7;mix-blend-mode:multiply;transition:all .4s ease}.client-logo:hover .client-logo-img{opacity:1;filter:grayscale(0)}html.dark .client-logo-img{filter:grayscale(1) brightness(0) invert(.85);opacity:.6;mix-blend-mode:normal}@media(prefers-color-scheme:dark){:root:not(.light) .client-logo-img{filter:grayscale(1) brightness(0) invert(.85);opacity:.6;mix-blend-mode:normal}}html.dark .client-logo:hover .client-logo-img{filter:grayscale(1) brightness(0) invert(1);opacity:1}@media(prefers-color-scheme:dark){:root:not(.light) .client-logo:hover .client-logo-img{filter:grayscale(1) brightness(0) invert(1);opacity:1}}.client-logo-wide{height:36px;width:auto}.client-logo-square{height:42px;width:auto}.client-logo-narrow{height:36px;width:auto}.client-logo-tall{height:52px;width:auto}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card-grid-2{grid-template-columns:repeat(2,1fr)}.neu-card{background:var(--bg);border-radius:var(--radius-lg);padding:20px;overflow:hidden;box-shadow:var(--neu-shadow);transition:box-shadow .3s ease,transform .3s ease;display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit}.neu-card:hover,.reveal.visible .neu-card:hover{box-shadow:var(--neu-hover);transform:translateY(-2px);z-index:2;position:relative}.service-icon{width:28px;height:28px;color:var(--accent);margin-bottom:12px;flex-shrink:0;transition:transform .3s ease}#services .neu-card:hover{box-shadow:var(--neu-shadow);transform:none}#services .neu-card:hover .service-icon{transform:translateY(-2px) scale(1.08)}.neu-card:active,.reveal.visible .neu-card:active{box-shadow:var(--neu-inset);transform:translateY(0)}.neu-card-thumb{border-radius:var(--radius-sm);overflow:hidden;margin:-20px -20px 12px;height:200px;position:relative;z-index:3}.neu-card-thumb img{width:100%;height:100%;object-fit:cover}.neu-card-thumb:after{content:"";position:absolute;inset:0;box-shadow:var(--neu-inset);border-radius:var(--radius-sm);pointer-events:none}html.dark .neu-card-thumb img,html.dark .speaking-video-thumb{filter:invert(1)}@media(prefers-color-scheme:dark){:root:not(.light) .neu-card-thumb img,:root:not(.light) .speaking-video-thumb{filter:invert(1)}}.neu-card-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:#000000b3;color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--fs-body);padding-left:3px;transition:transform .2s}.neu-card:hover .neu-card-play{transform:translate(-50%,-50%) scale(1.1)}.neu-card-accent{height:3px;width:40px;border-radius:3px;background:var(--card-accent, var(--text-muted));margin-bottom:4px}.neu-card-venue{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-weight:600;display:flex;align-items:center;gap:6px}.neu-card-venue:before{content:"";width:5px;height:5px;background:var(--accent);border-radius:50%;flex-shrink:0}.neu-card-title{font-size:var(--fs-body);font-weight:700;color:var(--text-primary);line-height:1.3;letter-spacing:-.01em}.neu-card-desc{font-size:var(--fs-caption-sm);line-height:1.45;color:var(--text-secondary);flex:1}.neu-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.neu-card-date{font-size:var(--fs-label);color:var(--text-muted);font-variant-numeric:tabular-nums}.neu-card-arrow{font-size:var(--fs-body-sm);color:var(--accent);transition:transform .2s}.neu-card:hover .neu-card-arrow{transform:translate(2px,-2px)}.neu-card-tags{display:flex;gap:6px;flex-wrap:wrap}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.work-item{display:flex;flex-direction:column;gap:8px;padding:22px 24px;background:var(--bg);border-radius:var(--radius-lg);box-shadow:var(--neu-shadow);transition:box-shadow .3s ease,transform .3s ease;text-decoration:none;color:inherit}.work-item:hover,.reveal.visible .work-item:hover{box-shadow:var(--neu-hover);transform:translateY(-2px)}.work-item:active,.reveal.visible .work-item:active{box-shadow:var(--neu-inset);transform:translateY(0)}.js-enabled .reveal:not(.visible) .work-item{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.js-enabled .reveal.visible .work-item{opacity:1;transform:translateY(0);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.reveal.staggering .work-item:nth-child(1){transition-delay:0s}.reveal.staggering .work-item:nth-child(2){transition-delay:.06s}.reveal.staggering .work-item:nth-child(3){transition-delay:.12s}.reveal.staggering .work-item:nth-child(4){transition-delay:.18s}.reveal.staggering .work-item:nth-child(5){transition-delay:.24s}.reveal.staggering .work-item:nth-child(6){transition-delay:.3s}.work-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.work-client{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-weight:600;display:flex;align-items:center;gap:6px}.work-client:before{content:"";width:5px;height:5px;background:var(--accent);border-radius:50%;flex-shrink:0}.work-year{font-size:var(--fs-label);font-weight:500;letter-spacing:.08em;color:var(--text-muted);font-variant-numeric:tabular-nums}.work-title{font-size:var(--fs-body);font-weight:600;color:var(--text-primary);line-height:1.3}.work-desc{font-size:var(--fs-label);line-height:1.45;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.work-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.oss-grid{display:grid;grid-template-columns:1fr;gap:0}.oss-item{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:24px;background:var(--bg);border-radius:var(--radius-lg);box-shadow:var(--neu-shadow);transition:box-shadow .3s ease,transform .3s ease}.oss-item:hover,.reveal.visible .oss-item:hover{box-shadow:var(--neu-hover);transform:translateY(-2px)}.oss-item:active,.reveal.visible .oss-item:active{box-shadow:var(--neu-inset);transform:translateY(0)}.oss-name{font-size:var(--fs-lead);font-weight:600;color:var(--text-primary);margin-bottom:3px;font-family:var(--font-mono);letter-spacing:-.01em}.oss-desc{font-size:var(--fs-caption-sm);line-height:1.4;color:var(--text-secondary)}.oss-meta{display:flex;gap:16px;align-items:center}.oss-stat{font-size:var(--fs-label);color:var(--text-secondary);display:flex;align-items:center;gap:4px}.oss-stat svg{width:14px;height:14px;fill:currentColor}.speaking-feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:var(--bg);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--neu-shadow);transition:box-shadow .3s ease,transform .3s ease}.speaking-feature:hover{box-shadow:var(--neu-hover);transform:translateY(-2px)}.speaking-video{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;background:var(--bg);border-radius:var(--radius-sm);cursor:pointer}.speaking-video:after{content:"";position:absolute;inset:0;box-shadow:var(--neu-inset);border-radius:var(--radius-sm);pointer-events:none;z-index:1}.speaking-video.playing:after{display:none}.speaking-video-thumb{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.speaking-video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:#f0f0f3d9;backdrop-filter:blur(8px);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;padding-left:2px;transition:opacity .3s ease}html.dark .speaking-video-play{background:#0e0e10bf}.speaking-info{display:flex;flex-direction:column;gap:8px;padding:24px;justify-content:center}.speaking-title{font-size:var(--fs-lead);font-weight:600;color:var(--text-primary);line-height:1.3}.speaking-desc{font-size:var(--fs-caption);line-height:1.5;color:var(--text-secondary)}.footer{margin:32px auto 24px;padding:22px 32px;display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-label);color:var(--text-muted);background:var(--bg);border-radius:var(--radius-lg);box-shadow:var(--neu-shadow-sm);max-width:calc(1200px - var(--page-px) * 2);width:calc(100% - var(--page-px) * 2)}.footer-links{display:flex;gap:8px;align-items:center}.footer-links a{color:var(--text-muted);transition:box-shadow .2s,color .2s;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--bg);box-shadow:var(--neu-shadow-xs)}.footer-links a:hover{color:var(--text-primary);box-shadow:var(--neu-shadow-sm)}.footer-links a:active{box-shadow:var(--neu-inset-sm)}.contact-cta{text-align:center;padding:64px 40px;background:var(--bg);border-radius:var(--radius-xl);box-shadow:var(--neu-shadow);display:flex;flex-direction:column;align-items:center}.contact-photo-wrap{margin:0 auto 20px;width:96px;height:96px}.contact-photo{width:96px;height:96px;border-radius:50%;background:url(/christian-rehm.jpg) center/cover no-repeat;box-shadow:var(--neu-shadow-sm);pointer-events:none;-webkit-user-select:none;user-select:none}.contact-title{font-family:var(--font-display);font-size:var(--fs-h2);font-weight:400;letter-spacing:-.01em;color:var(--text-primary);margin-bottom:12px}.contact-bio{font-size:var(--fs-caption);line-height:1.6;color:var(--text-body);max-width:480px;margin:0 auto 28px}.contact-rule{width:32px;height:2px;background:var(--accent);border:none;border-radius:1px;margin:0 auto 28px}.contact-desc{font-size:var(--fs-lead);line-height:1.4;color:var(--text-primary);max-width:480px;margin:0 auto 20px}.contact-promises{list-style:none;padding:0;margin:0 auto 40px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 0;font-size:var(--fs-label);font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted)}.contact-promises li{padding:0 18px;position:relative}.contact-promises li:not(:last-child):after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:10px;background:var(--border)}.contact-offers{list-style:none;padding:0;margin:0 auto 28px;max-width:480px;display:flex;flex-direction:column;gap:10px;text-align:center}.contact-offers li{font-size:var(--fs-body-sm);line-height:1.5;color:var(--text-body)}.contact-btn{display:inline-block;font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.12em;padding:16px 56px;background:var(--cta-bg);color:var(--cta-text);font-weight:600;border-radius:var(--radius-pill);transition:box-shadow .25s ease,transform .25s ease;box-shadow:var(--neu-shadow-sm)}.contact-btn:hover{transform:translateY(-2px);box-shadow:var(--neu-hover)}.contact-btn:active{transform:translateY(0);box-shadow:var(--neu-inset)}.footer-links svg{display:block}.footer-meta{display:flex;align-items:center;gap:6px}.footer-legal{display:flex;gap:12px}.footer-legal a{color:var(--text-muted);text-decoration:none;transition:color .2s ease}.footer-legal a:hover{color:var(--text-secondary)}.footer-coords{font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:6px}.footer-globe{width:12px;height:12px;flex-shrink:0;opacity:.85}.back-link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;color:var(--text-secondary);background:var(--bg);border-radius:50%;box-shadow:var(--neu-shadow-sm);flex-shrink:0;transition:box-shadow .25s ease,transform .25s ease,color .25s ease}.back-link:hover{color:var(--text-primary);transform:translateY(-2px);box-shadow:var(--neu-hover)}.back-link:active{transform:translateY(0);box-shadow:var(--neu-inset)}.back-link-arrow{width:16px;height:16px}.project-detail{padding:48px var(--page-px);max-width:720px;flex:1}.project-detail-header{display:flex;align-items:center;gap:20px;margin-bottom:32px}.project-detail-title-group{flex:1;min-width:0}@media(min-width:768px){.project-detail-header{margin-left:-60px;width:calc(100% + 60px)}}@media(max-width:767px){.back-link{display:none}}.project-detail-title{font-family:var(--font-display);font-size:var(--fs-h1);font-weight:400;letter-spacing:-.01em;line-height:1.15;margin-bottom:16px;color:var(--text-primary)}.project-detail-title-group .project-detail-meta{margin-bottom:0}.project-detail-meta{display:flex;gap:16px;align-items:center;margin-bottom:24px;flex-wrap:wrap}.project-detail-meta .tag{font-size:var(--fs-label)}.project-detail-thumb{position:relative;margin:8px 0 32px;border-radius:var(--radius-md);overflow:hidden;background:var(--bg);box-shadow:var(--neu-shadow-sm)}.project-detail-thumb img{display:block;width:100%;height:auto}.project-detail-thumb:after{content:"";position:absolute;inset:0;box-shadow:var(--neu-inset);border-radius:var(--radius-md);pointer-events:none}html.dark .project-detail-thumb img{filter:invert(1)}@media(prefers-color-scheme:dark){:root:not(.light) .project-detail-thumb img{filter:invert(1)}}.project-detail-body{font-size:var(--fs-body);line-height:1.7;color:var(--text-body)}.project-detail-body p{margin-bottom:16px}.project-detail-cta{margin-top:40px;padding:20px 24px;background:var(--bg);border-radius:var(--radius-md);box-shadow:var(--neu-shadow-sm);font-size:var(--fs-body-sm);color:var(--text-secondary)}.project-detail-cta a{color:var(--text-primary);font-weight:600;text-decoration:underline;text-underline-offset:3px}@media(max-width:768px){:root{--page-px: 24px;--fs-display: 2.6rem}.nav-wrapper{padding:calc(14px + env(safe-area-inset-top,0px)) 12px 0}.nav{gap:10px;border-radius:var(--radius-pill);padding:10px 20px}.nav-left{gap:12px;min-width:0}.nav-links{gap:12px}.nav-link{font-size:var(--fs-label);letter-spacing:.06em;padding:12px 0}.hero{height:100svh;min-height:0;padding:0 var(--page-px) 24px;justify-content:flex-end;align-items:center;text-align:center;padding-top:0;padding-bottom:10svh}.hero-dot{top:-.25em}.hero-canvas{height:100%;pointer-events:auto;touch-action:pan-y}.hero-sub{font-size:var(--fs-body-sm)}.hero-scroll-cue{position:static;transform:none;margin-top:24px}.stats{grid-template-columns:repeat(2,1fr)}.marquee-track{gap:40px}#services .card-grid-2{grid-template-columns:repeat(2,1fr);gap:12px}#services .neu-card{padding:16px}#services .service-icon{width:22px;height:22px;margin-bottom:8px}#services .neu-card-title{font-size:var(--fs-caption)}#services .neu-card-desc{font-size:var(--fs-label)}.card-grid{grid-template-columns:1fr}.neu-card-thumb{height:160px}.card-grid-2{grid-template-columns:1fr}.oss-item{grid-template-columns:1fr;gap:8px}.speaking-feature{grid-template-columns:1fr}.speaking-video{min-height:0;padding-bottom:56.25%}.work-grid{grid-template-columns:1fr}.work-item{padding:20px}}@media(max-width:600px){.nav{padding:12px 14px 12px 20px}.nav-left{gap:0}.nav-name{font-size:var(--fs-lead)}.nav-cta{font-size:var(--fs-label);padding:0 22px}#services .card-grid-2{grid-template-columns:1fr}#services .neu-card{padding:20px}#services .service-icon{width:26px;height:26px;margin-bottom:10px}#services .neu-card-title{font-size:var(--fs-body)}#services .neu-card-desc{font-size:var(--fs-caption-sm)}.footer{flex-direction:column;gap:12px;text-align:center;padding:20px 24px}.footer-links{gap:4px}.footer-links a{width:44px;height:44px}}@media(max-width:480px){:root{--page-px: 16px;--fs-display: 2.1rem;--fs-h1: 1.6rem;--fs-h2: 1.25rem}.hero-sub{font-size:var(--fs-body-sm)}.stats>div{padding:20px}.contact-cta{padding:32px 20px}.contact-desc{font-size:var(--fs-body)}.contact-promises{flex-direction:column;gap:0}.contact-promises li{padding:10px 0}.contact-promises li:not(:last-child):after{width:40px;height:1px;inset:auto auto 0 50%;transform:translate(-50%)}.contact-offers li{font-size:var(--fs-caption)}.contact-btn{padding:16px 44px;font-size:var(--fs-caption-sm)}.tag{font-size:var(--fs-label);padding:6px 14px}.oss-meta{flex-wrap:wrap;gap:8px}}@media print{.nav-wrapper,.hero-canvas,.skip-link,.theme-toggle,.marquee,.contact-btn,.nav-cta{display:none!important}body:before{display:none!important}*{box-shadow:none!important}.hero{padding-top:24px}.neu-card{break-inside:avoid;border:1px solid #ddd}.stats>div{border:1px solid #ddd}a[href]:after{content:" (" attr(href) ")";font-size:.7em;color:#666}a.neu-card:after,a.nav-link:after,a.work-item:after,a.oss-item:after{content:none}}.theme-toggle[data-astro-cid-x3pjskd3]{background:transparent;border:none;cursor:pointer;color:var(--text-secondary);width:44px;height:44px;display:flex;align-items:center;justify-content:center;transition:color .2s;border-radius:50%;outline:none;flex-shrink:0}.theme-toggle[data-astro-cid-x3pjskd3]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-toggle[data-astro-cid-x3pjskd3]:hover{color:var(--text-primary)}.icon-sun[data-astro-cid-x3pjskd3]{display:none}.icon-moon[data-astro-cid-x3pjskd3],html.dark .icon-sun[data-astro-cid-x3pjskd3]{display:block}html.dark .icon-moon[data-astro-cid-x3pjskd3]{display:none}
