
/* Clear choices, visible feedback and consistent touch targets. */
.editorial .project-shortcuts {display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem;margin:1.75rem 0 0;}
.editorial .project-shortcuts a {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.55rem 1rem;border:1px solid var(--line);border-radius:100px;color:var(--ink);font-size:.85rem;line-height:1.4;text-decoration:none;}
.editorial .project-shortcuts a:hover {background:var(--paper-deep);border-color:var(--muted);}
.editorial .case-arc button:not([data-slot="carousel-card"]), .editorial .case-arc .arc-open {min-width:44px;min-height:44px;}
.editorial .site-nav a {min-height:44px;display:inline-flex;align-items:center;}
.editorial .site-nav a[aria-current="page"] {text-decoration:underline;text-underline-offset:.3em;}
.editorial :is(a,button):focus-visible {outline:3px solid var(--ink);outline-offset:4px;}
.editorial .film-toggle:focus-visible, .editorial .image-lightbox button:focus-visible {outline-color:#fff;}
.editorial .film-status {position:absolute;z-index:3;left:1rem;right:1rem;bottom:4.8rem;margin:0;padding:.75rem;background:#0b1730e8;color:#fff;border-radius:4px;font-size:.85rem;line-height:1.45;}
.editorial .film-status[hidden] {display:none;}
.editorial .editorial-contact .contact-address {overflow-wrap:anywhere;}
.editorial .motion-heading {opacity:1;transform:none;}
.editorial .reveal {opacity:1;transform:none;}
@media(max-width:760px) {
 .editorial .site-nav a {min-height:48px;}
 .editorial .project-shortcuts {display:grid;grid-template-columns:1fr 1fr;text-align:center;}
 .editorial .project-shortcuts a {border-radius:8px;padding:.65rem .5rem;}
 .editorial .project-shortcuts a:last-child {grid-column:1 / -1;}
}
@media(max-width:360px) {
 .editorial .site-header {display:grid;grid-template-columns:1fr auto;row-gap:.5rem;}
 .editorial .brand {grid-column:1;grid-row:1;}
 .editorial .menu-toggle {grid-column:2;grid-row:1;}
 .editorial .theme-toggle {grid-column:2;grid-row:2;justify-self:end;}
}
@media(prefers-reduced-motion:reduce) {
 .editorial *, .editorial *::before, .editorial *::after {scroll-behavior:auto!important;animation:none!important;transition:none!important;}
}


/* Shared interaction feedback, without changing carousel card geometry. */
.editorial {--button-shadow:0 5px 16px #07172c24;}
.editorial :is(.hero-primary,.button,.case-detail-button,.arc-open,.project-shortcuts a,.menu-toggle,.theme-toggle,.film-toggle,.workflow-steps button,.lightbox-close,.lightbox-nav) {
 transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
 -webkit-tap-highlight-color:transparent;
}
.editorial :is(.hero-primary,.button-primary) {background:var(--ink);color:var(--paper);border:1px solid var(--ink);opacity:1;}
.editorial :is(.button-secondary,.project-shortcuts a,.menu-toggle,.theme-toggle) {border-radius:10px;}
.editorial :is(.hero-primary,.button,.arc-open) {border-radius:100px;}
.editorial :is(.line-link,.contact-links a) {background:transparent;opacity:1;transition:color .18s ease,border-color .18s ease;}
.editorial :is(.line-link,.hero-primary) > span {transition:transform .18s ease;}
.editorial .film-visual .film-toggle {background:#0b1730e8;border-color:#ffffff90;box-shadow:0 2px 10px #0003;border-radius:8px;}
.editorial .workflow-steps button {border-radius:10px;}
.editorial .workflow-steps button[aria-pressed="true"] {background:var(--ink);color:var(--paper);border-color:var(--ink);}
.editorial .site-nav a {text-underline-offset:.4em;text-decoration-thickness:1.5px;}
.editorial :is(a,button):focus-visible {outline:3px solid var(--ink);outline-offset:4px;}
.editorial :is(.film-toggle,.lightbox-close,.lightbox-nav):focus-visible {outline-color:#fff;}
.editorial :is(button:disabled,[aria-disabled="true"]) {opacity:.45;cursor:not-allowed;box-shadow:none;transform:none;}
@media (hover:hover) and (pointer:fine) {
 .editorial :is(.hero-primary,.button-primary):hover {background:var(--ink);color:var(--paper);opacity:1;box-shadow:var(--button-shadow);transform:translateY(-2px);}
 .editorial :is(.button-secondary,.case-detail-button,.project-shortcuts a,.menu-toggle,.theme-toggle):hover {background:var(--paper-deep);color:var(--ink);border-color:var(--muted);box-shadow:var(--button-shadow);}
 .editorial .menu-toggle[aria-expanded="true"]:hover {background:var(--ink);color:var(--paper);}
 .editorial .case-arc .arc-open:hover {background:#2c5689;border-color:#8db4e7;color:#fff;box-shadow:var(--button-shadow);transform:translateY(-2px);}
 .editorial .case-arc button:not([data-slot="carousel-card"]):hover {background-color:var(--paper-deep);opacity:1;}
 .editorial .film-visual .film-toggle:hover {background:#163356;border-color:#fff;box-shadow:0 4px 16px #0004;}
 .editorial .workflow-steps button:hover {background:var(--paper-deep);color:var(--ink);border-color:var(--muted);}
 .editorial .workflow-steps button[aria-pressed="true"]:hover {background:var(--ink);color:var(--paper);border-color:var(--ink);}
 .editorial :is(.line-link,.contact-links a):hover {background:transparent;color:var(--ink);border-bottom-color:var(--muted);opacity:1;}
 .editorial .line-link:hover > span {transform:translateX(3px);}
 .editorial .hero-primary:hover > span {transform:translate(2px,2px);}
 .editorial :is(.lightbox-close,.lightbox-nav):hover {background:#234a7b;color:#fff;border-color:#fff;}
 .editorial :is(button:disabled,[aria-disabled="true"]):hover {box-shadow:none;transform:none;}
}
@media (hover:none) {
 .editorial :is(.hero-primary,.button-primary):hover {background:var(--ink);color:var(--paper);opacity:1;}
 .editorial :is(.line-link,.contact-links a):hover {background:transparent;}
 .editorial .line-link:hover > span {transform:none;}
 .editorial .workflow-steps button[aria-pressed="true"]:hover {background:var(--ink);color:var(--paper);}
}
.editorial :is(.hero-primary,.button,.case-detail-button,.arc-open,.project-shortcuts a,.menu-toggle,.theme-toggle,.film-toggle,.workflow-steps button,.lightbox-close,.lightbox-nav):active {transform:translateY(1px);box-shadow:none;}
.editorial :is(.hero-primary,.button-primary):active {background:var(--ink);color:var(--paper);opacity:.9;}
.editorial :is(.line-link,.contact-links a):active {opacity:.75;}
@media (prefers-reduced-motion:reduce) {
 .editorial :is(.hero-primary,.button,.case-detail-button,.arc-open,.project-shortcuts a,.menu-toggle,.theme-toggle,.film-toggle,.workflow-steps button,.lightbox-close,.lightbox-nav),
 .editorial :is(.line-link,.hero-primary) > span {transform:none!important;transition:none!important;}
}

/* Menu underline enters from the left and leaves toward the right. */
.editorial .site-nav a {position:relative;min-width:44px;text-decoration:none!important;}
.editorial .site-nav a::after {content:"";position:absolute;left:0;right:0;bottom:5px;height:2px;border-radius:2px;background:currentColor;opacity:.85;transform:scaleX(0);transform-origin:right center;transition:transform .24s ease,opacity .24s ease;pointer-events:none;}
.editorial .site-nav a[aria-current="page"]::after {transform:scaleX(1);opacity:.5;}
.editorial .site-nav a:focus-visible::after {transform:scaleX(1);transform-origin:left center;opacity:1;}
@media(hover:hover) and (pointer:fine) {
 .editorial .site-nav a:hover::after {transform:scaleX(1);transform-origin:left center;opacity:1;}
}
@media(max-width:760px) {
 .editorial .site-nav a {width:fit-content;max-width:100%;}
 .editorial .site-nav a::after {bottom:7px;}
}
@media(prefers-reduced-motion:reduce) {.editorial .site-nav a::after {transition:none;}}

/* Flat header controls retain color feedback and the animated underline. */
.editorial .site-header {box-shadow:none!important;}
.editorial .site-header :is(button,a),
.editorial .site-header :is(button,a):hover,
.editorial .site-header :is(button,a):active {box-shadow:none;transform:none;text-shadow:none;}
