
/* Shared responsive treatment: touch targets, wrapping and constrained content. */
*,*:before,*:after{box-sizing:border-box}img,svg,video{max-width:100%}main,section,article,aside,figure,nav,header,footer{min-width:0}p,h1,h2,h3,a{overflow-wrap:break-word}.luna-menu-toggle .luna-chevron{width:14px;height:14px;flex:0 0 14px;margin-left:4px;opacity:.65;transition:transform .2s,opacity .2s}.luna-menu-toggle[aria-expanded=true] .luna-chevron{transform:rotate(180deg);opacity:1}.projects-dropdown .luna-chevron{transform:rotate(-90deg);margin-left:auto}.projects-dropdown .luna-menu-toggle[aria-expanded=true] .luna-chevron{transform:rotate(0)}.project-page .project-switcher .luna-menu-toggle{gap:8px;min-height:44px;padding:10px 13px;align-items:center}.luna-destinations{max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}.luna-menu-toggle:focus-visible{outline-offset:2px}.project-switcher{overflow:visible!important}
@media(max-width:1000px){body:not(.project-page)>header{flex-wrap:wrap;gap:12px;padding:14px 24px}body:not(.project-page)>header>nav{order:3;width:100%;display:flex;overflow-x:auto;gap:24px;align-items:center}body:not(.project-page)>header>nav>a,body:not(.project-page)>header>nav>button{flex-shrink:0;white-space:nowrap;padding-block:12px}.project-page .project-header{height:auto;min-height:82px;flex-wrap:wrap;padding:12px 22px;gap:12px}.project-page .project-switcher a,.project-page .project-switcher .luna-menu-toggle{font-size:12px;padding:9px 11px}.project-page .project-header-cta{display:none}.project-page .hero-grid,.project-page .hero{min-width:0}.theme-timba .split{gap:30px}.section-heading{min-width:0}}
@media(max-width:700px){body:not(.project-page)>header{padding:10px 16px;gap:5px}.language-control{margin-left:auto}body:not(.project-page)>header>nav{gap:20px}body:not(.project-page) main{width:100%;padding-left:28px;padding-right:18px}body:not(.project-page) .hero-grid,body:not(.project-page) .project-grid,body:not(.project-page) .skill-grid{grid-template-columns:1fr}body:not(.project-page) .section-heading{display:block}body:not(.project-page) .experience{grid-template-columns:1fr;gap:20px}body:not(.project-page) .email{font-size:clamp(15px,4.5vw,25px);overflow-wrap:anywhere}body:not(.project-page) .code-panel{min-width:0;overflow:auto}body:not(.project-page) .education article{grid-template-columns:65px 1fr;gap:12px}body:not(.project-page) .edu-kind{grid-column:2}body:not(.project-page) .tech-strip{flex-wrap:wrap}body:not(.project-page) .timeline{left:12px}.project-page .project-header{justify-content:center;padding:10px 14px;gap:9px}.project-page .project-brand{font-size:23px}.project-page .project-switcher{padding:4px;gap:2px;max-width:100%;flex-wrap:wrap;justify-content:center}.project-page .project-switcher a,.project-page .project-switcher .luna-menu-toggle{font-size:11px;gap:6px;padding:8px;min-height:42px}.project-switcher img,.luna-menu-toggle img{width:19px;height:19px}.project-page .section-nav{overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;gap:5px;max-width:100%;min-height:53px;padding:6px 14px;scrollbar-width:thin}.project-page .section-nav a{white-space:nowrap;flex:none;min-height:40px;display:flex;align-items:center;padding:9px 12px}.project-page .hero-grid,.theme-timba .hero,.theme-timba .split,.theme-timba .reverse{grid-template-columns:1fr}.project-page main{max-width:100%}.project-page .wrap{width:calc(100% - 36px)}.project-page h1{font-size:clamp(40px,11vw,65px);letter-spacing:-2px}.project-page .hero .eyebrow{font-size:9px}.project-page .section-heading{grid-template-columns:1fr;gap:20px}.project-page figure{max-width:100%}.project-page figcaption{flex-wrap:wrap;gap:6px}.project-page .button{white-space:normal;min-height:46px;align-items:center}.project-page .actions{flex-wrap:wrap}.project-page .downloads,.project-page .download-panel{grid-template-columns:1fr;gap:28px}.project-page .download-action{min-width:0}.project-page .download-panel h2{font-size:clamp(35px,10vw,49px)}.project-page .download-button{gap:12px;font-size:12px}.project-page .details,.project-page .update-grid{grid-template-columns:1fr}.project-page footer{flex-wrap:wrap;padding-inline:20px}.theme-luna .luna-art{min-height:370px}.theme-luna .luna-paper{width:82%;padding:25px}.theme-luna .luna-pill{max-width:95%;right:0;font-size:10px}.theme-luna .luna-tools{grid-template-columns:1fr}.theme-timba .visual-note{flex-wrap:wrap}.theme-mibar .mibar-preview{max-width:100%}.project-page .license-section h2{font-size:34px}.project-page .online-section{padding:25px}.projects-dropdown{max-height:calc(100dvh - 150px);overflow-y:auto}.projects-dropdown .luna-destinations{z-index:100}}
@media(max-width:390px){.project-page .project-header{gap:6px}.project-page .project-brand{display:none}.project-page .project-switcher{width:100%;justify-content:space-between}.project-page .project-switcher a,.project-page .project-switcher .luna-menu-toggle{font-size:10px;padding:7px 5px}.project-page .project-switcher img{width:16px;height:16px}.project-page .project-switcher .luna-chevron{width:12px;flex-basis:12px}.theme-luna .luna-paper h2{font-size:27px}.project-page .download-panel,.theme-mibar .downloads{padding:28px 20px}}

/* Keep all project icons identical in the portfolio dropdown. */
.projects-dropdown .luna-menu-toggle>img{width:34px;height:34px;min-width:34px;flex:0 0 34px;border-radius:9px;object-fit:contain}.projects-dropdown .luna-menu-toggle{gap:13px;padding:16px 14px;align-items:center}
