
/* Mobile review 121: compact content, readable artwork, light ambient motion. */
@media(max-width:700px){
 header{overflow:visible!important}header.mobile-menu-open{transform:none!important;opacity:1!important;pointer-events:auto!important}
 .stage .mosaic-preview,.stage .interaction-note{display:none!important}
 .starfield i{animation:mobile-star-drift var(--duration,9s) var(--delay,0s) ease-in-out infinite alternate!important}
 .section-stars i{animation:mobile-star-drift var(--duration,9s) var(--delay,0s) ease-in-out infinite alternate!important;animation-play-state:paused!important}
 .stars-visible>.section-stars i{animation-play-state:running!important}
 .portfolio-card .card-caption{display:none!important}
 .highlights-grid .highlight-card .card-caption h3,.highlights-grid .highlight-card .card-caption p,.highlights-grid .highlight-card .card-caption small,.highlights-grid .highlight-card .card-caption .card-number{display:none!important}
 .highlights-grid .highlight-card .card-caption{background:none!important;padding:8px!important;position:relative!important;inset:auto!important;opacity:1!important;transform:none!important}
 .highlight-card .expand-film,.highlight-card .card-replay,.quick-contact button{background:linear-gradient(120deg,rgba(80,101,207,.48),rgba(130,71,182,.4))!important;color:#fff!important;border:0!important}
 .project-modal{width:calc(100vw - 12px)!important;max-width:calc(100vw - 12px)!important;padding:6px!important}
 .project-modal .modal-media{width:100%!important;display:flex;justify-content:center}
 .project-modal .modal-media img,.project-modal .modal-media video{max-width:100%!important;object-fit:contain!important}
 .project-modal .modal-info h2{font-size:16px!important}.project-modal .modal-description{font-size:13px!important}
 .profile-unified #about{padding-top:14px!important;padding-bottom:0!important}
 .profile-unified #about .chapter-pin{padding:10px 5vw 0!important}
 .profile-unified #about .chapter-type h2{font-size:8.3vw!important;margin:0!important}
 .profile-unified #about .eyebrow{margin:0 0 8px!important}
 .profile-unified .profile-body{padding-top:8px!important}
 .profile-grid{gap:8px!important}
 .profile-identity .portrait{width:min(95%,calc(48svh * 608 / 733))!important;max-width:380px!important}
 .profile-copy .hello-heading{font-size:30px!important;line-height:1.1!important;margin:0 0 8px!important}
 .profile-copy>.eyebrow{font-size:14px!important;line-height:1.3!important;margin:0 0 20px!important}
 .client-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
 .client-logo{padding:6px!important;min-height:60px!important}.client-logo img{height:48px!important;width:100%;object-fit:contain}
 .clients-body{padding:16px 4vw 30px!important}
 .new-footer{padding:24px 5vw 12px!important;min-height:100svh!important}
 .new-footer .footer-top{gap:12px!important;grid-template-columns:1fr!important}
 .new-footer .footer-top>.eyebrow,.new-footer .footer-top>div>.eyebrow{font-size:14px!important;margin:0 0 6px!important}
 .new-footer .footer-top h2{font-size:clamp(42px,12vw,64px)!important;line-height:.95!important;margin:0!important}
 .new-footer .footer-top h2 br{display:none}.new-footer .footer-top h2 br:after{content:' '}
 .footer-contact-card{padding:16px!important}
 .contact-form-heading{gap:8px!important;margin-bottom:12px!important}.contact-form-heading h3{font-size:22px!important;white-space:nowrap!important;letter-spacing:.02em!important;margin:0!important}.contact-form-heading .contact-cube{width:30px!important;height:30px!important}
 .quick-contact{gap:8px!important}.quick-contact input{padding:10px!important;min-height:42px!important}.quick-contact textarea{min-height:60px!important;height:60px!important;padding:10px!important}
 .footer-contact-card .direct-contact{font-size:12px!important;gap:6px!important;margin-top:12px!important}
 .linkedin-qr img{width:64px!important;height:64px!important}.linkedin-qr{margin-top:12px!important}.qr-caption-bottom{font-size:11px!important}
 .new-footer .footer-bottom{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-top:12px!important;padding:10px 0!important}
 .new-footer .footer-bottom>a[href="#top"]:not(.footer-logo){display:none!important}
 .footer-bottom .footer-logo{flex:0 0 72px!important}.footer-bottom .footer-logo img{width:72px!important}.footer-bottom>span{flex:1!important;text-align:right!important;font-size:9px!important;line-height:1.5!important}
 .portfolio-card:hover:where(:not(html.mobile-layout *)),.highlight-card:hover:where(:not(html.mobile-layout *)),.skill-card:hover:where(:not(html.mobile-layout *)),.about-box:hover:where(:not(html.mobile-layout *)),.client-logo:hover:where(:not(html.mobile-layout *)),.profile-links a:hover:where(:not(html.mobile-layout *)){transform:none!important;translate:none!important;scale:1!important}
 .portfolio-card:hover:where(:not(html.mobile-layout *)) img,.client-logo:hover:where(:not(html.mobile-layout *)) img{transform:none!important}
 button:hover:where(:not(html.mobile-layout *)){filter:none!important}
 .featured-full-button{display:inline-flex!important}
}
@keyframes mobile-star-drift{from{transform:translate3d(-4px,4px,0);opacity:.35}to{transform:translate3d(6px,-8px,0);opacity:.85}}
@media(prefers-reduced-motion:reduce){.starfield i,.section-stars i{animation:none!important}}
.featured-full-button{display:none}
.featured-film-dialog{padding:6px;border:0;border-radius:18px;width:calc(100vw - 12px);max-width:1100px;background:rgba(25,22,45,.68);color:white;overflow:hidden;box-shadow:0 20px 70px #0008}
.featured-film-dialog::backdrop{background:rgba(3,3,12,.7);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.featured-film-dialog video{display:block;width:100%;max-height:78svh;object-fit:contain;border-radius:12px}
.featured-film-tools{display:flex;justify-content:flex-end;gap:10px;padding:10px}
.featured-film-tools button{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:linear-gradient(120deg,#526acd66,#894bb966);color:white}
.featured-film-tools svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2}
html.featured-film-open{overflow:hidden}
@media(max-width:700px){.mobile-content-enter{opacity:0;translate:0 12px;transition:opacity .45s ease var(--mobile-order,0ms),translate .45s ease var(--mobile-order,0ms)}.mobile-content-enter.mobile-content-shown{opacity:1;translate:0 0}.type-copy .type-char{filter:none!important}.new-footer .footer-wordmark{display:none!important}}
@media(prefers-reduced-motion:reduce){.mobile-content-enter{opacity:1!important;translate:none!important;transition:none!important}}
@media(max-width:700px){
 .new-footer .footer-bottom .footer-logo{order:0!important;margin:0!important}
 .new-footer .footer-bottom>span{order:1!important;text-align:right!important}
 .quick-contact button.message-send,.highlight-card button.expand-film,.highlight-card button.card-replay{background:linear-gradient(120deg,rgba(80,101,207,.48),rgba(130,71,182,.4))!important}
 .new-footer .footer-top h2 br{display:inline-block!important;width:.2em}
 .new-footer .footer-top h2{filter:none!important}
}

/* Mobile 122: consistent controls and bounded ambient animation. */
@media(max-width:700px){
.site-loader{background:#11082f url("reference.png") center/cover!important}
header .logo,header .logo img,header .mobile-menu-toggle,header .mobile-menu-toggle span{opacity:1!important;visibility:visible!important;filter:none!important;animation:none!important}
header .mobile-menu-toggle span{display:block!important;background:#fff!important;width:23px!important;height:2px!important;transform:none!important}
.aurora-sky i,.footer-aurora i{animation:mobile-aurora 12s ease-in-out infinite alternate!important;filter:blur(14px)!important}
body:not(.mobile-ambient-ready) .starfield i,body:not(.mobile-ambient-ready) .aurora-sky i{animation-play-state:paused!important}
.section-stars i{animation-play-state:running!important}
.film-controls button{border-radius:12px!important;background:rgba(33,33,39,.75)!important;color:white!important}
.featured-film-dialog{width:calc(100vw - 24px);max-height:86svh;padding:8px;background:rgba(8,8,12,.8);border-radius:18px;margin:auto}
.featured-film-dialog video{border-radius:12px;max-height:65svh}
.featured-film-tools button{border-radius:12px;background:rgba(33,33,39,.75);padding:0;line-height:1;place-items:center}
.featured-film-tools svg{display:block;margin:auto}
.highlights-grid .highlight-card{padding-bottom:58px!important}
.highlights-grid .highlight-card>.card-replay,.highlights-grid .highlight-card .expand-film{position:absolute!important;top:auto!important;bottom:10px!important;width:calc(50% - 16px)!important;margin:0!important;min-height:40px!important}
.highlights-grid .highlight-card>.card-replay{left:10px!important;right:auto!important}
.highlights-grid .highlight-card .expand-film{right:10px!important;left:auto!important}
.highlights-grid .highlight-card .card-caption{position:static!important;padding:0!important}
.highlights-grid .highlight-card .card-number,.highlights-grid .highlight-card .project-number{display:none!important}
.profile-identity .portrait{width:calc(100% - 10px)!important;max-width:none!important}
.profile-copy .about-box{background:linear-gradient(140deg,#39316455,#53327844)!important}
.mobile-content-enter{filter:blur(5px);transition:opacity .65s ease var(--mobile-order),translate .65s ease var(--mobile-order),filter .65s ease var(--mobile-order)}
.mobile-content-enter.mobile-content-shown{filter:blur(0)}
.quick-contact button.message-send{height:60px!important;min-height:60px!important;border-radius:12px!important}
}
@keyframes mobile-aurora{from{transform:translate3d(-3%,0,0) rotate(-3deg);opacity:.5}to{transform:translate3d(3%,-2%,0) rotate(3deg);opacity:.85}}
@media(prefers-reduced-motion:reduce){.aurora-sky i,.footer-aurora i{animation:none!important}.mobile-content-enter{filter:none!important}}
@media(max-width:700px){.highlights-grid .card-caption>span{display:none!important}}
/* Restore desktop star trajectories on phones, with a smaller visible field. */
@media(max-width:700px){
 .stage .starfield i,.section-stars i{animation:galaxy-retreat var(--duration) var(--delay) linear infinite!important;animation-play-state:paused!important}
 .stage .starfield i.orbit-star,.section-stars i.orbit-star{animation:orbital-depth var(--duration) var(--delay) linear infinite!important;animation-play-state:paused!important}
 .stage .starfield i.orbit-star:nth-last-child(-n+18),.section-stars i.orbit-star:nth-last-child(-n+12){display:block!important}
 body.mobile-ambient-ready .stage.stars-visible .starfield i,.stars-visible>.section-stars i{animation-play-state:running!important}
}
@media(prefers-reduced-motion:reduce){.stage .starfield i,.section-stars i,.stage .starfield i.orbit-star,.section-stars i.orbit-star{animation:none!important}}
.mobile-swipe-gesture{display:none}
@media(max-width:700px){
 .discover-button .scroll-mouse,.workflow-discover .scroll-mouse,.chapter-cue .scroll-mouse{display:none!important}
 .mobile-swipe-gesture{display:block!important;width:42px;height:54px;margin:7px auto 0;color:inherit;pointer-events:none}
 .mobile-swipe-gesture svg{width:100%;height:100%;overflow:visible}
 .mobile-swipe-gesture .swipe-finger{animation:mobile-swipe-up 2.2s cubic-bezier(.4,0,.2,1) infinite;transform-origin:center}
 .mobile-swipe-gesture .swipe-direction{animation:mobile-swipe-arrow 2.2s ease-in-out infinite}
 .discover-button{height:64px!important;min-width:54px!important;display:grid!important;place-items:center!important}
 .discover-button .mobile-swipe-gesture{margin:0}
}
@keyframes mobile-swipe-up{0%,12%{transform:translateY(6px);opacity:0}25%{opacity:1}65%{transform:translateY(-7px);opacity:1}85%,100%{transform:translateY(-10px);opacity:0}}
@keyframes mobile-swipe-arrow{0%,15%,100%{opacity:.25;transform:translateY(3px)}50%,70%{opacity:1;transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.mobile-swipe-gesture .swipe-finger,.mobile-swipe-gesture .swipe-direction{animation:none!important;opacity:1}}

@media(max-width:700px){
.mobile-swipe-gesture{color:rgba(231,231,255,.72)}
.mobile-swipe-gesture .swipe-fingerprint{animation:swipe-print-pulse 2.2s ease-in-out infinite;transform-origin:22px 27px}
.discover-button,.discover-button:hover:where(:not(html.mobile-layout *)){background:transparent!important;box-shadow:none!important;border:0!important}
.discover-button::before,.discover-button::after{display:none!important}
}
@keyframes swipe-print-pulse{0%,100%{opacity:.15;transform:scale(.92)}25%,50%{opacity:.8;transform:scale(1)}80%{opacity:.2;transform:scale(1.04)}}
@media(prefers-reduced-motion:reduce){.mobile-swipe-gesture .swipe-fingerprint{animation:none!important;opacity:.6}}
/* Mobile 126: one-screen introduction and a bottom-weighted contact layout. */
@media(max-width:700px){
 .profile-unified #about{min-height:0!important;height:auto!important;padding-top:12px!important}
 .profile-unified #about .chapter-pin{min-height:0!important;height:auto!important;padding-top:6px!important;padding-bottom:0!important}
 .profile-unified .profile-body{padding-top:4px!important}
 .profile-identity .portrait{width:min(calc(100% - 10px),calc(36svh * 608 / 733))!important;max-height:none!important;margin:0 auto!important}
 .profile-grid{gap:4px!important}
 .profile-copy.zoom-card{transform:none!important;translate:none!important;scale:1!important;opacity:1!important}
 .profile-copy .hello-heading{font-size:clamp(25px,7.5vw,30px)!important;line-height:1.12!important;margin:0 0 7px!important}
 .profile-copy>.eyebrow{font-size:12px!important;line-height:1.35!important;margin:0 0 12px!important}
 .profile-copy>.eyebrow+p{font-size:15px!important;line-height:1.5!important;margin:0!important;translate:none!important;transform:none!important;filter:none!important;opacity:1!important}
 .profile-copy>.what-i-do{margin-top:32px!important}
 .new-footer{display:flex!important;flex-direction:column!important;min-height:100svh!important;padding-top:28px!important;box-sizing:border-box}
 .new-footer .footer-top{display:flex!important;flex-direction:column!important;flex:1!important;gap:32px!important}
 .new-footer .footer-top>div:first-child{flex:0 0 auto}
 .new-footer .footer-top h2{font-size:clamp(48px,14vw,72px)!important;line-height:1.02!important}
 .new-footer .footer-contact-card{margin-top:auto!important;width:100%!important;box-sizing:border-box}
 .new-footer .footer-bottom{flex-shrink:0!important;margin-top:18px!important}
}

@media(max-width:700px){.mobile-swipe-gesture .swipe-touch-circle{animation:swipe-touch-pulse 2.2s ease-in-out infinite;transform-origin:21px 26px}}
@keyframes swipe-touch-pulse{0%,100%{opacity:.4;transform:scale(.9)}30%,55%{opacity:1;transform:scale(1.1)}80%{opacity:.5;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.mobile-swipe-gesture .swipe-touch-circle{animation:none!important}}

@media(max-width:700px){
 header .mobile-pages:not([hidden]){gap:12px!important;padding:16px!important;background:rgba(20,16,36,.84)!important}
 header .mobile-pages a{position:relative;isolation:isolate;overflow:hidden;min-height:48px!important;padding:13px 18px!important;border:0!important;border-radius:13px;background:linear-gradient(120deg,#6d75ae33,#9670bd2b);color:#fff!important;text-transform:uppercase;font-size:14px!important;letter-spacing:.06em}
 header .mobile-pages a::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(110deg,transparent 25%,#d8e5ffbb 48%,transparent 70%);background-size:300% 100%;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;pointer-events:none;animation:menu-link-shine 5s ease-in-out infinite}
 header .mobile-pages a:nth-child(2n)::after{animation-delay:-2s}header .mobile-pages a:nth-child(3n)::after{animation-delay:-3.5s}
 html.mobile-menu-active{overflow:hidden!important}
 .mobile-menu-active main{filter:blur(8px) brightness(.55);pointer-events:none}
 .mobile-menu-active main *,.mobile-menu-active main *::before,.mobile-menu-active main *::after{animation-play-state:paused!important}
}
@keyframes menu-link-shine{0%,20%{background-position:140% 0;opacity:0}45%{opacity:1}75%,100%{background-position:-40% 0;opacity:0}}
@media(prefers-reduced-motion:reduce){header .mobile-pages a::after{animation:none!important}}

/* Mobile portrait and film popup controls, revision 129. */
@media(max-width:700px){
 .profile-identity .portrait{width:calc(100vw - 16px)!important;max-width:none!important;max-height:none!important;margin-left:calc((100% - 100vw + 16px)/2)!important;margin-right:0!important}
 .featured-film-tools{display:flex!important;align-items:center!important;gap:8px!important;padding:10px 2px 2px!important}
 .featured-film-tools button{box-sizing:border-box!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;text-indent:0!important;letter-spacing:normal!important;flex:0 0 44px!important;width:44px!important;height:44px!important;min-width:44px!important;line-height:1!important}
 .featured-film-tools button svg{display:block!important;flex:0 0 22px!important;width:22px!important;height:22px!important;margin:0!important;position:static!important;transform:none!important;translate:none!important}
 .featured-film-tools button.featured-replay{flex:1 1 auto!important;width:auto!important;min-width:0!important;margin-right:auto!important;padding:0 10px!important;font-size:11px!important;white-space:nowrap!important;letter-spacing:.025em!important}
}

video::-webkit-media-controls,video::-webkit-media-controls-enclosure{display:none!important}

@media(max-width:700px){
 html,body,main,section{scroll-snap-type:none!important;scroll-snap-align:none!important;overflow-anchor:none!important}
 .featured-film-dialog video{border-radius:10px!important;clip-path:inset(0 round 10px);-webkit-mask-image:-webkit-radial-gradient(white,black)}
 .profile-unified #about{padding-top:28px!important}
 .profile-grid{gap:0!important}.profile-copy{margin-top:-18px!important;position:relative}
 .new-footer .footer-top h2{font-size:clamp(52px,15.5vw,90px)!important;letter-spacing:-.035em!important;white-space:nowrap!important}
 header{transition:transform .2s ease-out,opacity .2s ease-out!important}
 header .logo,header .logo img,header .mobile-menu-toggle{position:relative!important;z-index:8!important;transform:none!important;opacity:1!important;visibility:visible!important;mix-blend-mode:normal!important}
 header .logo img{filter:none!important}header .mobile-menu-toggle{color:white!important}
 header:not(.nav-hidden):not(.intro-pending):not(.cinema-hidden){opacity:1!important;visibility:visible!important;transform:translateY(0)!important}
}

@media(max-width:700px){.new-footer .footer-top h2{font-size:22vw!important;line-height:.95!important;white-space:normal!important}}

/* Phone browser chrome must not alter the intro's zoom/snap geometry. */
@media(max-width:700px){
 .journey{height:340lvh!important}.stage{height:100lvh!important;min-height:100lvh!important;position:sticky!important;top:0!important}
 .project-screen{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;clip-path:none!important}
 .project-screen video{width:100%!important;height:100%!important;object-fit:cover!important}
 .hero-copy h1,.hero-copy .intro-line{visibility:hidden!important}
 .portfolio-card:hover:where(:not(html.mobile-layout *)),.highlight-card:hover:where(:not(html.mobile-layout *)),.skill-card:hover:where(:not(html.mobile-layout *)),.about-box:hover:where(:not(html.mobile-layout *)),.client-logo:hover:where(:not(html.mobile-layout *)),button:hover:where(:not(html.mobile-layout *)),a:hover:where(:not(html.mobile-layout *)){translate:none!important;scale:1!important;filter:none!important}
 .portfolio-card:hover:where(:not(html.mobile-layout *)) .card-caption,.stage .mosaic-preview{display:none!important}
}

@media(max-width:700px){
 html:not(.mobile-cinema-complete) .stage .project-screen{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
 html.mobile-cinema-complete .stage .project-screen{visibility:visible!important;opacity:1!important;pointer-events:auto!important}
}
.featured-video-frame{position:relative;overflow:hidden;border-radius:14px;isolation:isolate;transform:translateZ(0);background:#08080b;clip-path:inset(0 round 14px)}
.featured-video-frame video{border-radius:inherit!important;clip-path:inset(0 round 14px)!important}
.featured-video-loading{display:none;position:absolute;inset:0;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:#08080bf2;color:#fff;font:11px Arial;letter-spacing:.08em;min-height:150px}
.video-loading .featured-video-loading{display:flex}.video-loading .featured-video-frame{min-height:180px}
.featured-video-loading span{width:26px;height:26px;border:2px solid #ffffff30;border-top-color:#ddd1ff;border-radius:50%;animation:film-loading-spin 1s linear infinite}
@keyframes film-loading-spin{to{transform:rotate(360deg)}}

/* Native video clipping uses the exact mosaic footprints on mobile WebKit. */
@media(max-width:700px){
 html:not(.mobile-cinema-complete) .stage .project-screen,html.mobile-cinema-complete .stage .project-screen{visibility:visible!important;background:transparent!important}
 html:not(.mobile-cinema-complete) .stage .project-screen .film-shade{opacity:0!important}
 html:not(.mobile-cinema-complete) .stage .project-screen .project-copy{visibility:hidden!important}
 .stage .project-screen{will-change:auto!important;transform:translateZ(0)}
}

/* Keep lower mobile pages stable while browser toolbars expand/collapse.
   The .journey/.stage geometry and intro mask/snap are intentionally untouched. */
@media(max-width:700px){
 html,body{scroll-behavior:auto!important}
 .profile-identity,.profile-identity .portrait{position:relative!important;top:auto!important}
 .profile-unified .scroll-exit-item.scroll-exiting,
 .skills-unified .scroll-exit-item.scroll-exiting,
 .clients-unified .scroll-exit-item.scroll-exiting{opacity:1!important;filter:none!important;pointer-events:auto}
 .skill-card p{opacity:1!important;filter:none!important}
 .profile-unified .chapter-type,.skills-unified .chapter-type,.clients-unified .chapter-type{transform:none!important;filter:none!important;opacity:1!important}
 .portfolio-card.below-playback-band img,.highlights-grid .highlight-card.below-playback-band video{filter:none!important;opacity:1!important}
}

/* Shared portfolio viewer: visible feedback before images/GIFs/videos arrive. */
.project-modal .modal-media{position:relative}
.project-modal.portfolio-loading .modal-media{min-height:180px;min-width:180px}
.project-modal.portfolio-loading .modal-media>img,.project-modal.portfolio-loading .modal-media>video{visibility:hidden}
.project-modal.portfolio-loading .modal-media::before{content:"";position:absolute;left:calc(50% - 15px);top:calc(50% - 30px);width:26px;height:26px;border:2px solid #ffffff30;border-top-color:#ddd1ff;border-radius:50%;animation:film-loading-spin 1s linear infinite}
.project-modal.portfolio-loading .modal-media::after{content:"LOADING PORTFOLIO…";position:absolute;left:0;right:0;top:calc(50% + 16px);text-align:center;color:#fff;font:11px Arial;letter-spacing:.08em}
@media(max-width:700px){
 header .mobile-pages:not([hidden]){background:linear-gradient(115deg,rgba(57,95,177,.72),rgba(141,46,151,.66),rgba(92,65,157,.64))!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);align-items:stretch!important;left:0!important;right:0!important;width:100%!important;box-sizing:border-box!important}
 header .mobile-pages a{width:100%!important;max-width:none!important;min-width:0!important;flex:0 0 auto!important;box-sizing:border-box!important;align-self:stretch!important;min-height:48px!important;margin:0!important}
}
@media(prefers-reduced-motion:reduce){.project-modal.portfolio-loading .modal-media::before{animation:none}}

/* Mobile homepage only: safe placement with browser controls visible. */
@media(max-width:700px){
 header.homepage-menu-enter{transition:transform 1.2s cubic-bezier(.22,1,.36,1),opacity 1.2s ease!important}
 header.homepage-menu-enter .logo,header.homepage-menu-enter .mobile-menu-toggle{transition:opacity 1.1s ease,translate 1.1s cubic-bezier(.22,1,.36,1)!important;translate:0 0}
 header.intro-pending .logo,header.intro-pending .mobile-menu-toggle{opacity:0!important;translate:0 -10px}
 .stage .bottom-guide{bottom:calc(100lvh - 100svh + 42px)!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:0!important;text-align:center}
 .stage .bottom-guide>span:last-child{display:none}
 .stage .bottom-guide .discover-button{height:50px!important;min-height:50px!important;margin-top:-4px!important;line-height:1!important}
 .stage .bottom-guide .mobile-swipe-gesture{height:48px!important;margin:0 auto!important}
}
@media(prefers-reduced-motion:reduce){header.homepage-menu-enter,header.homepage-menu-enter .logo,header.homepage-menu-enter .mobile-menu-toggle{transition:none!important}}
