/* Mobile layout safeguards; desktop composition and brand colours remain unchanged. */
@media(max-width:760px){
 .nav.wrap{grid-template-columns:minmax(0,1fr) 46px}
 .wordmark{max-width:100%;min-width:0}.wordmark-logo{width:100%}
 .nav-open header{backdrop-filter:none;-webkit-backdrop-filter:none}
 .nav-links{top:var(--sticky-offset);bottom:max(12px,env(safe-area-inset-bottom));left:var(--gap);right:var(--gap);max-height:calc(100dvh - var(--sticky-offset) - 20px);min-height:0}
 .about-grid>.about-side,.expertise-grid>.specialty-side{position:relative;top:auto}
 .timeline-side.is-static-reading{position:relative;top:auto}
 :is(.hero-title,.about-body,.specialty-side,.career,.learning-content,.journal-body,.journal-scroll-panel,.press-grid article,.professional-link-group){min-width:0}
 :is(.hero-display,.section-title,.career h3,.career h4,.education-title,.education-school,.journal-card h3,.press-grid h3,.professional-links a){overflow-wrap:break-word}
 .project-story-copy .project-cta,.section-cta-button,.hero-actions .pill,.hero-actions .link{max-width:100%;white-space:normal;min-width:0}
 .route-labels{flex-wrap:wrap;row-gap:8px}
 .journal-viewport{max-width:100%;touch-action:pan-x pan-y}
 .journal-strip>.journal-card{flex-basis:min(100%,340px);width:min(100%,340px);min-width:0}
 .journal-carousel-controls{flex-wrap:wrap}
 .timeline-viewport{max-width:100%;touch-action:pan-x pan-y}
 .methodology.is-enhanced .method-wheel-panel{top:var(--sticky-offset)}
 .methodology.is-static-reading .method-wheel-panel{position:relative;top:auto}
 .methodology.is-static-reading .method-phase-row{min-height:0;display:block;padding-block:16px;scroll-margin-top:var(--sticky-offset)}
 .methodology.is-static-reading .method-floating-phase{opacity:1;transform:none;pointer-events:auto}
 .methodology.is-static-reading .method-floating-phase::before{display:none}
 .a11y-launcher,.cookie-launcher,.back-to-top{bottom:max(16px,calc(env(safe-area-inset-bottom) + 12px))}
 .footer-navigation{width:100%;min-width:0}.footer-legal{min-width:0}.footer-legal a{overflow-wrap:anywhere}
}
@media(max-width:480px){
 #experiencia-profesional .career summary{grid-template-columns:minmax(0,1fr) 28px;gap:8px 12px}
 #experiencia-profesional .career summary>.career-period{grid-column:1;grid-row:1;width:auto}
 #experiencia-profesional .career summary>h3{grid-column:1;grid-row:2}
 #experiencia-profesional .career summary>h4{grid-column:1;grid-row:3}
 #experiencia-profesional .career summary>.role-location{grid-column:1;grid-row:4}
 #experiencia-profesional .career summary>.plus{grid-column:2;grid-row:1 / span 4}
 #experiencia-profesional .career p{margin-left:0}
 .professional-links nav a{min-height:44px}
 #cc-main .cm__link-group{align-items:start}
}
@media(max-height:500px) and (max-width:1000px){.timeline-side{position:relative;top:auto}.methodology.is-static-reading .method-wheel-panel{position:relative;top:auto}.methodology.is-static-reading .method-readouts{display:block}.methodology.is-static-reading .method-phase-row{min-height:0;display:block;padding-block:16px;scroll-margin-top:var(--sticky-offset)}.methodology.is-static-reading .method-floating-phase{opacity:1;transform:none;pointer-events:auto}.methodology.is-static-reading .method-floating-phase::before{display:none}}
@media(max-width:1500px){.nav-open header{backdrop-filter:none;-webkit-backdrop-filter:none}}

/* Mobile scroll interaction refinements. */
@media(max-width:760px){
 .methodology.is-enhanced .method-wheel-panel{background:transparent;pointer-events:none}
 .method-wheel-node{pointer-events:auto}
 .skill summary{padding:76px 0 52px}
 .skill .skill-title .skill-satellites{position:absolute;inset:0;display:block;height:100%;margin:0;pointer-events:none}
 .skill .skill-title .skill-satellites .satellite{position:absolute;left:var(--tag-x,50%);top:var(--tag-y,-16px);width:max-content;max-width:100%;padding:0;opacity:0;transform:translate(-50%,-50%) translateY(8px) scale(.85) rotate(var(--tag-rotation,0deg));transition:opacity .22s,transform .35s;transition-delay:calc(var(--tag-index) * 50ms)}
 .skill .skill-title .skill-satellites .satellite-label{padding:4px 10px;font-size:9px;line-height:1.4;animation:none}
 .skill.is-scroll-active{z-index:8}
 .skill.is-scroll-active .skill-title .skill-satellites .satellite{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(var(--tag-rotation,0deg))}
 html.a11y-no-motion .skill summary,html.a11y-text-enlarged .skill summary{padding:24px 0}
 html.a11y-no-motion .skill .skill-title .skill-satellites,html.a11y-text-enlarged .skill .skill-title .skill-satellites{position:static;display:flex;height:auto;flex-wrap:wrap;gap:6px;margin-top:12px}
 html.a11y-no-motion .skill .skill-title .skill-satellites .satellite,html.a11y-text-enlarged .skill .skill-title .skill-satellites .satellite{position:static;opacity:1;transform:none;transition:none}
}
@media(max-width:760px) and (prefers-reduced-motion:no-preference){.skill.is-scroll-active .skill-title .skill-satellites .satellite-label{animation:satelliteFloat 3.8s ease-in-out infinite alternate;animation-delay:calc(var(--tag-index) * -.8s)}}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.skill summary{padding:24px 0}.skill .skill-title .skill-satellites{position:static;display:flex;height:auto;flex-wrap:wrap;gap:6px;margin-top:12px}.skill .skill-title .skill-satellites .satellite{position:static;opacity:1;transform:none;transition:none}}

