:root{--ink:#111;--muted:#6c6c6c;--line:#e7e7e7;--soft:#f6f6f4;--radius:18px;--page:clamp(20px,4vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:400 16px/1.55 Inter,Arial,sans-serif}.nav{min-height:76px;padding:14px var(--page);display:flex;align-items:center;justify-content:space-between;background:#fff;position:relative;z-index:3}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:400 24px/1.2 "DM Sans",Arial,sans-serif}.brand img{width:34px;height:34px;border-radius:50%;object-fit:cover}.nav nav{display:flex;align-items:center;gap:22px}.nav .nav-link{display:block;height:20px;overflow:hidden;color:var(--ink);text-decoration:none;font:400 16px/20px "DM Sans",Arial,sans-serif}.nav .nav-link>span{display:block}.nav .nav-link>span+span{color:#aeaeae}.resume{padding:12px 24px;border-radius:999px;background:#111;color:#fff;text-decoration:none;font:400 16px/1.2 "DM Sans",Arial,sans-serif}.language{position:relative}.language>button{display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:8px 10px;border-radius:12px;color:var(--ink);font:500 16px/1.2 "DM Sans",Arial,sans-serif;cursor:pointer}.language svg{width:18px;height:18px;fill:currentColor}.language .caret{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .2s ease}.language.open .caret{transform:rotate(180deg)}.language-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:154px;padding:6px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 14px 30px rgba(0,0,0,.09);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .18s ease,transform .18s ease,visibility .18s}.language.open .language-menu{opacity:1;visibility:visible;transform:translateY(0)}.language-menu button{display:block;width:100%;padding:10px 12px;border:0;border-radius:9px;background:transparent;color:var(--ink);text-align:left;font:400 15px/1.2 "DM Sans",Arial,sans-serif;cursor:pointer}.language-menu button[aria-selected=true]{background:var(--soft);color:var(--muted)}
.hero,.work-section,.experience-section{max-width:1320px;margin:0 auto;padding-left:var(--page);padding-right:var(--page)}.hero{min-height:min(700px,calc(100vh - 76px));display:flex;flex-direction:column;justify-content:center;padding-top:82px;padding-bottom:108px}.eyebrow{margin:0 0 16px;color:var(--muted);font:400 13px/1.35 Inter,Arial,sans-serif}.hero h1{max-width:1040px;margin:0;color:var(--ink);font:400 clamp(48px,6.7vw,92px)/1.02 "DM Sans",Arial,sans-serif;letter-spacing:-.065em}.hero h1 strong{font-weight:400}.talk-link{display:inline-flex;align-items:center;gap:10px;width:max-content;margin-top:46px;padding:13px 20px;border-radius:999px;background:#ffd101;color:var(--ink);text-decoration:none;font:400 17px/1.2 "DM Sans",Arial,sans-serif}.arrow-up-right{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .24s ease}.project-meta .arrow-up-right{width:22px;height:22px;flex:none}.talk-link .arrow-up-right{width:19px;height:19px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:36px}.section-heading h2{margin:0;font:400 clamp(34px,4vw,54px)/1 "DM Sans",Arial,sans-serif;letter-spacing:-.06em}.section-heading .eyebrow{margin:0 0 8px}.work-section{padding-top:80px;padding-bottom:140px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 24px}.project-card{min-width:0;color:var(--ink);text-decoration:none}.project-art{position:relative;display:block;aspect-ratio:293/240;overflow:hidden;border-radius:var(--radius);background:var(--soft);isolation:isolate}.project-art>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .26s ease}.project-meta{display:flex;align-items:start;justify-content:space-between;gap:16px;padding:17px 2px 0}.project-meta span{display:grid;gap:4px}.project-meta small{color:var(--muted);font:400 13px/1.35 Inter,Arial,sans-serif}.project-meta b{font:400 20px/1.15 "DM Sans",Arial,sans-serif;letter-spacing:-.035em}.project-meta i{font:400 24px/1 "DM Sans",Arial,sans-serif;font-style:normal;transition:transform .24s ease}.dam-art{background:radial-gradient(ellipse 48% 28% at 50% 16%,#fff 0%,#e7f0eb 70%)}.dam-primary,.dam-secondary{position:absolute;display:block;overflow:hidden;border-radius:12px}.dam-primary{z-index:2;width:82%;left:7.5%;top:12%;border:1px solid rgba(255,255,255,.84);box-shadow:0 20px 42px rgba(24,46,36,.17)}.dam-secondary{z-index:1;width:63%;right:-7%;top:9%;border:1px solid rgba(255,255,255,.72);box-shadow:0 16px 34px rgba(24,46,36,.13)}.dam-primary img,.dam-secondary img{display:block;width:100%;height:100%;object-fit:cover}.dam-primary img{object-position:center}.dam-secondary img{object-position:48% 22%}.more-projects{margin:76px 0 0;color:var(--muted);text-align:center;font:400 16px/1.4 Inter,Arial,sans-serif}.experience-section{padding-top:100px;padding-bottom:160px;border-top:1px solid var(--line)}.experience-list{border-top:1px solid var(--line)}.experience-list article{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:56px;padding:38px 0;border-bottom:1px solid var(--line)}.experience-list h3{margin:0 0 9px;font:400 24px/1.13 "DM Sans",Arial,sans-serif;letter-spacing:-.04em}.experience-list p{margin:0;color:var(--muted);font-size:14px}.experience-list ul{display:grid;gap:18px;margin:0;padding:0;list-style:none}.experience-list li{color:#3e3e3e}.experience-list strong{color:var(--ink);font-weight:500}.home-footer{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:38px var(--page);border-top:1px solid var(--line)}.home-footer div{display:grid;gap:4px;color:var(--muted);font-size:13px}.home-footer a{color:var(--ink);text-decoration:none;font:400 28px/1.1 "DM Sans",Arial,sans-serif;letter-spacing:-.04em}.home-footer a span{display:inline-block;transition:transform .24s ease}
[data-reveal]{opacity:0;transform:translateY(18px)}[data-reveal].is-visible{opacity:1;transform:translateY(0);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.nav .nav-link>span{transition:transform .24s cubic-bezier(.2,.8,.2,1)}.nav .nav-link:hover>span{transform:translateY(-20px)}.resume{transition:background-color .24s ease,color .24s ease}.resume:hover{background:#ffd101;color:#111}.project-card:hover .project-art>img{transform:scale(1.025);transition:transform 1.6s ease-out}.project-card:hover .dam-primary{transform:translateY(-5px) scale(1.012);transition:transform .62s cubic-bezier(.22,1,.36,1)}.project-card:hover .dam-secondary{transform:translate(7px,-9px) scale(1.018);transition:transform .62s cubic-bezier(.22,1,.36,1) .06s}.project-card:hover .project-meta .arrow-up-right,.talk-link:hover .arrow-up-right,.home-footer a:hover .arrow-up-right{transform:translate(4px,-4px)}.language>button:hover,.language.open>button{background:var(--soft);color:var(--muted)}.language-menu button:hover{background:var(--soft);color:var(--muted)}}
@media (max-width:960px){.nav>nav{display:none!important}.hero{min-height:auto;padding-top:112px;padding-bottom:122px}}@media (max-width:700px){.hero,.work-section,.experience-section{padding-left:20px;padding-right:20px}.hero h1{font-size:clamp(46px,13vw,62px)}.work-section{padding-top:58px;padding-bottom:96px}.project-grid{grid-template-columns:1fr;gap:44px}.project-art{aspect-ratio:179/150}.dam-primary{width:84%}.dam-secondary{width:58%}.experience-section{padding-top:74px;padding-bottom:96px}.experience-list article{grid-template-columns:1fr;gap:24px;padding:30px 0}.section-heading{margin-bottom:28px}.home-footer{align-items:start;flex-direction:column;padding:30px 20px}.home-footer a{font-size:25px}}@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.project-art>img,.dam-primary,.dam-secondary,.project-meta i,.arrow-up-right,.home-footer a span{transition:none!important;transform:none!important}.resume:hover{background:#111;color:#fff}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1;transform:none}[data-reveal].is-visible{transition:none}}

/* Progressive enhancement: HTML remains readable before JavaScript is available. */
[data-reveal]{opacity:1;transform:none}.motion-ready[data-motion="enabled"] [data-reveal]{opacity:0;transform:translateY(18px)}.motion-ready[data-motion="enabled"] [data-reveal].is-visible{opacity:1;transform:translateY(0);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.project-card:hover .project-art>img{transform:scale(1.015);transition:transform .52s ease}}


/* Local cross-document transition enhancement; JavaScript-off remains native. */
html.page-incoming body.home-local .hero[data-reveal],html.page-incoming body.home-local .work-section>.section-heading[data-reveal]{opacity:0;transform:translateY(8px)}html.page-incoming body.home-local [data-reveal].is-visible{opacity:1!important;transform:translateY(0)!important}.page-transition-veil{position:fixed;inset:0;z-index:3000;pointer-events:none;background:rgba(255,255,255,.92);opacity:0;transition:opacity .34s cubic-bezier(.22,1,.36,1)}.page-transition-veil.is-leaving,.page-transition-veil.is-incoming{opacity:1}.page-transition-veil.is-incoming.is-ready{opacity:0}
@media(prefers-reduced-motion:reduce){.page-transition-veil{display:none}}

/* Compact shared language control. */
:is(.language,.framer-locale-picker)>button{min-width:54px!important;width:54px!important;justify-content:space-between!important;gap:8px!important;padding:5px 2px!important;border-radius:0!important;background:transparent!important;color:var(--ink)!important;font:400 14px/1 "DM Sans",Arial,sans-serif!important}:is(.language,.framer-locale-picker)>button>svg:not(.caret){display:none!important}:is(.language,.framer-locale-picker)>button .caret{width:11px!important;height:11px!important;transition:transform .2s ease!important}:is(.language,.framer-locale-picker).open>button .caret{transform:rotate(180deg)}:is(.language,.framer-locale-picker) .language-menu{width:100%!important;min-width:0!important;padding:5px!important;border-radius:10px!important;box-shadow:0 10px 24px rgba(0,0,0,.08)!important;background:#fff!important}:is(.language,.framer-locale-picker) .language-menu button{padding:8px 10px!important;border-radius:7px!important;font:400 13px/1 "DM Sans",Arial,sans-serif!important}:is(.language,.framer-locale-picker) .language-menu button:hover{background:#fff!important;color:#6c6c6c!important}:is(.language,.framer-locale-picker) .language-menu button[aria-selected=true]{background:#fff!important;color:var(--ink)!important}

:is(.language,.framer-locale-picker){width:54px!important}:is(.language,.framer-locale-picker)>button:hover,:is(.language,.framer-locale-picker).open>button{background:transparent!important;color:#6c6c6c!important}
@media(max-width:540px){:is(.language,.framer-locale-picker)>button span{display:block!important}}

#work,#experience{scroll-margin-top:96px}

/* Final intrinsic language picker. */
:is(.language,.framer-locale-picker){width:auto!important}:is(.language,.framer-locale-picker)>button{width:auto!important;min-width:0!important;justify-content:flex-start!important;gap:8px!important}:is(.language,.framer-locale-picker) .language-menu{width:fit-content!important;min-width:0!important}:is(.language,.framer-locale-picker) .language-menu button{width:auto!important;background:transparent!important}:is(.language,.framer-locale-picker) .language-menu button[aria-selected=true],:is(.language,.framer-locale-picker) .language-menu button:disabled{background:transparent!important;opacity:.5!important;cursor:default}:is(.language,.framer-locale-picker) .language-menu button:not(:disabled):hover{background:transparent!important;color:#6c6c6c!important}

/* Shared scroll-aware navigation. */
.nav{position:sticky!important;top:0;transform:translateY(0);transition:transform .26s cubic-bezier(.22,1,.36,1),background-color .22s ease,box-shadow .22s ease,border-color .22s ease}.nav.nav-scrolled{background:rgba(255,255,255,.86)!important;backdrop-filter:blur(12px);border-bottom:1px solid rgba(17,17,17,.08)!important;box-shadow:0 4px 18px rgba(0,0,0,.04)}.nav.nav-hidden{transform:translateY(-110%)}.experience-section .section-heading{justify-content:flex-start}
@media(prefers-reduced-motion:reduce){.nav{transition:none}.nav.nav-hidden{transform:none}}

/* Keep the chrome on the same reading grid as the home content. */
:root{--home-grid-edge:max(var(--page),calc((100vw - 1320px)/2 + var(--page)))}
@media(min-width:701px){.nav,.home-footer{padding-left:var(--home-grid-edge);padding-right:var(--home-grid-edge)}}
