/* MJWEB-DS 1.0.0 — maintained component layer. Geometry variants are intentional. */
body.a .mj-button,
body.a :is(.hero-actions,.project-destination) .mj-button{
 display:inline-flex;align-items:center;justify-content:center;gap:var(--mj-button-gap);
 min-height:var(--mj-button-height);padding:var(--mj-button-padding);font-size:var(--mj-button-font);
 font-family:inherit;line-height:1.5;text-decoration:none;border:var(--mj-border-width) solid var(--line);
 border-radius:var(--mj-radius-capsule);background:transparent;color:var(--ink);cursor:pointer;
}
body.a :is(.hero-actions,.project-destination) .mj-button--primary{background:var(--mj-color-action);border-color:var(--mj-color-action);color:var(--mj-color-white)}
body.a :is(.hero-actions,.project-destination) .mj-button--secondary{background:transparent;border-color:var(--line);color:var(--ink)}
body.a .hero-actions .mj-button--hero{min-height:var(--mj-button-hero-height);padding:var(--mj-button-hero-padding);font-size:var(--mj-button-hero-font)}
body.a .hero-actions .mj-button--primary{min-width:var(--mj-button-hero-primary-width)}
body.a .hero-actions .mj-button--secondary{min-width:var(--mj-button-hero-secondary-width)}
body.a .mj-button.mj-button--small{min-height:var(--mj-button-small-height);padding:var(--mj-button-small-padding);font-size:var(--mj-button-small-font)}
body.a .mj-button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
body.a .mj-button:active,
body.a :is(.hero-actions,.project-destination) .mj-button:active{background:var(--action-orange);border-color:var(--action-orange);color:var(--mj-color-white)}
@media(hover:hover) and (pointer:fine){
 body.a .mj-button:hover,
 body.a :is(.hero-actions,.project-destination) .mj-button:hover{background:var(--action-orange);border-color:var(--action-orange);color:var(--mj-color-white)}
}
@media(max-width:620px){
 body.a .hero-actions .mj-button--hero{min-height:var(--mj-button-hero-mobile-height);padding:var(--mj-button-hero-mobile-padding);font-size:var(--mj-button-hero-mobile-font);min-width:0}
}
@media(max-width:360px){body.a .hero-actions .mj-button--hero{padding:var(--mj-button-hero-tiny-padding)}}

/* Safari long press must not select control labels or create link-preview ink. */
body.a :is(#navigation>a,.menu,.mj-button){-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
body.a .top #navigation>a[data-touch-control],
body.a .top .menu[data-touch-control],
body.a :is(.hero-actions,.project-destination,.curcum-proof) .mj-button[data-touch-control]{background:transparent;border-color:var(--line);color:var(--ink)}
body.a :is(.hero-actions,.project-destination) .mj-button--primary[data-touch-control]{background:var(--mj-color-action);border-color:var(--mj-color-action);color:var(--mj-color-white)}
body.a .curcum-proof .mj-button[aria-pressed=true][data-touch-control]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
body.a .top #navigation>a[data-touch-control][data-pressed=true],
body.a .top .menu[data-touch-control][data-pressed=true],
body.a :is(.hero-actions,.project-destination,.curcum-proof) .mj-button[data-touch-control][data-pressed=true]{background:var(--action-orange);border-color:var(--action-orange);color:var(--mj-color-white)}

/* RC30: long-page navigation, fixed outside all parallax/clip ancestors. */
body.a .floating-menu{--floating-feedback:var(--mj-color-navigation-active);position:fixed;z-index:30;top:var(--mj-floating-inset);right:var(--mj-floating-inset);display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}
body.a .floating-menu-trigger{pointer-events:auto;min-width:86px;min-height:44px;padding:9px 14px;border:var(--mj-border-width) solid var(--line);background:var(--paper);color:var(--ink);font:inherit;font-size:16px;line-height:24px;cursor:pointer}
body.a .floating-nav{pointer-events:auto;display:flex;flex-direction:column;width:var(--mj-floating-nav-width);max-width:calc(100vw - 64px);max-height:calc(100dvh - var(--mj-floating-inset) * 2 - 52px);overflow-y:auto;overscroll-behavior:contain;background:var(--paper);border:var(--mj-border-width) solid var(--line)}
body.a .floating-nav>a{display:flex;align-items:center;min-height:56px;flex-shrink:0;padding:0 16px;border-bottom:var(--mj-border-width) solid var(--line);text-decoration:none;font-size:14px;letter-spacing:.035em;text-transform:uppercase;color:var(--ink)}
body.a .floating-nav>a:last-child{border-bottom:0}
body.a :is(.floating-menu-trigger,.floating-nav>a){-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
body.a :is(.floating-menu-trigger,.floating-nav>a):focus-visible{outline:var(--mj-focus-width) solid var(--accent);outline-offset:-5px}
body.a :is(.floating-menu-trigger,.floating-nav>a):active,
body.a :is(.floating-menu-trigger,.floating-nav>a)[data-pressed=true]{background:var(--floating-feedback);border-color:transparent;color:var(--mj-color-white)}
@media(hover:hover) and (pointer:fine){
 body.a :is(.floating-menu-trigger,.floating-nav>a):not([data-touch-control]):hover{background:var(--floating-feedback);border-color:transparent;color:var(--mj-color-white)}
}
@media(max-width:620px){body.a .floating-menu{--mj-floating-inset:var(--mj-floating-inset-mobile);--floating-feedback:var(--action-orange)}}

/* Same contextual state as the menu, outside transformed case surfaces. */
body.a .back-to-top{position:fixed;z-index:30;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:var(--mj-button-height);height:var(--mj-button-height);min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--paper) 45%,var(--mj-color-white));color:var(--ink);gap:0}
body.a .back-to-top svg{display:block;flex:none}

/* RC30: enlarge the hit surface without shifting the visible link baseline. */
body.a :is(.contact-direct>a,.contact-footnote>a,.about-profile-link){position:relative}
body.a :is(.contact-direct>a,.contact-footnote>a,.about-profile-link)::after{content:'';position:absolute;inset:50% -4px auto;height:max(44px,100%);transform:translateY(-50%)}