/* Mobile route captions, touch controls and footer alignment. */
.project-navigation .project-arrow-icon{display:none}
@media(max-width:760px){
 .route-labels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px;align-items:start}
 .route-labels>span{min-width:0;overflow-wrap:break-word}
 .route-labels>span:nth-child(1){grid-column:1;grid-row:1;text-align:left}
 .route-labels>span:nth-child(2){grid-column:2;grid-row:2;text-align:center}
 .route-labels>span:nth-child(3){grid-column:3;grid-row:1;text-align:right}
 .project-navigation .project-arrow-glyph{display:none}
 .project-navigation .project-arrow-icon{display:block;width:22px;height:22px}
 .project-prev .project-arrow-icon{transform:rotate(180deg)}
 .project-showcase.is-enhanced .project-stories{touch-action:pan-y pinch-zoom}
 .footer-impact{flex-direction:column;width:167px;gap:18px}
 .footer-impact-widget{flex:0 0 auto}
 .footer-impact .google-business-badge{order:1;flex-shrink:0}
 .footer-navigation .footer-legal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;align-items:center}
 .footer-navigation .footer-legal>a{display:flex;min-height:44px;align-items:center;line-height:1.6;min-width:0}
 .footer-navigation .footer-legal>a:nth-child(1){grid-column:1;grid-row:1}
 .footer-navigation .footer-legal>a:nth-child(2){grid-column:2;grid-row:1}
 .footer-navigation .footer-legal>a:nth-child(3){grid-column:1;grid-row:2}
 .footer-navigation .footer-legal>a:nth-child(4){grid-column:2;grid-row:2}
 .footer-navigation .footer-legal>a:nth-child(1),.footer-navigation .footer-legal>a:nth-child(3){justify-content:flex-end;text-align:right}
 .footer-navigation .footer-legal>a:nth-child(2),.footer-navigation .footer-legal>a:nth-child(4){justify-content:flex-start;text-align:left}
}

/* Touch carousel: the incoming card remains inert until the slide completes. */
@media(max-width:760px){
 .project-showcase.is-enhanced .project-stories{position:relative;overflow:hidden;border-radius:30px}
 .project-stories.is-swiping>[role=tabpanel]{will-change:transform;transition:none}
 .project-stories.is-swiping>[role=tabpanel]:not(.is-swipe-incoming){position:relative;z-index:2}
 .project-stories.is-swiping>.is-swipe-incoming{position:absolute;inset:0;width:100%;z-index:1;pointer-events:none;transform-origin:center center}
 .project-showcase.is-enhanced .project-story{animation:none}
 .project-stories>[role=tabpanel]:focus-visible{outline-offset:-3px}
 .project-stories.is-swipe-settling>[role=tabpanel]{transition:transform 320ms cubic-bezier(.22,.61,.36,1)}
}

/* Matching article controls and a centred mobile legal block. */
.journal-carousel-controls button[data-journal-direction="-1"] svg{transform:rotate(180deg)}
@media(max-width:760px){
 .footer-navigation{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:12px;align-items:center}
 .footer-navigation .footer-legal{grid-column:2;grid-row:1}
 .footer-navigation .cookie-footer-button{grid-column:3;grid-row:1;justify-self:end}
}

/* High browser zoom / very short viewports: keep the reading area unobstructed. */
@media(max-width:1000px) and (max-height:320px){
 :root{--sticky-offset:12px}
 html{scroll-padding-top:12px}
 header{position:relative;top:auto}
 body>.a11y-launcher,body>.cookie-launcher,body>.back-to-top{position:relative;left:auto;right:auto;bottom:auto!important;display:inline-grid;vertical-align:middle;margin:12px 6px 16px}
 html.nav-open{--sticky-offset:64px}
 html.nav-open header{position:fixed;top:4px;left:var(--gap);right:var(--gap);width:auto;height:56px;margin-top:0}
 .nav-links{top:64px;bottom:4px;max-height:calc(100dvh - 68px)}
 #cc-main .pm__header{padding:8px!important}
 #cc-main .pm__footer{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px!important}
 #cc-main .pm__btn-group{display:contents!important}
 #cc-main .pm__btn{min-width:0;margin:0!important;padding:.5em!important}
 #cc-main .pm__btn-group:last-child .pm__btn{grid-column:1 / -1}
}
